File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001eb953
    001eb953 // align 0x10
    001eb960
    001eb960Stdlib.Scanf.scan_float:
    001eb960lea r10, [rsp-360]
    001eb968cmp r10, [r14+40]
    001eb96cjb 0x1ebba8
    001eb972
    001eb972loc_1eb972:
    001eb972sub rsp, 24
    001eb976mov [rsp+8], rbx
    001eb97bmov rbx, rdi
    001eb97emov [rsp+16], rbx
    001eb983call Stdlib.Scanf.scan_sign
    001eb988mov rbx, [rsp+16]
    001eb98dcall Stdlib.Scanf.scan_decimal_digit_star
    001eb992cmp rax, 1
    001eb996jne 0x1eb9c8
    001eb998sub r15, 24
    001eb99ccmp r15, [r14]
    001eb99fjb 0x1ebb9e
    001eb9a5
    001eb9a5loc_1eb9a5:
    001eb9a5lea rbx, [r15+8]
    001eb9a9mov [rbx-8], 2048
    001eb9b1mov [rbx], rax
    001eb9b4mov rax, [rsp+8]
    001eb9b9mov [rbx+8], rax
    001eb9bdmov rax, rbx
    001eb9c0add rsp, 24
    001eb9c4ret
    001eb9c5
    001eb9c5 0f 1f 00 ...
    001eb9c8
    001eb9c8loc_1eb9c8:
    001eb9c8mov [rsp], rax
    001eb9ccmov rdi, [rsp+16]
    001eb9d1mov rax, [rdi+16]
    001eb9d5cmp rax, 1
    001eb9d9je 0x1eb9e4
    001eb9dbmov rbx, [rdi+8]
    001eb9dfjmp 0x1eba83
    001eb9e4
    001eb9e4loc_1eb9e4:
    001eb9e4mov [rsp+16], rdi
    001eb9e9lea r11, [rip+84]
    001eb9f0push r11
    001eb9f2push [r14+48]
    001eb9f6mov [r14+48], rsp
    001eb9famov rbx, [rdi+48]
    001eb9femov eax, 1
    001eba03mov rdi, [rbx]
    001eba06call rdi
    001eba08mov rdi, [rsp+32]
    001eba0dmov [rdi+8], rax
    001eba11mov [rdi+16], 3
    001eba19mov rbx, [rdi+24]
    001eba1dadd rbx, 2
    001eba21mov [rdi+24], rbx
    001eba25cmp rax, 21
    001eba29jne 0x1eba37
    001eba2bmov rbx, [rdi+32]
    001eba2fadd rbx, 2
    001eba33mov [rdi+32], rbx
    001eba37
    001eba37loc_1eba37:
    001eba37pop [r14+48]
    001eba3badd rsp, 8
    001eba3fjmp 0x1eba80
    001eba41
    001eba41 0f 1f 00 ...
    001eba44lea rbx, [rip+0x141bcd]
    001eba4bmov rbx, [rbx+88]
    001eba4fcmp rax, rbx
    001eba52jne 0x1eba78
    001eba54mov rdi, [rsp+16]
    001eba59mov [rdi+8], 1
    001eba61mov [rdi+16], 1
    001eba69mov [rdi], 3
    001eba70mov eax, 1
    001eba75jmp 0x1eba80
    001eba77
    001eba77 90 .
    001eba78
    001eba78loc_1eba78:
    001eba78call caml_reraise_exn
    001eba7dnop [rax]
    001eba80
    001eba80loc_1eba80:
    001eba80mov rbx, rax
    001eba83
    001eba83loc_1eba83:
    001eba83mov rax, [rdi]
    001eba86cmp rax, 1
    001eba8aje 0x1ebabc
    001eba8csub r15, 24
    001eba90cmp r15, [r14]
    001eba93jb 0x1ebb94
    001eba99
    001eba99loc_1eba99:
    001eba99lea rax, [r15+8]
    001eba9dmov [rax-8], 2048
    001ebaa5mov rbx, [rsp]
    001ebaa9mov [rax], rbx
    001ebaacmov rbx, [rsp+8]
    001ebab1mov [rax+8], rbx
    001ebab5add rsp, 24
    001ebab9ret
    001ebaba
    001ebaba 66 90 f.
    001ebabc
    001ebabcloc_1ebabc:
    001ebabccmp rbx, 93
    001ebac0je 0x1ebafc
    001ebac2mov rax, [rsp]
    001ebac6mov rbx, rdi
    001ebac9call Stdlib.Scanf.scan_exponent_part
    001ebacesub r15, 24
    001ebad2cmp r15, [r14]
    001ebad5jb 0x1ebb8a
    001ebadb
    001ebadbloc_1ebadb:
    001ebadblea rbx, [r15+8]
    001ebadfmov [rbx-8], 2048
    001ebae7mov [rbx], rax
    001ebaeamov rax, [rsp+8]
    001ebaefmov [rbx+8], rax
    001ebaf3mov rax, rbx
    001ebaf6add rsp, 24
    001ebafaret
    001ebafb
    001ebafb 90 .
    001ebafc
    001ebafcloc_1ebafc:
    001ebafcmov [rsp+16], rdi
    001ebb01mov rax, [rdi+56]
    001ebb05call Stdlib.Buffer.add_char
    001ebb0amov rax, [rsp]
    001ebb0eadd rax, -2
    001ebb12mov rbx, [rsp+16]
    001ebb17mov [rbx+16], 1
    001ebb1fmov [rsp], rax
    001ebb23mov rdi, [rsp+8]
    001ebb28cmp rax, rdi
    001ebb2bjg 0x1ebb34
    001ebb2dmov [rsp+8], rax
    001ebb32jmp 0x1ebb3c
    001ebb34
    001ebb34loc_1ebb34:
    001ebb34mov rax, rdi
    001ebb37mov [rsp+8], rax
    001ebb3c
    001ebb3cloc_1ebb3c:
    001ebb3ccall Stdlib.Scanf.scan_fractional_part
    001ebb41mov rbx, [rsp+8]
    001ebb46sub rbx, rax
    001ebb49mov rax, [rsp]
    001ebb4dsub rax, rbx
    001ebb50mov rbx, [rsp+16]
    001ebb55call Stdlib.Scanf.scan_exponent_part
    001ebb5asub r15, 24
    001ebb5ecmp r15, [r14]
    001ebb61jb 0x1ebb83
    001ebb63
    001ebb63loc_1ebb63:
    001ebb63lea rbx, [r15+8]
    001ebb67mov [rbx-8], 2048
    001ebb6fmov [rbx], rax
    001ebb72mov rax, [rsp+8]
    001ebb77mov [rbx+8], rax
    001ebb7bmov rax, rbx
    001ebb7eadd rsp, 24
    001ebb82ret
    001ebb83
    001ebb83loc_1ebb83:
    001ebb83call caml_call_gc
    001ebb88jmp 0x1ebb63
    001ebb8a
    001ebb8aloc_1ebb8a:
    001ebb8acall caml_call_gc
    001ebb8fjmp 0x1ebadb
    001ebb94
    001ebb94loc_1ebb94:
    001ebb94call caml_call_gc
    001ebb99jmp 0x1eba99
    001ebb9e
    001ebb9eloc_1ebb9e:
    001ebb9ecall caml_call_gc
    001ebba3jmp 0x1eb9a5
    001ebba8
    001ebba8loc_1ebba8:
    001ebba8push 38
    001ebbaacall caml_call_realloc_stack
    001ebbafpop r10
    001ebbb1jmp 0x1eb972
    001eb960
    001ebbb6
    001ebbb6 // align 0x10
    001ebbc0
    001ebbc0Stdlib.Scanf.check_case_insensitive_string:
    001ebbc0lea r10, [rsp-400]
    001ebbc8cmp r10, [r14+40]
    001ebbccjb 0x1ebdfa
    001ebbd2
    001ebbd2loc_1ebbd2:
    001ebbd2sub rsp, 64
    001ebbd6mov rdx, [rsi-8]
    001ebbdashr rdx, 10
    001ebbdelea rdx, [8*rdx-1]
    001ebbe6movzx rcx, [rsi+rdx]
    001ebbebsub rdx, rcx
    001ebbeelea rdx, [rdx+rdx+1]
    001ebbf3mov ecx, 1
    001ebbf8add rdx, -2
    001ebbfccmp rcx, rdx
    001ebbffjg 0x1ebde6
    001ebc05mov [rsp+40], rdx
    001ebc0amov [rsp+32], rcx
    001ebc0fmov [rsp+16], rax
    001ebc14mov [rsp], rsi
    001ebc18mov [rsp+48], rdi
    001ebc1dmov [rsp+56], rbx
    001ebc22
    001ebc22loc_1ebc22:
    001ebc22mov rax, [rbx+16]
    001ebc26cmp rax, 1
    001ebc2aje 0x1ebc3c
    001ebc2cmov rax, [rbx+8]
    001ebc30mov [rsp+24], rax
    001ebc35jmp 0x1ebcd5
    001ebc3a
    001ebc3a 66 90 f.
    001ebc3c
    001ebc3cloc_1ebc3c:
    001ebc3clea r11, [rip+81]
    001ebc43push r11
    001ebc45push [r14+48]
    001ebc49mov [r14+48], rsp
    001ebc4dmov rbx, [rbx+48]
    001ebc51mov eax, 1
    001ebc56mov rdi, [rbx]
    001ebc59call rdi
    001ebc5bmov rdi, [rsp+72]
    001ebc60mov [rdi+8], rax
    001ebc64mov [rdi+16], 3
    001ebc6cmov rbx, [rdi+24]
    001ebc70add rbx, 2
    001ebc74mov [rdi+24], rbx
    001ebc78cmp rax, 21
    001ebc7cjne 0x1ebc8a
    001ebc7emov rbx, [rdi+32]
    001ebc82add rbx, 2
    001ebc86mov [rdi+32], rbx
    001ebc8a
    001ebc8aloc_1ebc8a:
    001ebc8apop [r14+48]
    001ebc8eadd rsp, 8
    001ebc92jmp 0x1ebcd0
    001ebc94lea rbx, [rip+0x14197d]
    001ebc9bmov rbx, [rbx+88]
    001ebc9fcmp rax, rbx
    001ebca2jne 0x1ebcc8
    001ebca4mov rax, [rsp+56]
    001ebca9mov [rax+8], 1
    001ebcb1mov [rax+16], 1
    001ebcb9mov [rax], 3
    001ebcc0mov eax, 1
    001ebcc5jmp 0x1ebcd0
    001ebcc7
    001ebcc7 90 .
    001ebcc8
    001ebcc8loc_1ebcc8:
    001ebcc8call caml_reraise_exn
    001ebccdnop [rax]
    001ebcd0
    001ebcd0loc_1ebcd0:
    001ebcd0mov [rsp+24], rax
    001ebcd5
    001ebcd5loc_1ebcd5:
    001ebcd5mov rax, [rsp+32]
    001ebcdasar rax, 1
    001ebcddmov rsi, [rsp]
    001ebce1mov rbx, [rsi-8]
    001ebce5shr rbx, 10
    001ebce9lea rbx, [8*rbx-1]
    001ebcf1movzx rdi, [rsi+rbx]
    001ebcf6sub rbx, rdi
    001ebcf9cmp rbx, rax
    001ebcfcjbe 0x1ebdf5
    001ebd02movzx rax, [rsi+rax]
    001ebd07lea rax, [rax+rax+1]
    001ebd0cmov rbx, rax
    001ebd0fadd rbx, -130
    001ebd16cmp rbx, 51
    001ebd1ajbe 0x1ebd24
    001ebd1cmov [rsp+8], rax
    001ebd21jmp 0x1ebd32
    001ebd23
    001ebd23 90 .
    001ebd24
    001ebd24loc_1ebd24:
    001ebd24add rax, 64
    001ebd28call camlStdlib.char_of_int_148
    001ebd2dmov [rsp+8], rax
    001ebd32
    001ebd32loc_1ebd32:
    001ebd32mov rax, [rsp+24]
    001ebd37mov rbx, rax
    001ebd3aadd rbx, -130
    001ebd41cmp rbx, 51
    001ebd45jbe 0x1ebd4c
    001ebd47jmp 0x1ebd55
    001ebd49
    001ebd49 0f 1f 00 ...
    001ebd4c
    001ebd4cloc_1ebd4c:
    001ebd4cadd rax, 64
    001ebd50call camlStdlib.char_of_int_148
    001ebd55
    001ebd55loc_1ebd55:
    001ebd55mov rbx, [rsp+8]
    001ebd5acmp rax, rbx
    001ebd5dje 0x1ebd6e
    001ebd5fmov eax, 1
    001ebd64mov rbx, [rsp+48]
    001ebd69mov rdi, [rbx]
    001ebd6ccall rdi
    001ebd6e
    001ebd6eloc_1ebd6e:
    001ebd6emov rax, [rsp+16]
    001ebd73cmp rax, 1
    001ebd77jne 0x1ebd88
    001ebd79mov eax, 1
    001ebd7emov rbx, [rsp+48]
    001ebd83mov rdi, [rbx]
    001ebd86call rdi
    001ebd88
    001ebd88loc_1ebd88:
    001ebd88mov rax, [rsp+16]
    001ebd8dmov [rsp+8], rax
    001ebd92mov rax, [rsp+56]
    001ebd97mov rax, [rax+56]
    001ebd9bmov rbx, [rsp+24]
    001ebda0call Stdlib.Buffer.add_char
    001ebda5mov rax, [rsp+8]
    001ebdaaadd rax, -2
    001ebdaemov rbx, [rsp+56]
    001ebdb3mov [rbx+16], 1
    001ebdbbmov [rsp+16], rax
    001ebdc0mov rsi, [rsp+32]
    001ebdc5mov rdi, rsi
    001ebdc8add rsi, 2
    001ebdccmov [rsp+32], rsi
    001ebdd1mov rsi, [rsp+40]
    001ebdd6cmp rdi, rsi
    001ebdd9je 0x1ebde6
    001ebddbcmp r15, [r14]
    001ebddeja 0x1ebc22
    001ebde4jmp 0x1ebdeb
    001ebde6
    001ebde6loc_1ebde6:
    001ebde6add rsp, 64
    001ebdearet
    001ebdeb
    001ebdebloc_1ebdeb:
    001ebdebcall caml_call_gc
    001ebdf0jmp 0x1ebc22
    001ebdf5
    001ebdf5loc_1ebdf5:
    001ebdf5call caml_ml_array_bound_error
    001ebdfa
    001ebdfaloc_1ebdfa:
    001ebdfapush 43
    001ebdfccall caml_call_realloc_stack
    001ebe01pop r10
    001ebe03jmp 0x1ebbd2
    001ebbc0
    001ebe08
    001ebe08 // align 0x10
    001ebe10
    001ebe10Stdlib.Scanf.lowercase:
    001ebe10mov rbx, rax
    001ebe13add rbx, -130
    001ebe1acmp rbx, 51
    001ebe1ejbe 0x1ebe24
    001ebe20ret
    001ebe21
    001ebe21 0f 1f 00 ...
    001ebe24
    001ebe24loc_1ebe24:
    001ebe24add rax, 64
    001ebe28jmp 0x195c60
    001ebe10
    001ebe2d
    001ebe2d // align 0x10
    001ebe30
    001ebe30Stdlib.Scanf.scan_hex_float:
    001ebe30lea r10, [rsp-368]
    001ebe38cmp r10, [r14+40]
    001ebe3cjb 0x1ecd89
    001ebe42
    001ebe42loc_1ebe42:
    001ebe42sub rsp, 32
    001ebe46cmp rax, 1
    001ebe4aje 0x1ebf0c
    001ebe50mov [rsp+8], rbx
    001ebe55mov [rsp], rax
    001ebe59mov rax, [rdi+16]
    001ebe5dcmp rax, 1
    001ebe61jne 0x1ebefc
    001ebe67mov [rsp+24], rdi
    001ebe6clea r11, [rip+81]
    001ebe73push r11
    001ebe75push [r14+48]
    001ebe79mov [r14+48], rsp
    001ebe7dmov rbx, [rdi+48]
    001ebe81mov eax, 1
    001ebe86mov rdi, [rbx]
    001ebe89call rdi
    001ebe8bmov rdi, [rsp+40]
    001ebe90mov [rdi+8], rax
    001ebe94mov [rdi+16], 3
    001ebe9cmov rbx, [rdi+24]
    001ebea0add rbx, 2
    001ebea4mov [rdi+24], rbx
    001ebea8cmp rax, 21
    001ebeacjne 0x1ebeba
    001ebeaemov rax, [rdi+32]
    001ebeb2add rax, 2
    001ebeb6mov [rdi+32], rax
    001ebeba
    001ebebaloc_1ebeba:
    001ebebapop [r14+48]
    001ebebeadd rsp, 8
    001ebec2jmp 0x1ebefc
    001ebec4lea rbx, [rip+0x14174d]
    001ebecbmov rbx, [rbx+88]
    001ebecfcmp rax, rbx
    001ebed2jne 0x1ebef4
    001ebed4mov rdi, [rsp+24]
    001ebed9mov [rdi+8], 1
    001ebee1mov [rdi+16], 1
    001ebee9mov [rdi], 3
    001ebef0jmp 0x1ebefc
    001ebef2
    001ebef2 66 90 f.
    001ebef4
    001ebef4loc_1ebef4:
    001ebef4call caml_reraise_exn
    001ebef9nop [rax]
    001ebefc
    001ebefcloc_1ebefc:
    001ebefcmov rax, [rdi]
    001ebeffcmp rax, 1
    001ebf03jne 0x1ebf0c
    001ebf05mov [rsp+24], rdi
    001ebf0ajmp 0x1ebf44
    001ebf0c
    001ebf0cloc_1ebf0c:
    001ebf0csub r15, 24
    001ebf10cmp r15, [r14]
    001ebf13jb 0x1ecd7f
    001ebf19
    001ebf19loc_1ebf19:
    001ebf19lea rax, [r15+8]
    001ebf1dmov [rax-8], 2048
    001ebf25lea rbx, [rip+0x181254]
    001ebf2cmov rbx, [rbx+8]
    001ebf30mov [rax], rbx
    001ebf33lea rbx, [rip+0x181e76]
    001ebf3amov [rax+8], rbx
    001ebf3ecall caml_raise_exn
    001ebf43nop
    001ebf44
    001ebf44loc_1ebf44:
    001ebf44mov rax, [rsp]
    001ebf48mov rbx, rdi
    001ebf4bcall Stdlib.Scanf.scan_sign
    001ebf50cmp rax, 1
    001ebf54je 0x1ec011
    001ebf5amov [rsp], rax
    001ebf5emov rdi, [rsp+24]
    001ebf63mov rax, [rdi+16]
    001ebf67cmp rax, 1
    001ebf6bjne 0x1ec008
    001ebf71mov [rsp+24], rdi
    001ebf76lea r11, [rip+83]
    001ebf7dpush r11
    001ebf7fpush [r14+48]
    001ebf83mov [r14+48], rsp
    001ebf87mov rbx, [rdi+48]
    001ebf8bmov eax, 1
    001ebf90mov rdi, [rbx]
    001ebf93call rdi
    001ebf95mov rdi, [rsp+40]
    001ebf9amov [rdi+8], rax
    001ebf9emov [rdi+16], 3
    001ebfa6mov rbx, [rdi+24]
    001ebfaaadd rbx, 2
    001ebfaemov [rdi+24], rbx
    001ebfb2cmp rax, 21
    001ebfb6jne 0x1ebfc4
    001ebfb8mov rax, [rdi+32]
    001ebfbcadd rax, 2
    001ebfc0mov [rdi+32], rax
    001ebfc4
    001ebfc4loc_1ebfc4:
    001ebfc4pop [r14+48]
    001ebfc8add rsp, 8
    001ebfccjmp 0x1ec008
    001ebfce
    001ebfce 66 90 f.
    001ebfd0lea rbx, [rip+0x141641]
    001ebfd7mov rbx, [rbx+88]
    001ebfdbcmp rax, rbx
    001ebfdejne 0x1ec000
    001ebfe0mov rdi, [rsp+24]
    001ebfe5mov [rdi+8], 1
    001ebfedmov [rdi+16], 1
    001ebff5mov [rdi], 3
    001ebffcjmp 0x1ec008
    001ebffe
    001ebffe 66 90 f.
    001ec000
    001ec000loc_1ec000:
    001ec000call caml_reraise_exn
    001ec005nop [rax]
    001ec008
    001ec008loc_1ec008:
    001ec008mov rax, [rdi]
    001ec00bcmp rax, 1
    001ec00fje 0x1ec048
    001ec011
    001ec011loc_1ec011:
    001ec011sub r15, 24
    001ec015cmp r15, [r14]
    001ec018jb 0x1ecd75
    001ec01e
    001ec01eloc_1ec01e:
    001ec01elea rax, [r15+8]
    001ec022mov [rax-8], 2048
    001ec02alea rbx, [rip+0x18114f]
    001ec031mov rbx, [rbx+8]
    001ec035mov [rax], rbx
    001ec038lea rbx, [rip+0x181d71]
    001ec03fmov [rax+8], rbx
    001ec043call caml_raise_exn
    001ec048
    001ec048loc_1ec048:
    001ec048mov rax, [rdi+16]
    001ec04ccmp rax, 1
    001ec050je 0x1ec05c
    001ec052mov rbx, [rdi+8]
    001ec056jmp 0x1ec0fb
    001ec05b
    001ec05b 90 .
    001ec05c
    001ec05cloc_1ec05c:
    001ec05cmov [rsp+24], rdi
    001ec061lea r11, [rip+84]
    001ec068push r11
    001ec06apush [r14+48]
    001ec06emov [r14+48], rsp
    001ec072mov rbx, [rdi+48]
    001ec076mov eax, 1
    001ec07bmov rdi, [rbx]
    001ec07ecall rdi
    001ec080mov rdi, [rsp+40]
    001ec085mov [rdi+8], rax
    001ec089mov [rdi+16], 3
    001ec091mov rbx, [rdi+24]
    001ec095add rbx, 2
    001ec099mov [rdi+24], rbx
    001ec09dcmp rax, 21
    001ec0a1jne 0x1ec0af
    001ec0a3mov rbx, [rdi+32]
    001ec0a7add rbx, 2
    001ec0abmov [rdi+32], rbx
    001ec0af
    001ec0afloc_1ec0af:
    001ec0afpop [r14+48]
    001ec0b3add rsp, 8
    001ec0b7jmp 0x1ec0f8
    001ec0b9
    001ec0b9 0f 1f 00 ...
    001ec0bclea rbx, [rip+0x141555]
    001ec0c3mov rbx, [rbx+88]
    001ec0c7cmp rax, rbx
    001ec0cajne 0x1ec0f0
    001ec0ccmov rdi, [rsp+24]
    001ec0d1mov [rdi+8], 1
    001ec0d9mov [rdi+16], 1
    001ec0e1mov [rdi], 3
    001ec0e8mov eax, 1
    001ec0edjmp 0x1ec0f8
    001ec0ef
    001ec0ef 90 .
    001ec0f0
    001ec0f0loc_1ec0f0:
    001ec0f0call caml_reraise_exn
    001ec0f5nop [rax]
    001ec0f8
    001ec0f8loc_1ec0f8:
    001ec0f8mov rbx, rax
    001ec0fb
    001ec0fbloc_1ec0fb:
    001ec0fbcmp rbx, 157
    001ec102jl 0x1ec274
    001ec108mov rax, rbx
    001ec10badd rax, -158
    001ec111cmp rax, 61
    001ec115jbe 0x1ec260
    001ec11bcmp rax, 65
    001ec11fjge 0x1ecbe4
    001ec125mov [rsp+24], rdi
    001ec12amov rax, [rdi+56]
    001ec12ecall Stdlib.Buffer.add_char
    001ec133mov rax, [rsp]
    001ec137add rax, -2
    001ec13bmov rbx, [rsp+24]
    001ec140mov [rbx+16], 1
    001ec148cmp rax, 1
    001ec14cje 0x1ec205
    001ec152mov [rsp], rax
    001ec156mov rax, [rbx+16]
    001ec15acmp rax, 1
    001ec15ejne 0x1ec1fc
    001ec164mov [rsp+24], rbx
    001ec169lea r11, [rip+84]
    001ec170push r11
    001ec172push [r14+48]
    001ec176mov [r14+48], rsp
    001ec17amov rbx, [rbx+48]
    001ec17emov eax, 1
    001ec183mov rdi, [rbx]
    001ec186call rdi
    001ec188mov rbx, [rsp+40]
    001ec18dmov [rbx+8], rax
    001ec191mov [rbx+16], 3
    001ec199mov rdi, [rbx+24]
    001ec19dadd rdi, 2
    001ec1a1mov [rbx+24], rdi
    001ec1a5cmp rax, 21
    001ec1a9jne 0x1ec1b7
    001ec1abmov rax, [rbx+32]
    001ec1afadd rax, 2
    001ec1b3mov [rbx+32], rax
    001ec1b7
    001ec1b7loc_1ec1b7:
    001ec1b7pop [r14+48]
    001ec1bbadd rsp, 8
    001ec1bfjmp 0x1ec1fc
    001ec1c1
    001ec1c1 0f 1f 00 ...
    001ec1c4lea rbx, [rip+0x14144d]
    001ec1cbmov rbx, [rbx+88]
    001ec1cfcmp rax, rbx
    001ec1d2jne 0x1ec1f4
    001ec1d4mov rbx, [rsp+24]
    001ec1d9mov [rbx+8], 1
    001ec1e1mov [rbx+16], 1
    001ec1e9mov [rbx], 3
    001ec1f0jmp 0x1ec1fc
    001ec1f2
    001ec1f2 66 90 f.
    001ec1f4
    001ec1f4loc_1ec1f4:
    001ec1f4call caml_reraise_exn
    001ec1f9nop [rax]
    001ec1fc
    001ec1fcloc_1ec1fc:
    001ec1fcmov rax, [rbx]
    001ec1ffcmp rax, 1
    001ec203je 0x1ec23c
    001ec205
    001ec205loc_1ec205:
    001ec205sub r15, 24
    001ec209cmp r15, [r14]
    001ec20cjb 0x1ecd6b
    001ec212
    001ec212loc_1ec212:
    001ec212lea rax, [r15+8]
    001ec216mov [rax-8], 2048
    001ec21elea rbx, [rip+0x180f5b]
    001ec225mov rbx, [rbx+8]
    001ec229mov [rax], rbx
    001ec22clea rbx, [rip+0x181b7d]
    001ec233mov [rax+8], rbx
    001ec237call caml_raise_exn
    001ec23c
    001ec23cloc_1ec23c:
    001ec23clea rsi, [rip+0x181705]
    001ec243lea rax, [rip+0x180f36]
    001ec24amov rdi, [rax+152]
    001ec251mov rax, [rsp]
    001ec255add rsp, 32
    001ec259jmp 0x1ebbc0
    001ec25e
    001ec25e 66 90 f.
    001ec260
    001ec260loc_1ec260:
    001ec260cmp rax, 53
    001ec264jne 0x1ecbe4
    001ec26amov [rsp+24], rdi
    001ec26fjmp 0x1ecc1c
    001ec274
    001ec274loc_1ec274:
    001ec274cmp rbx, 97
    001ec278je 0x1ec294
    001ec27acmp rbx, 147
    001ec281jne 0x1ecbe4
    001ec287mov [rsp+24], rdi
    001ec28cjmp 0x1ecc1c
    001ec291
    001ec291 0f 1f 00 ...
    001ec294
    001ec294loc_1ec294:
    001ec294mov [rsp+24], rdi
    001ec299mov rax, [rdi+56]
    001ec29dcall Stdlib.Buffer.add_char
    001ec2a2mov rax, [rsp]
    001ec2a6add rax, -2
    001ec2aamov rbx, [rsp+24]
    001ec2afmov [rbx+16], 1
    001ec2b7cmp rax, 1
    001ec2bbje 0x1ec378
    001ec2c1mov [rsp], rax
    001ec2c5mov rax, [rbx+16]
    001ec2c9cmp rax, 1
    001ec2cdjne 0x1ec368
    001ec2d3mov [rsp+24], rbx
    001ec2d8lea r11, [rip+81]
    001ec2dfpush r11
    001ec2e1push [r14+48]
    001ec2e5mov [r14+48], rsp
    001ec2e9mov rbx, [rbx+48]
    001ec2edmov eax, 1
    001ec2f2mov rdi, [rbx]
    001ec2f5call rdi
    001ec2f7mov rbx, [rsp+40]
    001ec2fcmov [rbx+8], rax
    001ec300mov [rbx+16], 3
    001ec308mov rdi, [rbx+24]
    001ec30cadd rdi, 2
    001ec310mov [rbx+24], rdi
    001ec314cmp rax, 21
    001ec318jne 0x1ec326
    001ec31amov rax, [rbx+32]
    001ec31eadd rax, 2
    001ec322mov [rbx+32], rax
    001ec326
    001ec326loc_1ec326:
    001ec326pop [r14+48]
    001ec32aadd rsp, 8
    001ec32ejmp 0x1ec368
    001ec330lea rbx, [rip+0x1412e1]
    001ec337mov rbx, [rbx+88]
    001ec33bcmp rax, rbx
    001ec33ejne 0x1ec360
    001ec340mov rbx, [rsp+24]
    001ec345mov [rbx+8], 1
    001ec34dmov [rbx+16], 1
    001ec355mov [rbx], 3
    001ec35cjmp 0x1ec368
    001ec35e
    001ec35e 66 90 f.
    001ec360
    001ec360loc_1ec360:
    001ec360call caml_reraise_exn
    001ec365nop [rax]
    001ec368
    001ec368loc_1ec368:
    001ec368mov rax, [rbx]
    001ec36bcmp rax, 1
    001ec36fjne 0x1ec378
    001ec371mov [rsp+24], rbx
    001ec376jmp 0x1ec3b0
    001ec378
    001ec378loc_1ec378:
    001ec378sub r15, 24
    001ec37ccmp r15, [r14]
    001ec37fjb 0x1ecd61
    001ec385
    001ec385loc_1ec385:
    001ec385lea rax, [r15+8]
    001ec389mov [rax-8], 2048
    001ec391lea rbx, [rip+0x180de8]
    001ec398mov rbx, [rbx+8]
    001ec39cmov [rax], rbx
    001ec39flea rbx, [rip+0x181a0a]
    001ec3a6mov [rax+8], rbx
    001ec3aacall caml_raise_exn
    001ec3afnop
    001ec3b0
    001ec3b0loc_1ec3b0:
    001ec3b0lea rsi, [rip+0x181581]
    001ec3b7lea rax, [rip+0x180dc2]
    001ec3bemov rdi, [rax+152]
    001ec3c5mov rax, [rsp]
    001ec3c9call Stdlib.Scanf.check_case_insensitive_string
    001ec3cemov [rsp], rax
    001ec3d2cmp rax, 1
    001ec3d6je 0x1ecbd8
    001ec3dcmov rsi, [rsp+24]
    001ec3e1mov rax, [rsi+16]
    001ec3e5cmp rax, 1
    001ec3e9jne 0x1ec484
    001ec3efmov [rsp+24], rsi
    001ec3f4lea r11, [rip+81]
    001ec3fbpush r11
    001ec3fdpush [r14+48]
    001ec401mov [r14+48], rsp
    001ec405mov rbx, [rsi+48]
    001ec409mov eax, 1
    001ec40emov rdi, [rbx]
    001ec411call rdi
    001ec413mov rsi, [rsp+40]
    001ec418mov [rsi+8], rax
    001ec41cmov [rsi+16], 3
    001ec424mov rbx, [rsi+24]
    001ec428add rbx, 2
    001ec42cmov [rsi+24], rbx
    001ec430cmp rax, 21
    001ec434jne 0x1ec442
    001ec436mov rax, [rsi+32]
    001ec43aadd rax, 2
    001ec43emov [rsi+32], rax
    001ec442
    001ec442loc_1ec442:
    001ec442pop [r14+48]
    001ec446add rsp, 8
    001ec44ajmp 0x1ec484
    001ec44clea rbx, [rip+0x1411c5]
    001ec453mov rbx, [rbx+88]
    001ec457cmp rax, rbx
    001ec45ajne 0x1ec47c
    001ec45cmov rsi, [rsp+24]
    001ec461mov [rsi+8], 1
    001ec469mov [rsi+16], 1
    001ec471mov [rsi], 3
    001ec478jmp 0x1ec484
    001ec47a
    001ec47a 66 90 f.
    001ec47c
    001ec47cloc_1ec47c:
    001ec47ccall caml_reraise_exn
    001ec481nop [rax]
    001ec484
    001ec484loc_1ec484:
    001ec484mov rax, [rsi]
    001ec487cmp rax, 1
    001ec48bjne 0x1ecbd8
    001ec491mov [rsp+24], rsi
    001ec496mov rax, [rsi+16]
    001ec49acmp rax, 1
    001ec49eje 0x1ec4ac
    001ec4a0mov rax, [rsi+8]
    001ec4a4jmp 0x1ec540
    001ec4a9
    001ec4a9 0f 1f 00 ...
    001ec4ac
    001ec4acloc_1ec4ac:
    001ec4aclea r11, [rip+81]
    001ec4b3push r11
    001ec4b5push [r14+48]
    001ec4b9mov [r14+48], rsp
    001ec4bdmov rbx, [rsi+48]
    001ec4c1mov eax, 1
    001ec4c6mov rdi, [rbx]
    001ec4c9call rdi
    001ec4cbmov rsi, [rsp+40]
    001ec4d0mov [rsi+8], rax
    001ec4d4mov [rsi+16], 3
    001ec4dcmov rbx, [rsi+24]
    001ec4e0add rbx, 2
    001ec4e4mov [rsi+24], rbx
    001ec4e8cmp rax, 21
    001ec4ecjne 0x1ec4fa
    001ec4eemov rbx, [rsi+32]
    001ec4f2add rbx, 2
    001ec4f6mov [rsi+32], rbx
    001ec4fa
    001ec4faloc_1ec4fa:
    001ec4fapop [r14+48]
    001ec4feadd rsp, 8
    001ec502jmp 0x1ec540
    001ec504lea rbx, [rip+0x14110d]
    001ec50bmov rbx, [rbx+88]
    001ec50fcmp rax, rbx
    001ec512jne 0x1ec538
    001ec514mov rsi, [rsp+24]
    001ec519mov [rsi+8], 1
    001ec521mov [rsi+16], 1
    001ec529mov [rsi], 3
    001ec530mov eax, 1
    001ec535jmp 0x1ec540
    001ec537
    001ec537 90 .
    001ec538
    001ec538loc_1ec538:
    001ec538call caml_reraise_exn
    001ec53dnop [rax]
    001ec540
    001ec540loc_1ec540:
    001ec540add rax, -92
    001ec544cmp rax, 69
    001ec548jbe 0x1ec554
    001ec54acmp rax, 133
    001ec550je 0x1ec584
    001ec552jmp 0x1ec55e
    001ec554
    001ec554loc_1ec554:
    001ec554add rax, -2
    001ec558cmp rax, 65
    001ec55cja 0x1ec584
    001ec55e
    001ec55eloc_1ec55e:
    001ec55elea rax, [rip+0x180c1b]
    001ec565mov rax, [rax+360]
    001ec56cmov rbx, [rax+32]
    001ec570mov rax, [rax+24]
    001ec574mov rdi, [rsp]
    001ec578call Stdlib.Scanf.scan_digit_plus
    001ec57dmov [rsp], rax
    001ec581jmp 0x1ec58c
    001ec583
    001ec583 90 .
    001ec584
    001ec584loc_1ec584:
    001ec584mov rax, [rsp]
    001ec588mov [rsp], rax
    001ec58c
    001ec58cloc_1ec58c:
    001ec58ccmp rax, 1
    001ec590je 0x1ecbcc
    001ec596mov rdi, [rsp+24]
    001ec59bmov rax, [rdi+16]
    001ec59fcmp rax, 1
    001ec5a3jne 0x1ec640
    001ec5a9mov [rsp+24], rdi
    001ec5aelea r11, [rip+83]
    001ec5b5push r11
    001ec5b7push [r14+48]
    001ec5bbmov [r14+48], rsp
    001ec5bfmov rbx, [rdi+48]
    001ec5c3mov eax, 1
    001ec5c8mov rdi, [rbx]
    001ec5cbcall rdi
    001ec5cdmov rdi, [rsp+40]
    001ec5d2mov [rdi+8], rax
    001ec5d6mov [rdi+16], 3
    001ec5demov rbx, [rdi+24]
    001ec5e2add rbx, 2
    001ec5e6mov [rdi+24], rbx
    001ec5eacmp rax, 21
    001ec5eejne 0x1ec5fc
    001ec5f0mov rax, [rdi+32]
    001ec5f4add rax, 2
    001ec5f8mov [rdi+32], rax
    001ec5fc
    001ec5fcloc_1ec5fc:
    001ec5fcpop [r14+48]
    001ec600add rsp, 8
    001ec604jmp 0x1ec640
    001ec606
    001ec606 66 90 f.
    001ec608lea rbx, [rip+0x141009]
    001ec60fmov rbx, [rbx+88]
    001ec613cmp rax, rbx
    001ec616jne 0x1ec638
    001ec618mov rdi, [rsp+24]
    001ec61dmov [rdi+8], 1
    001ec625mov [rdi+16], 1
    001ec62dmov [rdi], 3
    001ec634jmp 0x1ec640
    001ec636
    001ec636 66 90 f.
    001ec638
    001ec638loc_1ec638:
    001ec638call caml_reraise_exn
    001ec63dnop [rax]
    001ec640
    001ec640loc_1ec640:
    001ec640mov rax, [rdi]
    001ec643cmp rax, 1
    001ec647jne 0x1ecbcc
    001ec64dmov [rsp+24], rdi
    001ec652mov rax, [rdi+16]
    001ec656cmp rax, 1
    001ec65aje 0x1ec668
    001ec65cmov rbx, [rdi+8]
    001ec660jmp 0x1ec6ff
    001ec665
    001ec665 0f 1f 00 ...
    001ec668
    001ec668loc_1ec668:
    001ec668lea r11, [rip+81]
    001ec66fpush r11
    001ec671push [r14+48]
    001ec675mov [r14+48], rsp
    001ec679mov rbx, [rdi+48]
    001ec67dmov eax, 1
    001ec682mov rdi, [rbx]
    001ec685call rdi
    001ec687mov rdi, [rsp+40]
    001ec68cmov [rdi+8], rax
    001ec690mov [rdi+16], 3
    001ec698mov rbx, [rdi+24]
    001ec69cadd rbx, 2
    001ec6a0mov [rdi+24], rbx
    001ec6a4cmp rax, 21
    001ec6a8jne 0x1ec6b6
    001ec6aamov rbx, [rdi+32]
    001ec6aeadd rbx, 2
    001ec6b2mov [rdi+32], rbx
    001ec6b6
    001ec6b6loc_1ec6b6:
    001ec6b6pop [r14+48]
    001ec6baadd rsp, 8
    001ec6bejmp 0x1ec6fc
    001ec6c0lea rbx, [rip+0x140f51]
    001ec6c7mov rbx, [rbx+88]
    001ec6cbcmp rax, rbx
    001ec6cejne 0x1ec6f4
    001ec6d0mov rdi, [rsp+24]
    001ec6d5mov [rdi+8], 1
    001ec6ddmov [rdi+16], 1
    001ec6e5mov [rdi], 3
    001ec6ecmov eax, 1
    001ec6f1jmp 0x1ec6fc
    001ec6f3
    001ec6f3 90 .
    001ec6f4
    001ec6f4loc_1ec6f4:
    001ec6f4call caml_reraise_exn
    001ec6f9nop [rax]
    001ec6fc
    001ec6fcloc_1ec6fc:
    001ec6fcmov rbx, rax
    001ec6ff
    001ec6ffloc_1ec6ff:
    001ec6ffcmp rbx, 93
    001ec703je 0x1ec714
    001ec705mov rax, [rsp]
    001ec709mov [rsp], rax
    001ec70djmp 0x1ec901
    001ec712
    001ec712 66 90 f.
    001ec714
    001ec714loc_1ec714:
    001ec714mov rax, [rdi+56]
    001ec718call Stdlib.Buffer.add_char
    001ec71dmov rax, [rsp]
    001ec721add rax, -2
    001ec725mov rsi, [rsp+24]
    001ec72amov [rsi+16], 1
    001ec732mov [rsp+16], rax
    001ec737cmp rax, 1
    001ec73bje 0x1ec8f8
    001ec741mov rax, [rsi+16]
    001ec745cmp rax, 1
    001ec749jne 0x1ec7e0
    001ec74flea r11, [rip+82]
    001ec756push r11
    001ec758push [r14+48]
    001ec75cmov [r14+48], rsp
    001ec760mov rbx, [rsi+48]
    001ec764mov eax, 1
    001ec769mov rdi, [rbx]
    001ec76ccall rdi
    001ec76emov rsi, [rsp+40]
    001ec773mov [rsi+8], rax
    001ec777mov [rsi+16], 3
    001ec77fmov rbx, [rsi+24]
    001ec783add rbx, 2
    001ec787mov [rsi+24], rbx
    001ec78bcmp rax, 21
    001ec78fjne 0x1ec79d
    001ec791mov rax, [rsi+32]
    001ec795add rax, 2
    001ec799mov [rsi+32], rax
    001ec79d
    001ec79dloc_1ec79d:
    001ec79dpop [r14+48]
    001ec7a1add rsp, 8
    001ec7a5jmp 0x1ec7e0
    001ec7a7
    001ec7a7 90 .
    001ec7a8lea rbx, [rip+0x140e69]
    001ec7afmov rbx, [rbx+88]
    001ec7b3cmp rax, rbx
    001ec7b6jne 0x1ec7d8
    001ec7b8mov rsi, [rsp+24]
    001ec7bdmov [rsi+8], 1
    001ec7c5mov [rsi+16], 1
    001ec7cdmov [rsi], 3
    001ec7d4jmp 0x1ec7e0
    001ec7d6
    001ec7d6 66 90 f.
    001ec7d8
    001ec7d8loc_1ec7d8:
    001ec7d8call caml_reraise_exn
    001ec7ddnop [rax]
    001ec7e0
    001ec7e0loc_1ec7e0:
    001ec7e0mov rax, [rsi]
    001ec7e3cmp rax, 1
    001ec7e7jne 0x1ec8f8
    001ec7edmov rax, [rsi+16]
    001ec7f1cmp rax, 1
    001ec7f5je 0x1ec800
    001ec7f7mov rax, [rsi+8]
    001ec7fbjmp 0x1ec894
    001ec800
    001ec800loc_1ec800:
    001ec800lea r11, [rip+81]
    001ec807push r11
    001ec809push [r14+48]
    001ec80dmov [r14+48], rsp
    001ec811mov rbx, [rsi+48]
    001ec815mov eax, 1
    001ec81amov rdi, [rbx]
    001ec81dcall rdi
    001ec81fmov rsi, [rsp+40]
    001ec824mov [rsi+8], rax
    001ec828mov [rsi+16], 3
    001ec830mov rbx, [rsi+24]
    001ec834add rbx, 2
    001ec838mov [rsi+24], rbx
    001ec83ccmp rax, 21
    001ec840jne 0x1ec84e
    001ec842mov rbx, [rsi+32]
    001ec846add rbx, 2
    001ec84amov [rsi+32], rbx
    001ec84e
    001ec84eloc_1ec84e:
    001ec84epop [r14+48]
    001ec852add rsp, 8
    001ec856jmp 0x1ec894
    001ec858lea rbx, [rip+0x140db9]
    001ec85fmov rbx, [rbx+88]
    001ec863cmp rax, rbx
    001ec866jne 0x1ec88c
    001ec868mov rsi, [rsp+24]
    001ec86dmov [rsi+8], 1
    001ec875mov [rsi+16], 1
    001ec87dmov [rsi], 3
    001ec884mov eax, 1
    001ec889jmp 0x1ec894
    001ec88b
    001ec88b 90 .
    001ec88c
    001ec88cloc_1ec88c:
    001ec88ccall caml_reraise_exn
    001ec891nop [rax]
    001ec894
    001ec894loc_1ec894:
    001ec894cmp rax, 161
    001ec89aje 0x1ec8f0
    001ec89ccmp rax, 225
    001ec8a2je 0x1ec8f0
    001ec8a4mov rdi, [rsp+16]
    001ec8a9mov rax, [rsp+8]
    001ec8aecmp rdi, rax
    001ec8b1jg 0x1ec8bc
    001ec8b3mov [rsp], rdi
    001ec8b7jmp 0x1ec8c3
    001ec8b9
    001ec8b9 0f 1f 00 ...
    001ec8bc
    001ec8bcloc_1ec8bc:
    001ec8bcmov rdi, rax
    001ec8bfmov [rsp], rdi
    001ec8c3
    001ec8c3loc_1ec8c3:
    001ec8c3lea rax, [rip+0x1808b6]
    001ec8camov rax, [rax+360]
    001ec8d1mov rbx, [rax+32]
    001ec8d5mov rax, [rax+24]
    001ec8d9call Stdlib.Scanf.scan_digit_plus
    001ec8demov rbx, [rsp]
    001ec8e2sub rbx, rax
    001ec8e5mov rax, [rsp+16]
    001ec8easub rax, rbx
    001ec8edjmp 0x1ec8fd
    001ec8ef
    001ec8ef 90 .
    001ec8f0
    001ec8f0loc_1ec8f0:
    001ec8f0mov rax, [rsp+16]
    001ec8f5jmp 0x1ec8fd
    001ec8f7
    001ec8f7 90 .
    001ec8f8
    001ec8f8loc_1ec8f8:
    001ec8f8mov rax, [rsp+16]
    001ec8fd
    001ec8fdloc_1ec8fd:
    001ec8fdmov [rsp], rax
    001ec901
    001ec901loc_1ec901:
    001ec901cmp rax, 1
    001ec905je 0x1ecbc0
    001ec90bmov rdi, [rsp+24]
    001ec910mov rax, [rdi+16]
    001ec914cmp rax, 1
    001ec918jne 0x1ec9b4
    001ec91emov [rsp+24], rdi
    001ec923lea r11, [rip+82]
    001ec92apush r11
    001ec92cpush [r14+48]
    001ec930mov [r14+48], rsp
    001ec934mov rbx, [rdi+48]
    001ec938mov eax, 1
    001ec93dmov rdi, [rbx]
    001ec940call rdi
    001ec942mov rdi, [rsp+40]
    001ec947mov [rdi+8], rax
    001ec94bmov [rdi+16], 3
    001ec953mov rbx, [rdi+24]
    001ec957add rbx, 2
    001ec95bmov [rdi+24], rbx
    001ec95fcmp rax, 21
    001ec963jne 0x1ec971
    001ec965mov rax, [rdi+32]
    001ec969add rax, 2
    001ec96dmov [rdi+32], rax
    001ec971
    001ec971loc_1ec971:
    001ec971pop [r14+48]
    001ec975add rsp, 8
    001ec979jmp 0x1ec9b4
    001ec97b
    001ec97b 90 .
    001ec97clea rbx, [rip+0x140c95]
    001ec983mov rbx, [rbx+88]
    001ec987cmp rax, rbx
    001ec98ajne 0x1ec9ac
    001ec98cmov rdi, [rsp+24]
    001ec991mov [rdi+8], 1
    001ec999mov [rdi+16], 1
    001ec9a1mov [rdi], 3
    001ec9a8jmp 0x1ec9b4
    001ec9aa
    001ec9aa 66 90 f.
    001ec9ac
    001ec9acloc_1ec9ac:
    001ec9accall caml_reraise_exn
    001ec9b1nop [rax]
    001ec9b4
    001ec9b4loc_1ec9b4:
    001ec9b4mov rax, [rdi]
    001ec9b7cmp rax, 1
    001ec9bbjne 0x1ecbc0
    001ec9c1mov rax, [rdi+16]
    001ec9c5cmp rax, 1
    001ec9c9je 0x1ec9d4
    001ec9cbmov rbx, [rdi+8]
    001ec9cfjmp 0x1eca73
    001ec9d4
    001ec9d4loc_1ec9d4:
    001ec9d4mov [rsp+24], rdi
    001ec9d9lea r11, [rip+84]
    001ec9e0push r11
    001ec9e2push [r14+48]
    001ec9e6mov [r14+48], rsp
    001ec9eamov rbx, [rdi+48]
    001ec9eemov eax, 1
    001ec9f3mov rdi, [rbx]
    001ec9f6call rdi
    001ec9f8mov rdi, [rsp+40]
    001ec9fdmov [rdi+8], rax
    001eca01mov [rdi+16], 3
    001eca09mov rbx, [rdi+24]
    001eca0dadd rbx, 2
    001eca11mov [rdi+24], rbx
    001eca15cmp rax, 21
    001eca19jne 0x1eca27
    001eca1bmov rbx, [rdi+32]
    001eca1fadd rbx, 2
    001eca23mov [rdi+32], rbx
    001eca27
    001eca27loc_1eca27:
    001eca27pop [r14+48]
    001eca2badd rsp, 8
    001eca2fjmp 0x1eca70
    001eca31
    001eca31 0f 1f 00 ...
    001eca34lea rbx, [rip+0x140bdd]
    001eca3bmov rbx, [rbx+88]
    001eca3fcmp rax, rbx
    001eca42jne 0x1eca68
    001eca44mov rdi, [rsp+24]
    001eca49mov [rdi+8], 1
    001eca51mov [rdi+16], 1
    001eca59mov [rdi], 3
    001eca60mov eax, 1
    001eca65jmp 0x1eca70
    001eca67
    001eca67 90 .
    001eca68
    001eca68loc_1eca68:
    001eca68call caml_reraise_exn
    001eca6dnop [rax]
    001eca70
    001eca70loc_1eca70:
    001eca70mov rbx, rax
    001eca73
    001eca73loc_1eca73:
    001eca73cmp rbx, 161
    001eca7aje 0x1eca98
    001eca7ccmp rbx, 225
    001eca83je 0x1eca90
    001eca85mov rax, [rsp]
    001eca89add rsp, 32
    001eca8dret
    001eca8e
    001eca8e 66 90 f.
    001eca90
    001eca90loc_1eca90:
    001eca90mov [rsp+24], rdi
    001eca95jmp 0x1eca9d
    001eca97
    001eca97 90 .
    001eca98
    001eca98loc_1eca98:
    001eca98mov [rsp+24], rdi
    001eca9d
    001eca9dloc_1eca9d:
    001eca9dmov rax, [rdi+56]
    001ecaa1call Stdlib.Buffer.add_char
    001ecaa6mov rax, [rsp]
    001ecaaaadd rax, -2
    001ecaaemov rbx, [rsp+24]
    001ecab3mov [rbx+16], 1
    001ecabbmov [rsp], rax
    001ecabfcmp rax, 1
    001ecac3je 0x1ecb71
    001ecac9mov rax, [rbx+16]
    001ecacdcmp rax, 1
    001ecad1jne 0x1ecb68
    001ecad7lea r11, [rip+82]
    001ecadepush r11
    001ecae0push [r14+48]
    001ecae4mov [r14+48], rsp
    001ecae8mov rbx, [rbx+48]
    001ecaecmov eax, 1
    001ecaf1mov rdi, [rbx]
    001ecaf4call rdi
    001ecaf6mov rbx, [rsp+40]
    001ecafbmov [rbx+8], rax
    001ecaffmov [rbx+16], 3
    001ecb07mov rdi, [rbx+24]
    001ecb0badd rdi, 2
    001ecb0fmov [rbx+24], rdi
    001ecb13cmp rax, 21
    001ecb17jne 0x1ecb25
    001ecb19mov rax, [rbx+32]
    001ecb1dadd rax, 2
    001ecb21mov [rbx+32], rax
    001ecb25
    001ecb25loc_1ecb25:
    001ecb25pop [r14+48]
    001ecb29add rsp, 8
    001ecb2djmp 0x1ecb68
    001ecb2f
    001ecb2f 90 .
    001ecb30lea rbx, [rip+0x140ae1]
    001ecb37mov rbx, [rbx+88]
    001ecb3bcmp rax, rbx
    001ecb3ejne 0x1ecb60
    001ecb40mov rbx, [rsp+24]
    001ecb45mov [rbx+8], 1
    001ecb4dmov [rbx+16], 1
    001ecb55mov [rbx], 3
    001ecb5cjmp 0x1ecb68
    001ecb5e
    001ecb5e 66 90 f.
    001ecb60
    001ecb60loc_1ecb60:
    001ecb60call caml_reraise_exn
    001ecb65nop [rax]
    001ecb68
    001ecb68loc_1ecb68:
    001ecb68mov rax, [rbx]
    001ecb6bcmp rax, 1
    001ecb6fje 0x1ecba8
    001ecb71
    001ecb71loc_1ecb71:
    001ecb71sub r15, 24
    001ecb75cmp r15, [r14]
    001ecb78jb 0x1ecd57
    001ecb7e
    001ecb7eloc_1ecb7e:
    001ecb7elea rax, [r15+8]
    001ecb82mov [rax-8], 2048
    001ecb8alea rbx, [rip+0x1805ef]
    001ecb91mov rbx, [rbx+8]
    001ecb95mov [rax], rbx
    001ecb98lea rbx, [rip+0x181211]
    001ecb9fmov [rax+8], rbx
    001ecba3call caml_raise_exn
    001ecba8
    001ecba8loc_1ecba8:
    001ecba8mov rax, [rsp]
    001ecbaccall Stdlib.Scanf.scan_sign
    001ecbb1mov rbx, [rsp+24]
    001ecbb6add rsp, 32
    001ecbbajmp 0x1ea9a0
    001ecbbf
    001ecbbf 90 .
    001ecbc0
    001ecbc0loc_1ecbc0:
    001ecbc0mov rax, [rsp]
    001ecbc4add rsp, 32
    001ecbc8ret
    001ecbc9
    001ecbc9 0f 1f 00 ...
    001ecbcc
    001ecbccloc_1ecbcc:
    001ecbccmov rax, [rsp]
    001ecbd0add rsp, 32
    001ecbd4ret
    001ecbd5
    001ecbd5 0f 1f 00 ...
    001ecbd8
    001ecbd8loc_1ecbd8:
    001ecbd8mov rax, [rsp]
    001ecbdcadd rsp, 32
    001ecbe0ret
    001ecbe1
    001ecbe1 0f 1f 00 ...
    001ecbe4
    001ecbe4loc_1ecbe4:
    001ecbe4sub r15, 24
    001ecbe8cmp r15, [r14]
    001ecbebjb 0x1ecd4d
    001ecbf1
    001ecbf1loc_1ecbf1:
    001ecbf1lea rax, [r15+8]
    001ecbf5mov [rax-8], 2048
    001ecbfdlea rbx, [rip+0x18057c]
    001ecc04mov rbx, [rbx+8]
    001ecc08mov [rax], rbx
    001ecc0blea rbx, [rip+0x18119e]
    001ecc12mov [rax+8], rbx
    001ecc16call caml_raise_exn
    001ecc1bnop
    001ecc1c
    001ecc1cloc_1ecc1c:
    001ecc1cmov rax, [rdi+56]
    001ecc20call Stdlib.Buffer.add_char
    001ecc25mov rax, [rsp]
    001ecc29add rax, -2
    001ecc2dmov rbx, [rsp+24]
    001ecc32mov [rbx+16], 1
    001ecc3amov [rsp], rax
    001ecc3ecmp rax, 1
    001ecc42je 0x1eccf1
    001ecc48mov rax, [rbx+16]
    001ecc4ccmp rax, 1
    001ecc50jne 0x1ecce8
    001ecc56lea r11, [rip+83]
    001ecc5dpush r11
    001ecc5fpush [r14+48]
    001ecc63mov [r14+48], rsp
    001ecc67mov rbx, [rbx+48]
    001ecc6bmov eax, 1
    001ecc70mov rdi, [rbx]
    001ecc73call rdi
    001ecc75mov rbx, [rsp+40]
    001ecc7amov [rbx+8], rax
    001ecc7emov [rbx+16], 3
    001ecc86mov rdi, [rbx+24]
    001ecc8aadd rdi, 2
    001ecc8emov [rbx+24], rdi
    001ecc92cmp rax, 21
    001ecc96jne 0x1ecca4
    001ecc98mov rax, [rbx+32]
    001ecc9cadd rax, 2
    001ecca0mov [rbx+32], rax
    001ecca4
    001ecca4loc_1ecca4:
    001ecca4pop [r14+48]
    001ecca8add rsp, 8
    001eccacjmp 0x1ecce8
    001eccae
    001eccae 66 90 f.
    001eccb0lea rbx, [rip+0x140961]
    001eccb7mov rbx, [rbx+88]
    001eccbbcmp rax, rbx
    001eccbejne 0x1ecce0
    001eccc0mov rbx, [rsp+24]
    001eccc5mov [rbx+8], 1
    001ecccdmov [rbx+16], 1
    001eccd5mov [rbx], 3
    001eccdcjmp 0x1ecce8
    001eccde
    001eccde 66 90 f.
    001ecce0
    001ecce0loc_1ecce0:
    001ecce0call caml_reraise_exn
    001ecce5nop [rax]
    001ecce8
    001ecce8loc_1ecce8:
    001ecce8mov rax, [rbx]
    001eccebcmp rax, 1
    001eccefje 0x1ecd24
    001eccf1
    001eccf1loc_1eccf1:
    001eccf1sub r15, 24
    001eccf5cmp r15, [r14]
    001eccf8jb 0x1ecd46
    001eccfa
    001eccfaloc_1eccfa:
    001eccfalea rax, [r15+8]
    001eccfemov [rax-8], 2048
    001ecd06lea rbx, [rip+0x180473]
    001ecd0dmov rbx, [rbx+8]
    001ecd11mov [rax], rbx
    001ecd14lea rbx, [rip+0x181095]
    001ecd1bmov [rax+8], rbx
    001ecd1fcall caml_raise_exn
    001ecd24
    001ecd24loc_1ecd24:
    001ecd24lea rsi, [rip+0x180bfd]
    001ecd2blea rax, [rip+0x18044e]
    001ecd32mov rdi, [rax+152]
    001ecd39mov rax, [rsp]
    001ecd3dadd rsp, 32
    001ecd41jmp 0x1ebbc0
    001ecd46
    001ecd46loc_1ecd46:
    001ecd46call caml_call_gc
    001ecd4bjmp 0x1eccfa
    001ecd4d
    001ecd4dloc_1ecd4d:
    001ecd4dcall caml_call_gc
    001ecd52jmp 0x1ecbf1
    001ecd57
    001ecd57loc_1ecd57:
    001ecd57call caml_call_gc
    001ecd5cjmp 0x1ecb7e
    001ecd61
    001ecd61loc_1ecd61:
    001ecd61call caml_call_gc
    001ecd66jmp 0x1ec385
    001ecd6b
    001ecd6bloc_1ecd6b:
    001ecd6bcall caml_call_gc
    001ecd70jmp 0x1ec212
    001ecd75
    001ecd75loc_1ecd75:
    001ecd75call caml_call_gc
    001ecd7ajmp 0x1ec01e
    001ecd7f
    001ecd7floc_1ecd7f:
    001ecd7fcall caml_call_gc
    001ecd84jmp 0x1ebf19
    001ecd89
    001ecd89loc_1ecd89:
    001ecd89push 39
    001ecd8bcall caml_call_realloc_stack
    001ecd90pop r10
    001ecd92jmp 0x1ebe42
    001ebe30
    001ecd97
    001ecd97 // align 0x10
    001ecda0
    001ecda0Stdlib.Scanf.scan_caml_float_rest:
    001ecda0lea r10, [rsp-368]
    001ecda8cmp r10, [r14+40]
    001ecdacjb 0x1ed156
    001ecdb2
    001ecdb2loc_1ecdb2:
    001ecdb2sub rsp, 32
    001ecdb6cmp rax, 1
    001ecdbaje 0x1ece7c
    001ecdc0mov [rsp+8], rbx
    001ecdc5mov [rsp], rax
    001ecdc9mov rax, [rdi+16]
    001ecdcdcmp rax, 1
    001ecdd1jne 0x1ece6c
    001ecdd7mov [rsp+24], rdi
    001ecddclea r11, [rip+81]
    001ecde3push r11
    001ecde5push [r14+48]
    001ecde9mov [r14+48], rsp
    001ecdedmov rbx, [rdi+48]
    001ecdf1mov eax, 1
    001ecdf6mov rdi, [rbx]
    001ecdf9call rdi
    001ecdfbmov rdi, [rsp+40]
    001ece00mov [rdi+8], rax
    001ece04mov [rdi+16], 3
    001ece0cmov rbx, [rdi+24]
    001ece10add rbx, 2
    001ece14mov [rdi+24], rbx
    001ece18cmp rax, 21
    001ece1cjne 0x1ece2a
    001ece1emov rax, [rdi+32]
    001ece22add rax, 2
    001ece26mov [rdi+32], rax
    001ece2a
    001ece2aloc_1ece2a:
    001ece2apop [r14+48]
    001ece2eadd rsp, 8
    001ece32jmp 0x1ece6c
    001ece34lea rbx, [rip+0x1407dd]
    001ece3bmov rbx, [rbx+88]
    001ece3fcmp rax, rbx
    001ece42jne 0x1ece64
    001ece44mov rdi, [rsp+24]
    001ece49mov [rdi+8], 1
    001ece51mov [rdi+16], 1
    001ece59mov [rdi], 3
    001ece60jmp 0x1ece6c
    001ece62
    001ece62 66 90 f.
    001ece64
    001ece64loc_1ece64:
    001ece64call caml_reraise_exn
    001ece69nop [rax]
    001ece6c
    001ece6cloc_1ece6c:
    001ece6cmov rax, [rdi]
    001ece6fcmp rax, 1
    001ece73jne 0x1ece7c
    001ece75mov [rsp+24], rdi
    001ece7ajmp 0x1eceb4
    001ece7c
    001ece7cloc_1ece7c:
    001ece7csub r15, 24
    001ece80cmp r15, [r14]
    001ece83jb 0x1ed14c
    001ece89
    001ece89loc_1ece89:
    001ece89lea rax, [r15+8]
    001ece8dmov [rax-8], 2048
    001ece95lea rbx, [rip+0x1802e4]
    001ece9cmov rbx, [rbx+8]
    001ecea0mov [rax], rbx
    001ecea3lea rbx, [rip+0x180f3e]
    001eceaamov [rax+8], rbx
    001eceaecall caml_raise_exn
    001eceb3nop
    001eceb4
    001eceb4loc_1eceb4:
    001eceb4mov rax, [rsp]
    001eceb8mov rbx, rdi
    001ecebbcall Stdlib.Scanf.scan_decimal_digit_star
    001ecec0cmp rax, 1
    001ecec4je 0x1ecf81
    001ececamov [rsp], rax
    001ececemov rdi, [rsp+24]
    001eced3mov rax, [rdi+16]
    001eced7cmp rax, 1
    001ecedbjne 0x1ecf78
    001ecee1mov [rsp+24], rdi
    001ecee6lea r11, [rip+83]
    001eceedpush r11
    001eceefpush [r14+48]
    001ecef3mov [r14+48], rsp
    001ecef7mov rbx, [rdi+48]
    001ecefbmov eax, 1
    001ecf00mov rdi, [rbx]
    001ecf03call rdi
    001ecf05mov rdi, [rsp+40]
    001ecf0amov [rdi+8], rax
    001ecf0emov [rdi+16], 3
    001ecf16mov rbx, [rdi+24]
    001ecf1aadd rbx, 2
    001ecf1emov [rdi+24], rbx
    001ecf22cmp rax, 21
    001ecf26jne 0x1ecf34
    001ecf28mov rax, [rdi+32]
    001ecf2cadd rax, 2
    001ecf30mov [rdi+32], rax
    001ecf34
    001ecf34loc_1ecf34:
    001ecf34pop [r14+48]
    001ecf38add rsp, 8
    001ecf3cjmp 0x1ecf78
    001ecf3e
    001ecf3e 66 90 f.
    001ecf40lea rbx, [rip+0x1406d1]
    001ecf47mov rbx, [rbx+88]
    001ecf4bcmp rax, rbx
    001ecf4ejne 0x1ecf70
    001ecf50mov rdi, [rsp+24]
    001ecf55mov [rdi+8], 1
    001ecf5dmov [rdi+16], 1
    001ecf65mov [rdi], 3
    001ecf6cjmp 0x1ecf78
    001ecf6e
    001ecf6e 66 90 f.
    001ecf70
    001ecf70loc_1ecf70:
    001ecf70call caml_reraise_exn
    001ecf75nop [rax]
    001ecf78
    001ecf78loc_1ecf78:
    001ecf78mov rax, [rdi]
    001ecf7bcmp rax, 1
    001ecf7fje 0x1ecfb8
    001ecf81
    001ecf81loc_1ecf81:
    001ecf81sub r15, 24
    001ecf85cmp r15, [r14]
    001ecf88jb 0x1ed142
    001ecf8e
    001ecf8eloc_1ecf8e:
    001ecf8elea rax, [r15+8]
    001ecf92mov [rax-8], 2048
    001ecf9alea rbx, [rip+0x1801df]
    001ecfa1mov rbx, [rbx+8]
    001ecfa5mov [rax], rbx
    001ecfa8lea rbx, [rip+0x180e39]
    001ecfafmov [rax+8], rbx
    001ecfb3call caml_raise_exn
    001ecfb8
    001ecfb8loc_1ecfb8:
    001ecfb8mov rax, [rdi+16]
    001ecfbccmp rax, 1
    001ecfc0je 0x1ecfcc
    001ecfc2mov rbx, [rdi+8]
    001ecfc6jmp 0x1ed06b
    001ecfcb
    001ecfcb 90 .
    001ecfcc
    001ecfccloc_1ecfcc:
    001ecfccmov [rsp+24], rdi
    001ecfd1lea r11, [rip+84]
    001ecfd8push r11
    001ecfdapush [r14+48]
    001ecfdemov [r14+48], rsp
    001ecfe2mov rbx, [rdi+48]
    001ecfe6mov eax, 1
    001ecfebmov rdi, [rbx]
    001ecfeecall rdi
    001ecff0mov rdi, [rsp+40]
    001ecff5mov [rdi+8], rax
    001ecff9mov [rdi+16], 3
    001ed001mov rbx, [rdi+24]
    001ed005add rbx, 2
    001ed009mov [rdi+24], rbx
    001ed00dcmp rax, 21
    001ed011jne 0x1ed01f
    001ed013mov rbx, [rdi+32]
    001ed017add rbx, 2
    001ed01bmov [rdi+32], rbx
    001ed01f
    001ed01floc_1ed01f:
    001ed01fpop [r14+48]
    001ed023add rsp, 8
    001ed027jmp 0x1ed068
    001ed029
    001ed029 0f 1f 00 ...
    001ed02clea rbx, [rip+0x1405e5]
    001ed033mov rbx, [rbx+88]
    001ed037cmp rax, rbx
    001ed03ajne 0x1ed060
    001ed03cmov rdi, [rsp+24]
    001ed041mov [rdi+8], 1
    001ed049mov [rdi+16], 1
    001ed051mov [rdi], 3
    001ed058mov eax, 1
    001ed05djmp 0x1ed068
    001ed05f
    001ed05f 90 .
    001ed060
    001ed060loc_1ed060:
    001ed060call caml_reraise_exn
    001ed065nop [rax]
    001ed068
    001ed068loc_1ed068:
    001ed068mov rbx, rax
    001ed06b
    001ed06bloc_1ed06b:
    001ed06bmov rax, rbx
    001ed06eadd rax, -138
    001ed074cmp rax, 65
    001ed078jbe 0x1ed0ec
    001ed07acmp rax, -45
    001ed07ejne 0x1ed108
    001ed084mov [rsp+24], rdi
    001ed089mov rax, [rdi+56]
    001ed08dcall Stdlib.Buffer.add_char
    001ed092mov rax, [rsp]
    001ed096add rax, -2
    001ed09amov rbx, [rsp+24]
    001ed09fmov [rbx+16], 1
    001ed0a7mov [rsp+16], rax
    001ed0acmov rdi, [rsp+8]
    001ed0b1cmp rax, rdi
    001ed0b4jg 0x1ed0bc
    001ed0b6mov [rsp], rax
    001ed0bajmp 0x1ed0c3
    001ed0bc
    001ed0bcloc_1ed0bc:
    001ed0bcmov rax, rdi
    001ed0bfmov [rsp], rax
    001ed0c3
    001ed0c3loc_1ed0c3:
    001ed0c3call Stdlib.Scanf.scan_fractional_part
    001ed0c8mov rbx, [rsp]
    001ed0ccsub rbx, rax
    001ed0cfinc rbx
    001ed0d2mov rax, [rsp+16]
    001ed0d7sub rax, rbx
    001ed0dainc rax
    001ed0ddmov rbx, [rsp+24]
    001ed0e2add rsp, 32
    001ed0e6jmp 0x1eb7c0
    001ed0eb
    001ed0eb 90 .
    001ed0ec
    001ed0ecloc_1ed0ec:
    001ed0ecadd rax, -2
    001ed0f0cmp rax, 61
    001ed0f4jbe 0x1ed108
    001ed0f6mov rax, [rsp]
    001ed0famov rbx, rdi
    001ed0fdadd rsp, 32
    001ed101jmp 0x1eb7c0
    001ed106
    001ed106 66 90 f.
    001ed108
    001ed108loc_1ed108:
    001ed108sub r15, 24
    001ed10ccmp r15, [r14]
    001ed10fjb 0x1ed13b
    001ed111
    001ed111loc_1ed111:
    001ed111lea rax, [r15+8]
    001ed115mov [rax-8], 2048
    001ed11dlea rbx, [rip+0x18005c]
    001ed124mov rbx, [rbx+8]
    001ed128mov [rax], rbx
    001ed12blea rbx, [rip+0x180cb6]
    001ed132mov [rax+8], rbx
    001ed136call caml_raise_exn
    001ed13b
    001ed13bloc_1ed13b:
    001ed13bcall caml_call_gc
    001ed140jmp 0x1ed111
    001ed142
    001ed142loc_1ed142:
    001ed142call caml_call_gc
    001ed147jmp 0x1ecf8e
    001ed14c
    001ed14cloc_1ed14c:
    001ed14ccall caml_call_gc
    001ed151jmp 0x1ece89
    001ed156
    001ed156loc_1ed156:
    001ed156push 39
    001ed158call caml_call_realloc_stack
    001ed15dpop r10
    001ed15fjmp 0x1ecdb2
    001ecda0
    001ed164
    001ed164 // align 0x10
    001ed170
    001ed170Stdlib.Scanf.scan_caml_float:
    001ed170lea r10, [rsp-368]
    001ed178cmp r10, [r14+40]
    001ed17cjb 0x1edfd6
    001ed182
    001ed182loc_1ed182:
    001ed182sub rsp, 32
    001ed186cmp rax, 1
    001ed18aje 0x1ed24c
    001ed190mov [rsp+16], rbx
    001ed195mov [rsp], rax
    001ed199mov rax, [rdi+16]
    001ed19dcmp rax, 1
    001ed1a1jne 0x1ed23c
    001ed1a7mov [rsp+24], rdi
    001ed1aclea r11, [rip+81]
    001ed1b3push r11
    001ed1b5push [r14+48]
    001ed1b9mov [r14+48], rsp
    001ed1bdmov rbx, [rdi+48]
    001ed1c1mov eax, 1
    001ed1c6mov rdi, [rbx]
    001ed1c9call rdi
    001ed1cbmov rdi, [rsp+40]
    001ed1d0mov [rdi+8], rax
    001ed1d4mov [rdi+16], 3
    001ed1dcmov rbx, [rdi+24]
    001ed1e0add rbx, 2
    001ed1e4mov [rdi+24], rbx
    001ed1e8cmp rax, 21
    001ed1ecjne 0x1ed1fa
    001ed1eemov rax, [rdi+32]
    001ed1f2add rax, 2
    001ed1f6mov [rdi+32], rax
    001ed1fa
    001ed1faloc_1ed1fa:
    001ed1fapop [r14+48]
    001ed1feadd rsp, 8
    001ed202jmp 0x1ed23c
    001ed204lea rbx, [rip+0x14040d]
    001ed20bmov rbx, [rbx+88]
    001ed20fcmp rax, rbx
    001ed212jne 0x1ed234
    001ed214mov rdi, [rsp+24]
    001ed219mov [rdi+8], 1
    001ed221mov [rdi+16], 1
    001ed229mov [rdi], 3
    001ed230jmp 0x1ed23c
    001ed232
    001ed232 66 90 f.
    001ed234
    001ed234loc_1ed234:
    001ed234call caml_reraise_exn
    001ed239nop [rax]
    001ed23c
    001ed23cloc_1ed23c:
    001ed23cmov rax, [rdi]
    001ed23fcmp rax, 1
    001ed243jne 0x1ed24c
    001ed245mov [rsp+24], rdi
    001ed24ajmp 0x1ed284
    001ed24c
    001ed24cloc_1ed24c:
    001ed24csub r15, 24
    001ed250cmp r15, [r14]
    001ed253jb 0x1edfcc
    001ed259
    001ed259loc_1ed259:
    001ed259lea rax, [r15+8]
    001ed25dmov [rax-8], 2048
    001ed265lea rbx, [rip+0x17ff14]
    001ed26cmov rbx, [rbx+8]
    001ed270mov [rax], rbx
    001ed273lea rbx, [rip+0x180b6e]
    001ed27amov [rax+8], rbx
    001ed27ecall caml_raise_exn
    001ed283nop
    001ed284
    001ed284loc_1ed284:
    001ed284mov rax, [rsp]
    001ed288mov rbx, rdi
    001ed28bcall Stdlib.Scanf.scan_sign
    001ed290cmp rax, 1
    001ed294je 0x1ed351
    001ed29amov [rsp], rax
    001ed29emov rdi, [rsp+24]
    001ed2a3mov rax, [rdi+16]
    001ed2a7cmp rax, 1
    001ed2abjne 0x1ed348
    001ed2b1mov [rsp+24], rdi
    001ed2b6lea r11, [rip+83]
    001ed2bdpush r11
    001ed2bfpush [r14+48]
    001ed2c3mov [r14+48], rsp
    001ed2c7mov rbx, [rdi+48]
    001ed2cbmov eax, 1
    001ed2d0mov rdi, [rbx]
    001ed2d3call rdi
    001ed2d5mov rdi, [rsp+40]
    001ed2damov [rdi+8], rax
    001ed2demov [rdi+16], 3
    001ed2e6mov rbx, [rdi+24]
    001ed2eaadd rbx, 2
    001ed2eemov [rdi+24], rbx
    001ed2f2cmp rax, 21
    001ed2f6jne 0x1ed304
    001ed2f8mov rax, [rdi+32]
    001ed2fcadd rax, 2
    001ed300mov [rdi+32], rax
    001ed304
    001ed304loc_1ed304:
    001ed304pop [r14+48]
    001ed308add rsp, 8
    001ed30cjmp 0x1ed348
    001ed30e
    001ed30e 66 90 f.
    001ed310lea rbx, [rip+0x140301]
    001ed317mov rbx, [rbx+88]
    001ed31bcmp rax, rbx
    001ed31ejne 0x1ed340
    001ed320mov rdi, [rsp+24]
    001ed325mov [rdi+8], 1
    001ed32dmov [rdi+16], 1
    001ed335mov [rdi], 3
    001ed33cjmp 0x1ed348
    001ed33e
    001ed33e 66 90 f.
    001ed340
    001ed340loc_1ed340:
    001ed340call caml_reraise_exn
    001ed345nop [rax]
    001ed348
    001ed348loc_1ed348:
    001ed348mov rax, [rdi]
    001ed34bcmp rax, 1
    001ed34fje 0x1ed388
    001ed351
    001ed351loc_1ed351:
    001ed351sub r15, 24
    001ed355cmp r15, [r14]
    001ed358jb 0x1edfc2
    001ed35e
    001ed35eloc_1ed35e:
    001ed35elea rax, [r15+8]
    001ed362mov [rax-8], 2048
    001ed36alea rbx, [rip+0x17fe0f]
    001ed371mov rbx, [rbx+8]
    001ed375mov [rax], rbx
    001ed378lea rbx, [rip+0x180a69]
    001ed37fmov [rax+8], rbx
    001ed383call caml_raise_exn
    001ed388
    001ed388loc_1ed388:
    001ed388mov rax, [rdi+16]
    001ed38ccmp rax, 1
    001ed390je 0x1ed39c
    001ed392mov rbx, [rdi+8]
    001ed396jmp 0x1ed43b
    001ed39b
    001ed39b 90 .
    001ed39c
    001ed39cloc_1ed39c:
    001ed39cmov [rsp+24], rdi
    001ed3a1lea r11, [rip+84]
    001ed3a8push r11
    001ed3aapush [r14+48]
    001ed3aemov [r14+48], rsp
    001ed3b2mov rbx, [rdi+48]
    001ed3b6mov eax, 1
    001ed3bbmov rdi, [rbx]
    001ed3becall rdi
    001ed3c0mov rdi, [rsp+40]
    001ed3c5mov [rdi+8], rax
    001ed3c9mov [rdi+16], 3
    001ed3d1mov rbx, [rdi+24]
    001ed3d5add rbx, 2
    001ed3d9mov [rdi+24], rbx
    001ed3ddcmp rax, 21
    001ed3e1jne 0x1ed3ef
    001ed3e3mov rbx, [rdi+32]
    001ed3e7add rbx, 2
    001ed3ebmov [rdi+32], rbx
    001ed3ef
    001ed3efloc_1ed3ef:
    001ed3efpop [r14+48]
    001ed3f3add rsp, 8
    001ed3f7jmp 0x1ed438
    001ed3f9
    001ed3f9 0f 1f 00 ...
    001ed3fclea rbx, [rip+0x140215]
    001ed403mov rbx, [rbx+88]
    001ed407cmp rax, rbx
    001ed40ajne 0x1ed430
    001ed40cmov rdi, [rsp+24]
    001ed411mov [rdi+8], 1
    001ed419mov [rdi+16], 1
    001ed421mov [rdi], 3
    001ed428mov eax, 1
    001ed42djmp 0x1ed438
    001ed42f
    001ed42f 90 .
    001ed430
    001ed430loc_1ed430:
    001ed430call caml_reraise_exn
    001ed435nop [rax]
    001ed438
    001ed438loc_1ed438:
    001ed438mov rbx, rax
    001ed43b
    001ed43bloc_1ed43b:
    001ed43bcmp rbx, 99
    001ed43fjl 0x1ed578
    001ed445cmp rbx, 117
    001ed449jge 0x1edf4c
    001ed44fmov [rsp+24], rdi
    001ed454mov rax, [rdi+56]
    001ed458call Stdlib.Buffer.add_char
    001ed45dmov rax, [rsp]
    001ed461add rax, -2
    001ed465mov rdi, [rsp+24]
    001ed46amov [rdi+16], 1
    001ed472cmp rax, 1
    001ed476je 0x1ed52d
    001ed47cmov [rsp], rax
    001ed480mov rax, [rdi+16]
    001ed484cmp rax, 1
    001ed488jne 0x1ed524
    001ed48emov [rsp+24], rdi
    001ed493lea r11, [rip+82]
    001ed49apush r11
    001ed49cpush [r14+48]
    001ed4a0mov [r14+48], rsp
    001ed4a4mov rbx, [rdi+48]
    001ed4a8mov eax, 1
    001ed4admov rdi, [rbx]
    001ed4b0call rdi
    001ed4b2mov rdi, [rsp+40]
    001ed4b7mov [rdi+8], rax
    001ed4bbmov [rdi+16], 3
    001ed4c3mov rbx, [rdi+24]
    001ed4c7add rbx, 2
    001ed4cbmov [rdi+24], rbx
    001ed4cfcmp rax, 21
    001ed4d3jne 0x1ed4e1
    001ed4d5mov rax, [rdi+32]
    001ed4d9add rax, 2
    001ed4ddmov [rdi+32], rax
    001ed4e1
    001ed4e1loc_1ed4e1:
    001ed4e1pop [r14+48]
    001ed4e5add rsp, 8
    001ed4e9jmp 0x1ed524
    001ed4eb
    001ed4eb 90 .
    001ed4eclea rbx, [rip+0x140125]
    001ed4f3mov rbx, [rbx+88]
    001ed4f7cmp rax, rbx
    001ed4fajne 0x1ed51c
    001ed4fcmov rdi, [rsp+24]
    001ed501mov [rdi+8], 1
    001ed509mov [rdi+16], 1
    001ed511mov [rdi], 3
    001ed518jmp 0x1ed524
    001ed51a
    001ed51a 66 90 f.
    001ed51c
    001ed51cloc_1ed51c:
    001ed51ccall caml_reraise_exn
    001ed521nop [rax]
    001ed524
    001ed524loc_1ed524:
    001ed524mov rax, [rdi]
    001ed527cmp rax, 1
    001ed52bje 0x1ed564
    001ed52d
    001ed52dloc_1ed52d:
    001ed52dsub r15, 24
    001ed531cmp r15, [r14]
    001ed534jb 0x1edfb8
    001ed53a
    001ed53aloc_1ed53a:
    001ed53alea rax, [r15+8]
    001ed53emov [rax-8], 2048
    001ed546lea rbx, [rip+0x17fc33]
    001ed54dmov rbx, [rbx+8]
    001ed551mov [rax], rbx
    001ed554lea rbx, [rip+0x18088d]
    001ed55bmov [rax+8], rbx
    001ed55fcall caml_raise_exn
    001ed564
    001ed564loc_1ed564:
    001ed564mov rax, [rsp]
    001ed568mov rbx, [rsp+16]
    001ed56dadd rsp, 32
    001ed571jmp 0x1ecda0
    001ed576
    001ed576 66 90 f.
    001ed578
    001ed578loc_1ed578:
    001ed578cmp rbx, 97
    001ed57cjl 0x1edf4c
    001ed582mov [rsp+24], rdi
    001ed587mov rax, [rdi+56]
    001ed58bcall Stdlib.Buffer.add_char
    001ed590mov rax, [rsp]
    001ed594add rax, -2
    001ed598mov rdi, [rsp+24]
    001ed59dmov [rdi+16], 1
    001ed5a5cmp rax, 1
    001ed5a9je 0x1ed661
    001ed5afmov [rsp], rax
    001ed5b3mov rax, [rdi+16]
    001ed5b7cmp rax, 1
    001ed5bbjne 0x1ed658
    001ed5c1mov [rsp+24], rdi
    001ed5c6lea r11, [rip+83]
    001ed5cdpush r11
    001ed5cfpush [r14+48]
    001ed5d3mov [r14+48], rsp
    001ed5d7mov rbx, [rdi+48]
    001ed5dbmov eax, 1
    001ed5e0mov rdi, [rbx]
    001ed5e3call rdi
    001ed5e5mov rdi, [rsp+40]
    001ed5eamov [rdi+8], rax
    001ed5eemov [rdi+16], 3
    001ed5f6mov rbx, [rdi+24]
    001ed5faadd rbx, 2
    001ed5femov [rdi+24], rbx
    001ed602cmp rax, 21
    001ed606jne 0x1ed614
    001ed608mov rax, [rdi+32]
    001ed60cadd rax, 2
    001ed610mov [rdi+32], rax
    001ed614
    001ed614loc_1ed614:
    001ed614pop [r14+48]
    001ed618add rsp, 8
    001ed61cjmp 0x1ed658
    001ed61e
    001ed61e 66 90 f.
    001ed620lea rbx, [rip+0x13fff1]
    001ed627mov rbx, [rbx+88]
    001ed62bcmp rax, rbx
    001ed62ejne 0x1ed650
    001ed630mov rdi, [rsp+24]
    001ed635mov [rdi+8], 1
    001ed63dmov [rdi+16], 1
    001ed645mov [rdi], 3
    001ed64cjmp 0x1ed658
    001ed64e
    001ed64e 66 90 f.
    001ed650
    001ed650loc_1ed650:
    001ed650call caml_reraise_exn
    001ed655nop [rax]
    001ed658
    001ed658loc_1ed658:
    001ed658mov rax, [rdi]
    001ed65bcmp rax, 1
    001ed65fje 0x1ed698
    001ed661
    001ed661loc_1ed661:
    001ed661sub r15, 24
    001ed665cmp r15, [r14]
    001ed668jb 0x1edfae
    001ed66e
    001ed66eloc_1ed66e:
    001ed66elea rax, [r15+8]
    001ed672mov [rax-8], 2048
    001ed67alea rbx, [rip+0x17faff]
    001ed681mov rbx, [rbx+8]
    001ed685mov [rax], rbx
    001ed688lea rbx, [rip+0x180759]
    001ed68fmov [rax+8], rbx
    001ed693call caml_raise_exn
    001ed698
    001ed698loc_1ed698:
    001ed698mov rax, [rdi+16]
    001ed69ccmp rax, 1
    001ed6a0je 0x1ed6ac
    001ed6a2mov rbx, [rdi+8]
    001ed6a6jmp 0x1ed74b
    001ed6ab
    001ed6ab 90 .
    001ed6ac
    001ed6acloc_1ed6ac:
    001ed6acmov [rsp+24], rdi
    001ed6b1lea r11, [rip+84]
    001ed6b8push r11
    001ed6bapush [r14+48]
    001ed6bemov [r14+48], rsp
    001ed6c2mov rbx, [rdi+48]
    001ed6c6mov eax, 1
    001ed6cbmov rdi, [rbx]
    001ed6cecall rdi
    001ed6d0mov rdi, [rsp+40]
    001ed6d5mov [rdi+8], rax
    001ed6d9mov [rdi+16], 3
    001ed6e1mov rbx, [rdi+24]
    001ed6e5add rbx, 2
    001ed6e9mov [rdi+24], rbx
    001ed6edcmp rax, 21
    001ed6f1jne 0x1ed6ff
    001ed6f3mov rbx, [rdi+32]
    001ed6f7add rbx, 2
    001ed6fbmov [rdi+32], rbx
    001ed6ff
    001ed6ffloc_1ed6ff:
    001ed6ffpop [r14+48]
    001ed703add rsp, 8
    001ed707jmp 0x1ed748
    001ed709
    001ed709 0f 1f 00 ...
    001ed70clea rbx, [rip+0x13ff05]
    001ed713mov rbx, [rbx+88]
    001ed717cmp rax, rbx
    001ed71ajne 0x1ed740
    001ed71cmov rdi, [rsp+24]
    001ed721mov [rdi+8], 1
    001ed729mov [rdi+16], 1
    001ed731mov [rdi], 3
    001ed738mov eax, 1
    001ed73djmp 0x1ed748
    001ed73f
    001ed73f 90 .
    001ed740
    001ed740loc_1ed740:
    001ed740call caml_reraise_exn
    001ed745nop [rax]
    001ed748
    001ed748loc_1ed748:
    001ed748mov rbx, rax
    001ed74b
    001ed74bloc_1ed74b:
    001ed74bcmp rbx, 177
    001ed752je 0x1ed778
    001ed754cmp rbx, 241
    001ed75bje 0x1ed770
    001ed75dmov rax, [rsp]
    001ed761mov rbx, [rsp+16]
    001ed766add rsp, 32
    001ed76ajmp 0x1ecda0
    001ed76f
    001ed76f 90 .
    001ed770
    001ed770loc_1ed770:
    001ed770mov [rsp+24], rdi
    001ed775jmp 0x1ed77d
    001ed777
    001ed777 90 .
    001ed778
    001ed778loc_1ed778:
    001ed778mov [rsp+24], rdi
    001ed77d
    001ed77dloc_1ed77d:
    001ed77dmov rax, [rdi+56]
    001ed781call Stdlib.Buffer.add_char
    001ed786mov rax, [rsp]
    001ed78aadd rax, -2
    001ed78emov rsi, [rsp+24]
    001ed793mov [rsi+16], 1
    001ed79bmov [rsp], rax
    001ed79fcmp rax, 1
    001ed7a3je 0x1ed851
    001ed7a9mov rax, [rsi+16]
    001ed7adcmp rax, 1
    001ed7b1jne 0x1ed848
    001ed7b7lea r11, [rip+82]
    001ed7bepush r11
    001ed7c0push [r14+48]
    001ed7c4mov [r14+48], rsp
    001ed7c8mov rbx, [rsi+48]
    001ed7ccmov eax, 1
    001ed7d1mov rdi, [rbx]
    001ed7d4call rdi
    001ed7d6mov rsi, [rsp+40]
    001ed7dbmov [rsi+8], rax
    001ed7dfmov [rsi+16], 3
    001ed7e7mov rbx, [rsi+24]
    001ed7ebadd rbx, 2
    001ed7efmov [rsi+24], rbx
    001ed7f3cmp rax, 21
    001ed7f7jne 0x1ed805
    001ed7f9mov rax, [rsi+32]
    001ed7fdadd rax, 2
    001ed801mov [rsi+32], rax
    001ed805
    001ed805loc_1ed805:
    001ed805pop [r14+48]
    001ed809add rsp, 8
    001ed80djmp 0x1ed848
    001ed80f
    001ed80f 90 .
    001ed810lea rbx, [rip+0x13fe01]
    001ed817mov rbx, [rbx+88]
    001ed81bcmp rax, rbx
    001ed81ejne 0x1ed840
    001ed820mov rsi, [rsp+24]
    001ed825mov [rsi+8], 1
    001ed82dmov [rsi+16], 1
    001ed835mov [rsi], 3
    001ed83cjmp 0x1ed848
    001ed83e
    001ed83e 66 90 f.
    001ed840
    001ed840loc_1ed840:
    001ed840call caml_reraise_exn
    001ed845nop [rax]
    001ed848
    001ed848loc_1ed848:
    001ed848mov rax, [rsi]
    001ed84bcmp rax, 1
    001ed84fje 0x1ed888
    001ed851
    001ed851loc_1ed851:
    001ed851sub r15, 24
    001ed855cmp r15, [r14]
    001ed858jb 0x1edfa4
    001ed85e
    001ed85eloc_1ed85e:
    001ed85elea rax, [r15+8]
    001ed862mov [rax-8], 2048
    001ed86alea rbx, [rip+0x17f90f]
    001ed871mov rbx, [rbx+8]
    001ed875mov [rax], rbx
    001ed878lea rbx, [rip+0x180569]
    001ed87fmov [rax+8], rbx
    001ed883call caml_raise_exn
    001ed888
    001ed888loc_1ed888:
    001ed888lea rax, [rip+0x17f8f1]
    001ed88fmov rax, [rax+360]
    001ed896mov rbx, [rax+32]
    001ed89amov rax, [rax+24]
    001ed89emov rdi, [rsp]
    001ed8a2call Stdlib.Scanf.scan_digit_plus
    001ed8a7mov [rsp], rax
    001ed8abcmp rax, 1
    001ed8afje 0x1ed961
    001ed8b5mov rdi, [rsp+24]
    001ed8bamov rax, [rdi+16]
    001ed8becmp rax, 1
    001ed8c2jne 0x1ed958
    001ed8c8lea r11, [rip+81]
    001ed8cfpush r11
    001ed8d1push [r14+48]
    001ed8d5mov [r14+48], rsp
    001ed8d9mov rbx, [rdi+48]
    001ed8ddmov eax, 1
    001ed8e2mov rdi, [rbx]
    001ed8e5call rdi
    001ed8e7mov rdi, [rsp+40]
    001ed8ecmov [rdi+8], rax
    001ed8f0mov [rdi+16], 3
    001ed8f8mov rbx, [rdi+24]
    001ed8fcadd rbx, 2
    001ed900mov [rdi+24], rbx
    001ed904cmp rax, 21
    001ed908jne 0x1ed916
    001ed90amov rax, [rdi+32]
    001ed90eadd rax, 2
    001ed912mov [rdi+32], rax
    001ed916
    001ed916loc_1ed916:
    001ed916pop [r14+48]
    001ed91aadd rsp, 8
    001ed91ejmp 0x1ed958
    001ed920lea rbx, [rip+0x13fcf1]
    001ed927mov rbx, [rbx+88]
    001ed92bcmp rax, rbx
    001ed92ejne 0x1ed950
    001ed930mov rdi, [rsp+24]
    001ed935mov [rdi+8], 1
    001ed93dmov [rdi+16], 1
    001ed945mov [rdi], 3
    001ed94cjmp 0x1ed958
    001ed94e
    001ed94e 66 90 f.
    001ed950
    001ed950loc_1ed950:
    001ed950call caml_reraise_exn
    001ed955nop [rax]
    001ed958
    001ed958loc_1ed958:
    001ed958mov rax, [rdi]
    001ed95bcmp rax, 1
    001ed95fje 0x1ed998
    001ed961
    001ed961loc_1ed961:
    001ed961sub r15, 24
    001ed965cmp r15, [r14]
    001ed968jb 0x1edf9a
    001ed96e
    001ed96eloc_1ed96e:
    001ed96elea rax, [r15+8]
    001ed972mov [rax-8], 2048
    001ed97alea rbx, [rip+0x17f7ff]
    001ed981mov rbx, [rbx+8]
    001ed985mov [rax], rbx
    001ed988lea rbx, [rip+0x180459]
    001ed98fmov [rax+8], rbx
    001ed993call caml_raise_exn
    001ed998
    001ed998loc_1ed998:
    001ed998mov rax, [rdi+16]
    001ed99ccmp rax, 1
    001ed9a0je 0x1ed9ac
    001ed9a2mov rbx, [rdi+8]
    001ed9a6jmp 0x1eda43
    001ed9ab
    001ed9ab 90 .
    001ed9ac
    001ed9acloc_1ed9ac:
    001ed9aclea r11, [rip+81]
    001ed9b3push r11
    001ed9b5push [r14+48]
    001ed9b9mov [r14+48], rsp
    001ed9bdmov rbx, [rdi+48]
    001ed9c1mov eax, 1
    001ed9c6mov rdi, [rbx]
    001ed9c9call rdi
    001ed9cbmov rdi, [rsp+40]
    001ed9d0mov [rdi+8], rax
    001ed9d4mov [rdi+16], 3
    001ed9dcmov rbx, [rdi+24]
    001ed9e0add rbx, 2
    001ed9e4mov [rdi+24], rbx
    001ed9e8cmp rax, 21
    001ed9ecjne 0x1ed9fa
    001ed9eemov rbx, [rdi+32]
    001ed9f2add rbx, 2
    001ed9f6mov [rdi+32], rbx
    001ed9fa
    001ed9faloc_1ed9fa:
    001ed9fapop [r14+48]
    001ed9feadd rsp, 8
    001eda02jmp 0x1eda40
    001eda04lea rbx, [rip+0x13fc0d]
    001eda0bmov rbx, [rbx+88]
    001eda0fcmp rax, rbx
    001eda12jne 0x1eda38
    001eda14mov rdi, [rsp+24]
    001eda19mov [rdi+8], 1
    001eda21mov [rdi+16], 1
    001eda29mov [rdi], 3
    001eda30mov eax, 1
    001eda35jmp 0x1eda40
    001eda37
    001eda37 90 .
    001eda38
    001eda38loc_1eda38:
    001eda38call caml_reraise_exn
    001eda3dnop [rax]
    001eda40
    001eda40loc_1eda40:
    001eda40mov rbx, rax
    001eda43
    001eda43loc_1eda43:
    001eda43mov rax, rbx
    001eda46add rax, -160
    001eda4ccmp rax, 65
    001eda50jbe 0x1edc4c
    001eda56cmp rax, -67
    001eda5ajne 0x1edc60
    001eda60mov rax, [rdi+56]
    001eda64call Stdlib.Buffer.add_char
    001eda69mov rax, [rsp]
    001eda6dadd rax, -2
    001eda71mov rsi, [rsp+24]
    001eda76mov [rsi+16], 1
    001eda7emov [rsp+8], rax
    001eda83cmp rax, 1
    001eda87je 0x1edc44
    001eda8dmov rax, [rsi+16]
    001eda91cmp rax, 1
    001eda95jne 0x1edb2c
    001eda9blea r11, [rip+82]
    001edaa2push r11
    001edaa4push [r14+48]
    001edaa8mov [r14+48], rsp
    001edaacmov rbx, [rsi+48]
    001edab0mov eax, 1
    001edab5mov rdi, [rbx]
    001edab8call rdi
    001edabamov rsi, [rsp+40]
    001edabfmov [rsi+8], rax
    001edac3mov [rsi+16], 3
    001edacbmov rbx, [rsi+24]
    001edacfadd rbx, 2
    001edad3mov [rsi+24], rbx
    001edad7cmp rax, 21
    001edadbjne 0x1edae9
    001edaddmov rax, [rsi+32]
    001edae1add rax, 2
    001edae5mov [rsi+32], rax
    001edae9
    001edae9loc_1edae9:
    001edae9pop [r14+48]
    001edaedadd rsp, 8
    001edaf1jmp 0x1edb2c
    001edaf3
    001edaf3 90 .
    001edaf4lea rbx, [rip+0x13fb1d]
    001edafbmov rbx, [rbx+88]
    001edaffcmp rax, rbx
    001edb02jne 0x1edb24
    001edb04mov rsi, [rsp+24]
    001edb09mov [rsi+8], 1
    001edb11mov [rsi+16], 1
    001edb19mov [rsi], 3
    001edb20jmp 0x1edb2c
    001edb22
    001edb22 66 90 f.
    001edb24
    001edb24loc_1edb24:
    001edb24call caml_reraise_exn
    001edb29nop [rax]
    001edb2c
    001edb2cloc_1edb2c:
    001edb2cmov rax, [rsi]
    001edb2fcmp rax, 1
    001edb33jne 0x1edc44
    001edb39mov rax, [rsi+16]
    001edb3dcmp rax, 1
    001edb41je 0x1edb4c
    001edb43mov rax, [rsi+8]
    001edb47jmp 0x1edbe0
    001edb4c
    001edb4cloc_1edb4c:
    001edb4clea r11, [rip+81]
    001edb53push r11
    001edb55push [r14+48]
    001edb59mov [r14+48], rsp
    001edb5dmov rbx, [rsi+48]
    001edb61mov eax, 1
    001edb66mov rdi, [rbx]
    001edb69call rdi
    001edb6bmov rsi, [rsp+40]
    001edb70mov [rsi+8], rax
    001edb74mov [rsi+16], 3
    001edb7cmov rbx, [rsi+24]
    001edb80add rbx, 2
    001edb84mov [rsi+24], rbx
    001edb88cmp rax, 21
    001edb8cjne 0x1edb9a
    001edb8emov rbx, [rsi+32]
    001edb92add rbx, 2
    001edb96mov [rsi+32], rbx
    001edb9a
    001edb9aloc_1edb9a:
    001edb9apop [r14+48]
    001edb9eadd rsp, 8
    001edba2jmp 0x1edbe0
    001edba4lea rbx, [rip+0x13fa6d]
    001edbabmov rbx, [rbx+88]
    001edbafcmp rax, rbx
    001edbb2jne 0x1edbd8
    001edbb4mov rsi, [rsp+24]
    001edbb9mov [rsi+8], 1
    001edbc1mov [rsi+16], 1
    001edbc9mov [rsi], 3
    001edbd0mov eax, 1
    001edbd5jmp 0x1edbe0
    001edbd7
    001edbd7 90 .
    001edbd8
    001edbd8loc_1edbd8:
    001edbd8call caml_reraise_exn
    001edbddnop [rax]
    001edbe0
    001edbe0loc_1edbe0:
    001edbe0cmp rax, 161
    001edbe6je 0x1edc3c
    001edbe8cmp rax, 225
    001edbeeje 0x1edc3c
    001edbf0mov rdi, [rsp+8]
    001edbf5mov rax, [rsp+16]
    001edbfacmp rdi, rax
    001edbfdjg 0x1edc08
    001edbffmov [rsp], rdi
    001edc03jmp 0x1edc0f
    001edc05
    001edc05 0f 1f 00 ...
    001edc08
    001edc08loc_1edc08:
    001edc08mov rdi, rax
    001edc0bmov [rsp], rdi
    001edc0f
    001edc0floc_1edc0f:
    001edc0flea rax, [rip+0x17f56a]
    001edc16mov rax, [rax+360]
    001edc1dmov rbx, [rax+32]
    001edc21mov rax, [rax+24]
    001edc25call Stdlib.Scanf.scan_digit_plus
    001edc2amov rbx, [rsp]
    001edc2esub rbx, rax
    001edc31mov rax, [rsp+8]
    001edc36sub rax, rbx
    001edc39jmp 0x1edc5a
    001edc3b
    001edc3b 90 .
    001edc3c
    001edc3cloc_1edc3c:
    001edc3cmov rax, [rsp+8]
    001edc41jmp 0x1edc5a
    001edc43
    001edc43 90 .
    001edc44
    001edc44loc_1edc44:
    001edc44mov rax, [rsp+8]
    001edc49jmp 0x1edc5a
    001edc4b
    001edc4b 90 .
    001edc4c
    001edc4cloc_1edc4c:
    001edc4cadd rax, -2
    001edc50cmp rax, 61
    001edc54jbe 0x1edc60
    001edc56mov rax, [rsp]
    001edc5a
    001edc5aloc_1edc5a:
    001edc5amov [rsp], rax
    001edc5ejmp 0x1edc98
    001edc60
    001edc60loc_1edc60:
    001edc60sub r15, 24
    001edc64cmp r15, [r14]
    001edc67jb 0x1edf90
    001edc6d
    001edc6dloc_1edc6d:
    001edc6dlea rax, [r15+8]
    001edc71mov [rax-8], 2048
    001edc79lea rbx, [rip+0x17f500]
    001edc80mov rbx, [rbx+8]
    001edc84mov [rax], rbx
    001edc87lea rbx, [rip+0x18015a]
    001edc8emov [rax+8], rbx
    001edc92call caml_raise_exn
    001edc97nop
    001edc98
    001edc98loc_1edc98:
    001edc98cmp rax, 1
    001edc9cje 0x1edf40
    001edca2mov rdi, [rsp+24]
    001edca7mov rax, [rdi+16]
    001edcabcmp rax, 1
    001edcafjne 0x1edd48
    001edcb5lea r11, [rip+84]
    001edcbcpush r11
    001edcbepush [r14+48]
    001edcc2mov [r14+48], rsp
    001edcc6mov rbx, [rdi+48]
    001edccamov eax, 1
    001edccfmov rdi, [rbx]
    001edcd2call rdi
    001edcd4mov rdi, [rsp+40]
    001edcd9mov [rdi+8], rax
    001edcddmov [rdi+16], 3
    001edce5mov rbx, [rdi+24]
    001edce9add rbx, 2
    001edcedmov [rdi+24], rbx
    001edcf1cmp rax, 21
    001edcf5jne 0x1edd03
    001edcf7mov rax, [rdi+32]
    001edcfbadd rax, 2
    001edcffmov [rdi+32], rax
    001edd03
    001edd03loc_1edd03:
    001edd03pop [r14+48]
    001edd07add rsp, 8
    001edd0bjmp 0x1edd48
    001edd0d
    001edd0d 0f 1f 00 ...
    001edd10lea rbx, [rip+0x13f901]
    001edd17mov rbx, [rbx+88]
    001edd1bcmp rax, rbx
    001edd1ejne 0x1edd40
    001edd20mov rdi, [rsp+24]
    001edd25mov [rdi+8], 1
    001edd2dmov [rdi+16], 1
    001edd35mov [rdi], 3
    001edd3cjmp 0x1edd48
    001edd3e
    001edd3e 66 90 f.
    001edd40
    001edd40loc_1edd40:
    001edd40call caml_reraise_exn
    001edd45nop [rax]
    001edd48
    001edd48loc_1edd48:
    001edd48mov rax, [rdi]
    001edd4bcmp rax, 1
    001edd4fjne 0x1edf40
    001edd55mov rax, [rdi+16]
    001edd59cmp rax, 1
    001edd5dje 0x1edd68
    001edd5fmov rbx, [rdi+8]
    001edd63jmp 0x1eddff
    001edd68
    001edd68loc_1edd68:
    001edd68lea r11, [rip+81]
    001edd6fpush r11
    001edd71push [r14+48]
    001edd75mov [r14+48], rsp
    001edd79mov rbx, [rdi+48]
    001edd7dmov eax, 1
    001edd82mov rdi, [rbx]
    001edd85call rdi
    001edd87mov rdi, [rsp+40]
    001edd8cmov [rdi+8], rax
    001edd90mov [rdi+16], 3
    001edd98mov rbx, [rdi+24]
    001edd9cadd rbx, 2
    001edda0mov [rdi+24], rbx
    001edda4cmp rax, 21
    001edda8jne 0x1eddb6
    001eddaamov rbx, [rdi+32]
    001eddaeadd rbx, 2
    001eddb2mov [rdi+32], rbx
    001eddb6
    001eddb6loc_1eddb6:
    001eddb6pop [r14+48]
    001eddbaadd rsp, 8
    001eddbejmp 0x1eddfc
    001eddc0lea rbx, [rip+0x13f851]
    001eddc7mov rbx, [rbx+88]
    001eddcbcmp rax, rbx
    001eddcejne 0x1eddf4
    001eddd0mov rdi, [rsp+24]
    001eddd5mov [rdi+8], 1
    001eddddmov [rdi+16], 1
    001edde5mov [rdi], 3
    001eddecmov eax, 1
    001eddf1jmp 0x1eddfc
    001eddf3
    001eddf3 90 .
    001eddf4
    001eddf4loc_1eddf4:
    001eddf4call caml_reraise_exn
    001eddf9nop [rax]
    001eddfc
    001eddfcloc_1eddfc:
    001eddfcmov rbx, rax
    001eddff
    001eddffloc_1eddff:
    001eddffcmp rbx, 161
    001ede06je 0x1ede1c
    001ede08cmp rbx, 225
    001ede0fje 0x1ede1c
    001ede11mov rax, [rsp]
    001ede15add rsp, 32
    001ede19ret
    001ede1a
    001ede1a 66 90 f.
    001ede1c
    001ede1cloc_1ede1c:
    001ede1cmov rax, [rdi+56]
    001ede20call Stdlib.Buffer.add_char
    001ede25mov rax, [rsp]
    001ede29add rax, -2
    001ede2dmov rbx, [rsp+24]
    001ede32mov [rbx+16], 1
    001ede3amov [rsp], rax
    001ede3ecmp rax, 1
    001ede42je 0x1edef1
    001ede48mov rax, [rbx+16]
    001ede4ccmp rax, 1
    001ede50jne 0x1edee8
    001ede56lea r11, [rip+83]
    001ede5dpush r11
    001ede5fpush [r14+48]
    001ede63mov [r14+48], rsp
    001ede67mov rbx, [rbx+48]
    001ede6bmov eax, 1
    001ede70mov rdi, [rbx]
    001ede73call rdi
    001ede75mov rbx, [rsp+40]
    001ede7amov [rbx+8], rax
    001ede7emov [rbx+16], 3
    001ede86mov rdi, [rbx+24]
    001ede8aadd rdi, 2
    001ede8emov [rbx+24], rdi
    001ede92cmp rax, 21
    001ede96jne 0x1edea4
    001ede98mov rax, [rbx+32]
    001ede9cadd rax, 2
    001edea0mov [rbx+32], rax
    001edea4
    001edea4loc_1edea4:
    001edea4pop [r14+48]
    001edea8add rsp, 8
    001edeacjmp 0x1edee8
    001edeae
    001edeae 66 90 f.
    001edeb0lea rbx, [rip+0x13f761]
    001edeb7mov rbx, [rbx+88]
    001edebbcmp rax, rbx
    001edebejne 0x1edee0
    001edec0mov rbx, [rsp+24]
    001edec5mov [rbx+8], 1
    001edecdmov [rbx+16], 1
    001eded5mov [rbx], 3
    001ededcjmp 0x1edee8
    001edede
    001edede 66 90 f.
    001edee0
    001edee0loc_1edee0:
    001edee0call caml_reraise_exn
    001edee5nop [rax]
    001edee8
    001edee8loc_1edee8:
    001edee8mov rax, [rbx]
    001edeebcmp rax, 1
    001edeefje 0x1edf28
    001edef1
    001edef1loc_1edef1:
    001edef1sub r15, 24
    001edef5cmp r15, [r14]
    001edef8jb 0x1edf86
    001edefe
    001edefeloc_1edefe:
    001edefelea rax, [r15+8]
    001edf02mov [rax-8], 2048
    001edf0alea rbx, [rip+0x17f26f]
    001edf11mov rbx, [rbx+8]
    001edf15mov [rax], rbx
    001edf18lea rbx, [rip+0x17fe91]
    001edf1fmov [rax+8], rbx
    001edf23call caml_raise_exn
    001edf28
    001edf28loc_1edf28:
    001edf28mov rax, [rsp]
    001edf2ccall Stdlib.Scanf.scan_sign
    001edf31mov rbx, [rsp+24]
    001edf36add rsp, 32
    001edf3ajmp 0x1ea9a0
    001edf3f
    001edf3f 90 .
    001edf40
    001edf40loc_1edf40:
    001edf40mov rax, [rsp]
    001edf44add rsp, 32
    001edf48ret
    001edf49
    001edf49 0f 1f 00 ...
    001edf4c
    001edf4cloc_1edf4c:
    001edf4csub r15, 24
    001edf50cmp r15, [r14]
    001edf53jb 0x1edf7f
    001edf55
    001edf55loc_1edf55:
    001edf55lea rax, [r15+8]
    001edf59mov [rax-8], 2048
    001edf61lea rbx, [rip+0x17f218]
    001edf68mov rbx, [rbx+8]
    001edf6cmov [rax], rbx
    001edf6flea rbx, [rip+0x17fe72]
    001edf76mov [rax+8], rbx
    001edf7acall caml_raise_exn
    001edf7f
    001edf7floc_1edf7f:
    001edf7fcall caml_call_gc
    001edf84jmp 0x1edf55
    001edf86
    001edf86loc_1edf86:
    001edf86call caml_call_gc
    001edf8bjmp 0x1edefe
    001edf90
    001edf90loc_1edf90:
    001edf90call caml_call_gc
    001edf95jmp 0x1edc6d
    001edf9a
    001edf9aloc_1edf9a:
    001edf9acall caml_call_gc
    001edf9fjmp 0x1ed96e
    001edfa4
    001edfa4loc_1edfa4:
    001edfa4call caml_call_gc
    001edfa9jmp 0x1ed85e
    001edfae
    001edfaeloc_1edfae:
    001edfaecall caml_call_gc
    001edfb3jmp 0x1ed66e
    001edfb8
    001edfb8loc_1edfb8:
    001edfb8call caml_call_gc
    001edfbdjmp 0x1ed53a
    001edfc2
    001edfc2loc_1edfc2:
    001edfc2call caml_call_gc
    001edfc7jmp 0x1ed35e
    001edfcc
    001edfccloc_1edfcc:
    001edfcccall caml_call_gc
    001edfd1jmp 0x1ed259
    001edfd6
    001edfd6loc_1edfd6:
    001edfd6push 39
    001edfd8call caml_call_realloc_stack
    001edfddpop r10
    001edfdfjmp 0x1ed182
    001ed170