File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    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
    001edfe4
    001edfe4 // align 0x10
    001edff0
    001edff0Stdlib.Scanf.scan_string:
    001edff0sub r15, 48
    001edff4cmp r15, [r14]
    001edff7jb 0x1ee038
    001edff9
    001edff9loc_1edff9:
    001edff9lea rdx, [r15+8]
    001edffdmov [rdx-8], 5367
    001ee005lea rcx, [rip+52]
    001ee00cmov [rdx], rcx
    001ee00fmov rcx, 0x100000000000005
    001ee019mov [rdx+8], rcx
    001ee01dmov rsi, [rsi+24]
    001ee021mov [rdx+16], rsi
    001ee025mov [rdx+24], rax
    001ee029mov [rdx+32], rdi
    001ee02dmov rax, rbx
    001ee030mov rbx, rdx
    001ee033jmp 0x1ee040
    001ee038
    001ee038loc_1ee038:
    001ee038call caml_call_gc
    001ee03djmp 0x1edff9
    001edff0
    001ee03f
    001ee03f // align 0x10
    001ee040
    001ee040Stdlib.Scanf.loop:
    001ee040lea r10, [rsp-360]
    001ee048cmp r10, [r14+40]
    001ee04cjb 0x1ee20f
    001ee052
    001ee052loc_1ee052:
    001ee052sub rsp, 24
    001ee056
    001ee056loc_1ee056:
    001ee056cmp r15, [r14]
    001ee059jbe 0x1ee205
    001ee05f
    001ee05floc_1ee05f:
    001ee05fcmp rax, 1
    001ee063jne 0x1ee06c
    001ee065add rsp, 24
    001ee069ret
    001ee06a
    001ee06a 66 90 f.
    001ee06c
    001ee06cloc_1ee06c:
    001ee06cmov [rsp+8], rbx
    001ee071mov [rsp+16], rax
    001ee076mov rax, [rbx+32]
    001ee07amov rbx, [rax+16]
    001ee07ecmp rbx, 1
    001ee082je 0x1ee090
    001ee084mov rbx, [rax+8]
    001ee088jmp 0x1ee12b
    001ee08d
    001ee08d 0f 1f 00 ...
    001ee090
    001ee090loc_1ee090:
    001ee090mov [rsp], rax
    001ee094lea r11, [rip+81]
    001ee09bpush r11
    001ee09dpush [r14+48]
    001ee0a1mov [r14+48], rsp
    001ee0a5mov rbx, [rax+48]
    001ee0a9mov eax, 1
    001ee0aemov rdi, [rbx]
    001ee0b1call rdi
    001ee0b3mov rdi, [rsp+16]
    001ee0b8mov [rdi+8], rax
    001ee0bcmov [rdi+16], 3
    001ee0c4mov rbx, [rdi+24]
    001ee0c8add rbx, 2
    001ee0ccmov [rdi+24], rbx
    001ee0d0cmp rax, 21
    001ee0d4jne 0x1ee0e2
    001ee0d6mov rbx, [rdi+32]
    001ee0daadd rbx, 2
    001ee0demov [rdi+32], rbx
    001ee0e2
    001ee0e2loc_1ee0e2:
    001ee0e2pop [r14+48]
    001ee0e6add rsp, 8
    001ee0eajmp 0x1ee128
    001ee0eclea rbx, [rip+0x13f525]
    001ee0f3mov rbx, [rbx+88]
    001ee0f7cmp rax, rbx
    001ee0fajne 0x1ee120
    001ee0fcmov rax, [rsp]
    001ee100mov [rax+8], 1
    001ee108mov [rax+16], 1
    001ee110mov [rax], 3
    001ee117mov eax, 1
    001ee11cjmp 0x1ee128
    001ee11e
    001ee11e 66 90 f.
    001ee120
    001ee120loc_1ee120:
    001ee120call caml_reraise_exn
    001ee125nop [rax]
    001ee128
    001ee128loc_1ee128:
    001ee128mov rbx, rax
    001ee12b
    001ee12bloc_1ee12b:
    001ee12bmov rsi, [rsp+8]
    001ee130mov rax, [rsi+32]
    001ee134mov rdi, [rax]
    001ee137cmp rdi, 1
    001ee13bje 0x1ee148
    001ee13dmov rax, [rsp+16]
    001ee142add rsp, 24
    001ee146ret
    001ee147
    001ee147 90 .
    001ee148
    001ee148loc_1ee148:
    001ee148mov rdi, [rsi+24]
    001ee14ctest dil, 1
    001ee150je 0x1ee1b8
    001ee152mov rax, rbx
    001ee155add rax, -18
    001ee159cmp rax, 9
    001ee15djbe 0x1ee16c
    001ee15fcmp rax, 47
    001ee163je 0x1ee1ac
    001ee165mov [rsp+8], rsi
    001ee16ajmp 0x1ee17b
    001ee16c
    001ee16cloc_1ee16c:
    001ee16cadd rax, -4
    001ee170cmp rax, 3
    001ee174ja 0x1ee1ac
    001ee176mov [rsp+8], rsi
    001ee17b
    001ee17bloc_1ee17b:
    001ee17bmov rax, [rsi+32]
    001ee17fmov [rsp], rax
    001ee183mov rax, [rax+56]
    001ee187call Stdlib.Buffer.add_char
    001ee18cmov rax, [rsp+16]
    001ee191add rax, -2
    001ee195mov rbx, [rsp]
    001ee199mov [rbx+16], 1
    001ee1a1mov rbx, [rsp+8]
    001ee1a6jmp 0x1ee056
    001ee1ab
    001ee1ab 90 .
    001ee1ac
    001ee1acloc_1ee1ac:
    001ee1acmov rax, [rsp+16]
    001ee1b1add rsp, 24
    001ee1b5ret
    001ee1b6
    001ee1b6 66 90 f.
    001ee1b8
    001ee1b8loc_1ee1b8:
    001ee1b8mov rdi, [rdi]
    001ee1bbcmp rbx, rdi
    001ee1bejne 0x1ee1d4
    001ee1c0mov [rax+16], 1
    001ee1c8mov rax, [rsp+16]
    001ee1cdadd rsp, 24
    001ee1d1ret
    001ee1d2
    001ee1d2 66 90 f.
    001ee1d4
    001ee1d4loc_1ee1d4:
    001ee1d4mov [rsp+8], rsi
    001ee1d9mov [rsp], rax
    001ee1ddmov rax, [rax+56]
    001ee1e1call Stdlib.Buffer.add_char
    001ee1e6mov rax, [rsp+16]
    001ee1ebadd rax, -2
    001ee1efmov rbx, [rsp]
    001ee1f3mov [rbx+16], 1
    001ee1fbmov rbx, [rsp+8]
    001ee200jmp 0x1ee056
    001ee205
    001ee205loc_1ee205:
    001ee205call caml_call_gc
    001ee20ajmp 0x1ee05f
    001ee20f
    001ee20floc_1ee20f:
    001ee20fpush 38
    001ee211call caml_call_realloc_stack
    001ee216pop r10
    001ee218jmp 0x1ee052
    001ee040
    001ee21d
    001ee21d // align 0x10
    001ee220
    001ee220Stdlib.Scanf.scan_char:
    001ee220lea r10, [rsp-352]
    001ee228cmp r10, [r14+40]
    001ee22cjb 0x1ee330
    001ee232
    001ee232loc_1ee232:
    001ee232sub rsp, 16
    001ee236mov [rsp], rax
    001ee23amov rdi, rbx
    001ee23dmov rax, [rdi+16]
    001ee241cmp rax, 1
    001ee245je 0x1ee250
    001ee247mov rbx, [rdi+8]
    001ee24bjmp 0x1ee2ef
    001ee250
    001ee250loc_1ee250:
    001ee250mov [rsp+8], rdi
    001ee255lea r11, [rip+84]
    001ee25cpush r11
    001ee25epush [r14+48]
    001ee262mov [r14+48], rsp
    001ee266mov rbx, [rdi+48]
    001ee26amov eax, 1
    001ee26fmov rdi, [rbx]
    001ee272call rdi
    001ee274mov rdi, [rsp+24]
    001ee279mov [rdi+8], rax
    001ee27dmov [rdi+16], 3
    001ee285mov rbx, [rdi+24]
    001ee289add rbx, 2
    001ee28dmov [rdi+24], rbx
    001ee291cmp rax, 21
    001ee295jne 0x1ee2a3
    001ee297mov rbx, [rdi+32]
    001ee29badd rbx, 2
    001ee29fmov [rdi+32], rbx
    001ee2a3
    001ee2a3loc_1ee2a3:
    001ee2a3pop [r14+48]
    001ee2a7add rsp, 8
    001ee2abjmp 0x1ee2ec
    001ee2ad
    001ee2ad 0f 1f 00 ...
    001ee2b0lea rbx, [rip+0x13f361]
    001ee2b7mov rbx, [rbx+88]
    001ee2bbcmp rax, rbx
    001ee2bejne 0x1ee2e4
    001ee2c0mov rdi, [rsp+8]
    001ee2c5mov [rdi+8], 1
    001ee2cdmov [rdi+16], 1
    001ee2d5mov [rdi], 3
    001ee2dcmov eax, 1
    001ee2e1jmp 0x1ee2ec
    001ee2e3
    001ee2e3 90 .
    001ee2e4
    001ee2e4loc_1ee2e4:
    001ee2e4call caml_reraise_exn
    001ee2e9nop [rax]
    001ee2ec
    001ee2ecloc_1ee2ec:
    001ee2ecmov rbx, rax
    001ee2ef
    001ee2efloc_1ee2ef:
    001ee2efmov rax, [rdi]
    001ee2f2cmp rax, 1
    001ee2f6je 0x1ee308
    001ee2f8lea rax, [rip+0x13f319]
    001ee2ffmov rax, [rax+88]
    001ee303call caml_raise_exn
    001ee308
    001ee308loc_1ee308:
    001ee308mov [rsp+8], rdi
    001ee30dmov rax, [rdi+56]
    001ee311call Stdlib.Buffer.add_char
    001ee316mov rax, [rsp]
    001ee31aadd rax, -2
    001ee31emov rbx, [rsp+8]
    001ee323mov [rbx+16], 1
    001ee32badd rsp, 16
    001ee32fret
    001ee330
    001ee330loc_1ee330:
    001ee330push 37
    001ee332call caml_call_realloc_stack
    001ee337pop r10
    001ee339jmp 0x1ee232
    001ee220
    001ee33e
    001ee33e // align 0x10
    001ee340
    001ee340Stdlib.Scanf.char_for_backslash:
    001ee340mov rbx, rax
    001ee343cmp rbx, 221
    001ee34ajl 0x1ee38c
    001ee34ccmp rbx, 235
    001ee353jge 0x1ee39c
    001ee355mov rax, rbx
    001ee358add rax, -220
    001ee35esar rax, 1
    001ee361lea rdx, [rip+0x404dc]
    001ee368movsxd rax, [rdx+4*rax]
    001ee36cadd rdx, rax
    001ee36fjmp rdx
    001ee371nop [rax]
    001ee374mov eax, 21
    001ee379ret
    001ee37anop
    001ee37cmov eax, 27
    001ee381ret
    001ee382nop
    001ee384mov eax, 19
    001ee389ret
    001ee38anop
    001ee38c
    001ee38cloc_1ee38c:
    001ee38ccmp rbx, 197
    001ee393jne 0x1ee39c
    001ee395mov eax, 17
    001ee39aret
    001ee39bnop
    001ee39c
    001ee39cloc_1ee39c:
    001ee39cmov rax, rbx
    001ee39fret
    001ee340
    001ee3a0
    001ee3a0Stdlib.Scanf.decimal_value_of_char:
    001ee3a0add rax, -96
    001ee3a4ret
    001ee3a0
    001ee3a5
    001ee3a5 // align 0x10
    001ee3b0
    001ee3b0Stdlib.Scanf.char_for_decimal_code:
    001ee3b0lea r10, [rsp-344]
    001ee3b8cmp r10, [r14+40]
    001ee3bcjb 0x1ee462
    001ee3c2
    001ee3c2loc_1ee3c2:
    001ee3c2sub rsp, 24
    001ee3c6mov rsi, rbx
    001ee3c9imul rsi, rsi, 10
    001ee3cdmov rdx, rax
    001ee3d0imul rdx, rdx, 100
    001ee3d4add rdx, rsi
    001ee3d7lea rsi, [rdx+rdi-10766]
    001ee3dfcmp rsi, 1
    001ee3e3jl 0x1ee3fc
    001ee3e5cmp rsi, 511
    001ee3ecjg 0x1ee3fc
    001ee3eemov rax, rsi
    001ee3f1add rsp, 24
    001ee3f5jmp 0x195c60
    001ee3fa
    001ee3fa 66 90 f.
    001ee3fc
    001ee3fcloc_1ee3fc:
    001ee3fcmov [rsp+16], rdi
    001ee401mov [rsp+8], rbx
    001ee406mov [rsp], rax
    001ee40alea rax, [rip+0x17f447]
    001ee411call Stdlib.Printf.sprintf
    001ee416mov rsi, rax
    001ee419mov rax, [rsp]
    001ee41dmov rbx, [rsp+8]
    001ee422mov rdi, [rsp+16]
    001ee427call caml_apply3
    001ee42csub r15, 24
    001ee430cmp r15, [r14]
    001ee433jb 0x1ee45b
    001ee435
    001ee435loc_1ee435:
    001ee435lea rbx, [r15+8]
    001ee439mov [rbx-8], 2048
    001ee441lea rdi, [rip+0x17ed38]
    001ee448mov rdi, [rdi+8]
    001ee44cmov [rbx], rdi
    001ee44fmov [rbx+8], rax
    001ee453mov rax, rbx
    001ee456call caml_raise_exn
    001ee45b
    001ee45bloc_1ee45b:
    001ee45bcall caml_call_gc
    001ee460jmp 0x1ee435
    001ee462
    001ee462loc_1ee462:
    001ee462push 36
    001ee464call caml_call_realloc_stack
    001ee469pop r10
    001ee46bjmp 0x1ee3c2
    001ee3b0
    001ee470
    001ee470Stdlib.Scanf.hexadecimal_value_of_char:
    001ee470cmp rax, 195
    001ee476jl 0x1ee480
    001ee478add rax, -174
    001ee47eret
    001ee47f
    001ee47f 90 .
    001ee480
    001ee480loc_1ee480:
    001ee480cmp rax, 131
    001ee486jl 0x1ee490
    001ee488add rax, -110
    001ee48cret
    001ee48d
    001ee48d 0f 1f 00 ...
    001ee490
    001ee490loc_1ee490:
    001ee490add rax, -96
    001ee494ret
    001ee470
    001ee495
    001ee495 // align 0x10
    001ee4a0
    001ee4a0Stdlib.Scanf.char_for_hexadecimal_code:
    001ee4a0lea r10, [rsp-336]
    001ee4a8cmp r10, [r14+40]
    001ee4acjb 0x1ee59c
    001ee4b2
    001ee4b2loc_1ee4b2:
    001ee4b2sub rsp, 16
    001ee4b6mov rdi, rax
    001ee4b9cmp rbx, 195
    001ee4c0jl 0x1ee4d0
    001ee4c2mov rsi, rbx
    001ee4c5add rsi, -174
    001ee4ccjmp 0x1ee4eb
    001ee4ce
    001ee4ce 66 90 f.
    001ee4d0
    001ee4d0loc_1ee4d0:
    001ee4d0cmp rbx, 131
    001ee4d7jl 0x1ee4e4
    001ee4d9mov rsi, rbx
    001ee4dcadd rsi, -110
    001ee4e0jmp 0x1ee4eb
    001ee4e2
    001ee4e2 66 90 f.
    001ee4e4
    001ee4e4loc_1ee4e4:
    001ee4e4mov rsi, rbx
    001ee4e7add rsi, -96
    001ee4eb
    001ee4ebloc_1ee4eb:
    001ee4ebcmp rdi, 195
    001ee4f2jl 0x1ee500
    001ee4f4mov rax, rdi
    001ee4f7add rax, -174
    001ee4fdjmp 0x1ee51b
    001ee4ff
    001ee4ff 90 .
    001ee500
    001ee500loc_1ee500:
    001ee500cmp rdi, 131
    001ee507jl 0x1ee514
    001ee509mov rax, rdi
    001ee50cadd rax, -110
    001ee510jmp 0x1ee51b
    001ee512
    001ee512 66 90 f.
    001ee514
    001ee514loc_1ee514:
    001ee514mov rax, rdi
    001ee517add rax, -96
    001ee51b
    001ee51bloc_1ee51b:
    001ee51bshl rax, 4
    001ee51fadd rax, rsi
    001ee522add rax, -16
    001ee526cmp rax, 1
    001ee52ajl 0x1ee540
    001ee52ccmp rax, 511
    001ee532jg 0x1ee540
    001ee534add rsp, 16
    001ee538jmp 0x195c60
    001ee53d
    001ee53d 0f 1f 00 ...
    001ee540
    001ee540loc_1ee540:
    001ee540mov [rsp+8], rbx
    001ee545mov [rsp], rdi
    001ee549lea rax, [rip+0x17f270]
    001ee550call Stdlib.Printf.sprintf
    001ee555mov rdi, rax
    001ee558mov rax, [rsp]
    001ee55cmov rbx, [rsp+8]
    001ee561call caml_apply2
    001ee566sub r15, 24
    001ee56acmp r15, [r14]
    001ee56djb 0x1ee595
    001ee56f
    001ee56floc_1ee56f:
    001ee56flea rbx, [r15+8]
    001ee573mov [rbx-8], 2048
    001ee57blea rdi, [rip+0x17ebfe]
    001ee582mov rdi, [rdi+8]
    001ee586mov [rbx], rdi
    001ee589mov [rbx+8], rax
    001ee58dmov rax, rbx
    001ee590call caml_raise_exn
    001ee595
    001ee595loc_1ee595:
    001ee595call caml_call_gc
    001ee59ajmp 0x1ee56f
    001ee59c
    001ee59cloc_1ee59c:
    001ee59cpush 35
    001ee59ecall caml_call_realloc_stack
    001ee5a3pop r10
    001ee5a5jmp 0x1ee4b2
    001ee4a0
    001ee5aa
    001ee5aa // align 0x10
    001ee5b0
    001ee5b0Stdlib.Scanf.check_next_char:
    001ee5b0lea r10, [rsp-352]
    001ee5b8cmp r10, [r14+40]
    001ee5bcjb 0x1ee73e
    001ee5c2
    001ee5c2loc_1ee5c2:
    001ee5c2sub rsp, 16
    001ee5c6cmp rbx, 1
    001ee5cajne 0x1ee61c
    001ee5ccmov [rsp], rax
    001ee5d0lea rax, [rip+0x17f971]
    001ee5d7call Stdlib.Printf.sprintf
    001ee5dcmov rbx, rax
    001ee5dfmov rdi, [rbx]
    001ee5e2mov rax, [rsp]
    001ee5e6call rdi
    001ee5e8sub r15, 24
    001ee5eccmp r15, [r14]
    001ee5efjb 0x1ee734
    001ee5f5
    001ee5f5loc_1ee5f5:
    001ee5f5lea rbx, [r15+8]
    001ee5f9mov [rbx-8], 2048
    001ee601lea rdi, [rip+0x17eb78]
    001ee608mov rdi, [rdi+8]
    001ee60cmov [rbx], rdi
    001ee60fmov [rbx+8], rax
    001ee613mov rax, rbx
    001ee616call caml_raise_exn
    001ee61bnop
    001ee61c
    001ee61cloc_1ee61c:
    001ee61cmov [rsp], rax
    001ee620mov rax, [rdi+16]
    001ee624cmp rax, 1
    001ee628je 0x1ee634
    001ee62amov rax, [rdi+8]
    001ee62ejmp 0x1ee6d0
    001ee633
    001ee633 90 .
    001ee634
    001ee634loc_1ee634:
    001ee634mov [rsp+8], rdi
    001ee639lea r11, [rip+84]
    001ee640push r11
    001ee642push [r14+48]
    001ee646mov [r14+48], rsp
    001ee64amov rbx, [rdi+48]
    001ee64emov eax, 1
    001ee653mov rdi, [rbx]
    001ee656call rdi
    001ee658mov rdi, [rsp+24]
    001ee65dmov [rdi+8], rax
    001ee661mov [rdi+16], 3
    001ee669mov rbx, [rdi+24]
    001ee66dadd rbx, 2
    001ee671mov [rdi+24], rbx
    001ee675cmp rax, 21
    001ee679jne 0x1ee687
    001ee67bmov rbx, [rdi+32]
    001ee67fadd rbx, 2
    001ee683mov [rdi+32], rbx
    001ee687
    001ee687loc_1ee687:
    001ee687pop [r14+48]
    001ee68badd rsp, 8
    001ee68fjmp 0x1ee6d0
    001ee691
    001ee691 0f 1f 00 ...
    001ee694lea rbx, [rip+0x13ef7d]
    001ee69bmov rbx, [rbx+88]
    001ee69fcmp rax, rbx
    001ee6a2jne 0x1ee6c8
    001ee6a4mov rdi, [rsp+8]
    001ee6a9mov [rdi+8], 1
    001ee6b1mov [rdi+16], 1
    001ee6b9mov [rdi], 3
    001ee6c0mov eax, 1
    001ee6c5jmp 0x1ee6d0
    001ee6c7
    001ee6c7 90 .
    001ee6c8
    001ee6c8loc_1ee6c8:
    001ee6c8call caml_reraise_exn
    001ee6cdnop [rax]
    001ee6d0
    001ee6d0loc_1ee6d0:
    001ee6d0mov rbx, [rdi]
    001ee6d3cmp rbx, 1
    001ee6d7je 0x1ee728
    001ee6d9mov rax, [rsp]
    001ee6ddmov [rsp], rax
    001ee6e1lea rax, [rip+0x17f738]
    001ee6e8call Stdlib.Printf.sprintf
    001ee6edmov rbx, rax
    001ee6f0mov rdi, [rbx]
    001ee6f3mov rax, [rsp]
    001ee6f7call rdi
    001ee6f9sub r15, 24
    001ee6fdcmp r15, [r14]
    001ee700jb 0x1ee72d
    001ee702
    001ee702loc_1ee702:
    001ee702lea rbx, [r15+8]
    001ee706mov [rbx-8], 2048
    001ee70elea rdi, [rip+0x17ea6b]
    001ee715mov rdi, [rdi+8]
    001ee719mov [rbx], rdi
    001ee71cmov [rbx+8], rax
    001ee720mov rax, rbx
    001ee723call caml_raise_exn
    001ee728
    001ee728loc_1ee728:
    001ee728add rsp, 16
    001ee72cret
    001ee72d
    001ee72dloc_1ee72d:
    001ee72dcall caml_call_gc
    001ee732jmp 0x1ee702
    001ee734
    001ee734loc_1ee734:
    001ee734call caml_call_gc
    001ee739jmp 0x1ee5f5
    001ee73e
    001ee73eloc_1ee73e:
    001ee73epush 37
    001ee740call caml_call_realloc_stack
    001ee745pop r10
    001ee747jmp 0x1ee5c2
    001ee5b0
    001ee74c
    001ee74c // align 0x10
    001ee750
    001ee750Stdlib.Scanf.fun:
    001ee750mov rsi, rax
    001ee753mov rdx, rbx
    001ee756mov rax, [rdi+24]
    001ee75amov rbx, rsi
    001ee75dmov rdi, rdx
    001ee760jmp 0x1ee5b0
    001ee750
    001ee765
    001ee765 // align 0x10
    001ee770
    001ee770Stdlib.Scanf.fun:
    001ee770mov rsi, rax
    001ee773mov rdx, rbx
    001ee776mov rax, [rdi+24]
    001ee77amov rbx, rsi
    001ee77dmov rdi, rdx
    001ee780jmp 0x1ee5b0
    001ee770
    001ee785
    001ee785 // align 0x10
    001ee790
    001ee790Stdlib.Scanf.scan_backslash_char:
    001ee790lea r10, [rsp-360]
    001ee798cmp r10, [r14+40]
    001ee79cjb 0x1eeb21
    001ee7a2
    001ee7a2loc_1ee7a2:
    001ee7a2sub rsp, 40
    001ee7a6mov rsi, rax
    001ee7a9mov [rsp+24], rsi
    001ee7aemov rdx, rbx
    001ee7b1mov [rsp+32], rdx
    001ee7b6mov [rsp+8], rdi
    001ee7bblea rax, [rip+0x17e9be]
    001ee7c2mov rax, [rax+544]
    001ee7c9mov rax, [rax+24]
    001ee7cdmov rbx, rsi
    001ee7d0mov rdi, rdx
    001ee7d3call Stdlib.Scanf.check_next_char
    001ee7d8mov rbx, rax
    001ee7dbcmp rbx, 81
    001ee7dfjl 0x1eea1c
    001ee7e5cmp rbx, 117
    001ee7e9jl 0x1ee8c8
    001ee7efmov rax, rbx
    001ee7f2add rax, -184
    001ee7f8cmp rax, 57
    001ee7fcja 0x1eea28
    001ee802sar rax, 1
    001ee805lea rdx, [rip+0x40054]
    001ee80cmovsxd rax, [rdx+4*rax]
    001ee810add rdx, rax
    001ee813jmp rdx
    001ee815nop [rax]
    001ee818sub r15, 40
    001ee81ccmp r15, [r14]
    001ee81fjb 0x1eeb17
    001ee825
    001ee825loc_1ee825:
    001ee825lea rbx, [r15+8]
    001ee829mov [rsp], rbx
    001ee82dmov [rbx-8], 4343
    001ee835lea rax, [rip+1060]
    001ee83cmov [rbx], rax
    001ee83fmov rax, 0x100000000000005
    001ee849mov [rbx+8], rax
    001ee84dmov rax, [rsp+8]
    001ee852mov rax, [rax+24]
    001ee856mov [rbx+16], rax
    001ee85amov rax, [rsp+32]
    001ee85fmov [rbx+24], rax
    001ee863mov eax, 1
    001ee868call Stdlib.Scanf.get_digit
    001ee86dmov [rsp+8], rax
    001ee872mov eax, 1
    001ee877mov rbx, [rsp]
    001ee87bcall Stdlib.Scanf.get_digit
    001ee880mov rbx, rax
    001ee883mov rax, [rsp+8]
    001ee888call Stdlib.Scanf.char_for_hexadecimal_code
    001ee88dmov rbx, rax
    001ee890mov rax, [rsp+24]
    001ee895add rax, -4
    001ee899mov [rsp], rax
    001ee89dmov rax, [rsp+32]
    001ee8a2mov rax, [rax+56]
    001ee8a6call Stdlib.Buffer.add_char
    001ee8abmov rax, [rsp]
    001ee8afadd rax, -2
    001ee8b3mov rbx, [rsp+32]
    001ee8b8mov [rbx+16], 1
    001ee8c0add rsp, 40
    001ee8c4ret
    001ee8c5nop [rax]
    001ee8c8
    001ee8c8loc_1ee8c8:
    001ee8c8cmp rbx, 97
    001ee8ccjl 0x1eea28
    001ee8d2mov [rsp+16], rbx
    001ee8d7sub r15, 40
    001ee8dbcmp r15, [r14]
    001ee8dejb 0x1eeb0d
    001ee8e4
    001ee8e4loc_1ee8e4:
    001ee8e4lea rbx, [r15+8]
    001ee8e8mov [rsp], rbx
    001ee8ecmov [rbx-8], 4343
    001ee8f4lea rax, [rip+565]
    001ee8fbmov [rbx], rax
    001ee8femov rax, 0x100000000000005
    001ee908mov [rbx+8], rax
    001ee90cmov rax, [rsp+8]
    001ee911mov rax, [rax+24]
    001ee915mov [rbx+16], rax
    001ee919mov rax, [rsp+32]
    001ee91emov [rbx+24], rax
    001ee922mov eax, 1
    001ee927call Stdlib.Scanf.get_digit
    001ee92cmov [rsp+8], rax
    001ee931mov eax, 1
    001ee936mov rbx, [rsp]
    001ee93acall Stdlib.Scanf.get_digit
    001ee93fmov rsi, [rsp+8]
    001ee944mov rbx, rsi
    001ee947imul rbx, rbx, 10
    001ee94bmov rdx, [rsp+16]
    001ee950mov rdi, rdx
    001ee953imul rdi, rdi, 100
    001ee957add rdi, rbx
    001ee95alea rbx, [rdi+rax-10766]
    001ee962cmp rbx, 1
    001ee966jl 0x1ee980
    001ee968cmp rbx, 511
    001ee96fjg 0x1ee980
    001ee971mov rax, rbx
    001ee974call camlStdlib.char_of_int_148
    001ee979mov rbx, rax
    001ee97cjmp 0x1ee9e4
    001ee97enop
    001ee980
    001ee980loc_1ee980:
    001ee980mov [rsp+16], rax
    001ee985mov [rsp+8], rsi
    001ee98amov [rsp], rdx
    001ee98elea rax, [rip+0x17eec3]
    001ee995call Stdlib.Printf.sprintf
    001ee99amov rsi, rax
    001ee99dmov rax, [rsp]
    001ee9a1mov rbx, [rsp+8]
    001ee9a6mov rdi, [rsp+16]
    001ee9abcall caml_apply3
    001ee9b0sub r15, 24
    001ee9b4cmp r15, [r14]
    001ee9b7jb 0x1eeb03
    001ee9bd
    001ee9bdloc_1ee9bd:
    001ee9bdlea rbx, [r15+8]
    001ee9c1mov [rbx-8], 2048
    001ee9c9lea rdi, [rip+0x17e7b0]
    001ee9d0mov rdi, [rdi+8]
    001ee9d4mov [rbx], rdi
    001ee9d7mov [rbx+8], rax
    001ee9dbmov rax, rbx
    001ee9decall caml_raise_exn
    001ee9e3nop
    001ee9e4
    001ee9e4loc_1ee9e4:
    001ee9e4mov rax, [rsp+24]
    001ee9e9add rax, -4
    001ee9edmov [rsp], rax
    001ee9f1mov rax, [rsp+32]
    001ee9f6mov rax, [rax+56]
    001ee9facall Stdlib.Buffer.add_char
    001ee9ffmov rax, [rsp]
    001eea03add rax, -2
    001eea07mov rbx, [rsp+32]
    001eea0cmov [rbx+16], 1
    001eea14add rsp, 40
    001eea18ret
    001eea19nop [rax]
    001eea1c
    001eea1cloc_1eea1c:
    001eea1ccmp rbx, 69
    001eea20je 0x1eea78
    001eea22cmp rbx, 79
    001eea26jge 0x1eea78
    001eea28
    001eea28loc_1eea28:
    001eea28mov [rsp], rbx
    001eea2clea rax, [rip+0x17f7dd]
    001eea33call Stdlib.Printf.sprintf
    001eea38mov rbx, rax
    001eea3bmov rdi, [rbx]
    001eea3emov rax, [rsp]
    001eea42call rdi
    001eea44sub r15, 24
    001eea48cmp r15, [r14]
    001eea4bjb 0x1eeaf9
    001eea51
    001eea51loc_1eea51:
    001eea51lea rbx, [r15+8]
    001eea55mov [rbx-8], 2048
    001eea5dlea rdi, [rip+0x17e71c]
    001eea64mov rdi, [rdi+8]
    001eea68mov [rbx], rdi
    001eea6bmov [rbx+8], rax
    001eea6fmov rax, rbx
    001eea72call caml_raise_exn
    001eea77nop
    001eea78
    001eea78loc_1eea78:
    001eea78cmp rbx, 221
    001eea7fjl 0x1eeac0
    001eea81cmp rbx, 235
    001eea88jge 0x1eead0
    001eea8amov rax, rbx
    001eea8dadd rax, -220
    001eea93sar rax, 1
    001eea96lea rdx, [rip+0x3fe37]
    001eea9dmovsxd rax, [rdx+4*rax]
    001eeaa1add rdx, rax
    001eeaa4jmp rdx
    001eeaa6nop
    001eeaa8mov ebx, 21
    001eeaadjmp 0x1eead0
    001eeaafnop
    001eeab0mov ebx, 27
    001eeab5jmp 0x1eead0
    001eeab7nop
    001eeab8mov ebx, 19
    001eeabdjmp 0x1eead0
    001eeabfnop
    001eeac0
    001eeac0loc_1eeac0:
    001eeac0cmp rbx, 197
    001eeac7jne 0x1eead0
    001eeac9mov ebx, 17
    001eeacejmp 0x1eead0
    001eead0
    001eead0loc_1eead0:
    001eead0mov rax, [rsp+32]
    001eead5mov rax, [rax+56]
    001eead9call Stdlib.Buffer.add_char
    001eeademov rax, [rsp+24]
    001eeae3add rax, -2
    001eeae7mov rbx, [rsp+32]
    001eeaecmov [rbx+16], 1
    001eeaf4add rsp, 40
    001eeaf8ret
    001eeaf9
    001eeaf9loc_1eeaf9:
    001eeaf9call caml_call_gc
    001eeafejmp 0x1eea51
    001eeb03
    001eeb03loc_1eeb03:
    001eeb03call caml_call_gc
    001eeb08jmp 0x1ee9bd
    001eeb0d
    001eeb0dloc_1eeb0d:
    001eeb0dcall caml_call_gc
    001eeb12jmp 0x1ee8e4
    001eeb17
    001eeb17loc_1eeb17:
    001eeb17call caml_call_gc
    001eeb1cjmp 0x1ee825
    001eeb21
    001eeb21loc_1eeb21:
    001eeb21push 38
    001eeb23call caml_call_realloc_stack
    001eeb28pop r10
    001eeb2ajmp 0x1ee7a2
    001ee790
    001eeb2f
    001eeb2f // align 0x10
    001eeb30
    001eeb30Stdlib.Scanf.get_digit:
    001eeb30lea r10, [rsp-344]
    001eeb38cmp r10, [r14+40]
    001eeb3cjb 0x1eec48
    001eeb42
    001eeb42loc_1eeb42:
    001eeb42sub rsp, 8
    001eeb46mov rax, [rbx+24]
    001eeb4amov [rsp], rax
    001eeb4elea r11, [rip+83]
    001eeb55push r11
    001eeb57push [r14+48]
    001eeb5bmov [r14+48], rsp
    001eeb5fmov rbx, [rax+48]
    001eeb63mov eax, 1
    001eeb68mov rdi, [rbx]
    001eeb6bcall rdi
    001eeb6dmov rdi, [rsp+16]
    001eeb72mov [rdi+8], rax
    001eeb76mov [rdi+16], 3
    001eeb7emov rbx, [rdi+24]
    001eeb82add rbx, 2
    001eeb86mov [rdi+24], rbx
    001eeb8acmp rax, 21
    001eeb8ejne 0x1eeb9c
    001eeb90mov rbx, [rdi+32]
    001eeb94add rbx, 2
    001eeb98mov [rdi+32], rbx
    001eeb9c
    001eeb9cloc_1eeb9c:
    001eeb9cpop [r14+48]
    001eeba0add rsp, 8
    001eeba4jmp 0x1eebe4
    001eeba6
    001eeba6 66 90 f.
    001eeba8lea rbx, [rip+0x13ea69]
    001eebafmov rbx, [rbx+88]
    001eebb3cmp rax, rbx
    001eebb6jne 0x1eebdc
    001eebb8mov rax, [rsp]
    001eebbcmov [rax+8], 1
    001eebc4mov [rax+16], 1
    001eebccmov [rax], 3
    001eebd3mov eax, 1
    001eebd8jmp 0x1eebe4
    001eebda
    001eebda 66 90 f.
    001eebdc
    001eebdcloc_1eebdc:
    001eebdccall caml_reraise_exn
    001eebe1nop [rax]
    001eebe4
    001eebe4loc_1eebe4:
    001eebe4mov rbx, rax
    001eebe7add rbx, -96
    001eebebcmp rbx, 19
    001eebefjbe 0x1eec3c
    001eebf1mov [rsp], rax
    001eebf5lea rax, [rip+0x17f614]
    001eebfccall Stdlib.Printf.sprintf
    001eec01mov rbx, rax
    001eec04mov rdi, [rbx]
    001eec07mov rax, [rsp]
    001eec0bcall rdi
    001eec0dsub r15, 24
    001eec11cmp r15, [r14]
    001eec14jb 0x1eec41
    001eec16
    001eec16loc_1eec16:
    001eec16lea rbx, [r15+8]
    001eec1amov [rbx-8], 2048
    001eec22lea rdi, [rip+0x17e557]
    001eec29mov rdi, [rdi+8]
    001eec2dmov [rbx], rdi
    001eec30mov [rbx+8], rax
    001eec34mov rax, rbx
    001eec37call caml_raise_exn
    001eec3c
    001eec3cloc_1eec3c:
    001eec3cadd rsp, 8
    001eec40ret
    001eec41
    001eec41loc_1eec41:
    001eec41call caml_call_gc
    001eec46jmp 0x1eec16
    001eec48
    001eec48loc_1eec48:
    001eec48push 36
    001eec4acall caml_call_realloc_stack
    001eec4fpop r10
    001eec51jmp 0x1eeb42
    001eeb30
    001eec56
    001eec56 // align 0x10
    001eec60
    001eec60Stdlib.Scanf.get_digit:
    001eec60lea r10, [rsp-344]
    001eec68cmp r10, [r14+40]
    001eec6cjb 0x1eed94
    001eec72
    001eec72loc_1eec72:
    001eec72sub rsp, 8
    001eec76mov rax, [rbx+24]
    001eec7amov [rsp], rax
    001eec7elea r11, [rip+83]
    001eec85push r11
    001eec87push [r14+48]
    001eec8bmov [r14+48], rsp
    001eec8fmov rbx, [rax+48]
    001eec93mov eax, 1
    001eec98mov rdi, [rbx]
    001eec9bcall rdi
    001eec9dmov rdi, [rsp+16]
    001eeca2mov [rdi+8], rax
    001eeca6mov [rdi+16], 3
    001eecaemov rbx, [rdi+24]
    001eecb2add rbx, 2
    001eecb6mov [rdi+24], rbx
    001eecbacmp rax, 21
    001eecbejne 0x1eeccc
    001eecc0mov rbx, [rdi+32]
    001eecc4add rbx, 2
    001eecc8mov [rdi+32], rbx
    001eeccc
    001eecccloc_1eeccc:
    001eecccpop [r14+48]
    001eecd0add rsp, 8
    001eecd4jmp 0x1eed14
    001eecd6
    001eecd6 66 90 f.
    001eecd8lea rbx, [rip+0x13e939]
    001eecdfmov rbx, [rbx+88]
    001eece3cmp rax, rbx
    001eece6jne 0x1eed0c
    001eece8mov rax, [rsp]
    001eececmov [rax+8], 1
    001eecf4mov [rax+16], 1
    001eecfcmov [rax], 3
    001eed03mov eax, 1
    001eed08jmp 0x1eed14
    001eed0a
    001eed0a 66 90 f.
    001eed0c
    001eed0cloc_1eed0c:
    001eed0ccall caml_reraise_exn
    001eed11nop [rax]
    001eed14
    001eed14loc_1eed14:
    001eed14mov rbx, rax
    001eed17add rbx, -96
    001eed1bcmp rbx, 45
    001eed1fjbe 0x1eed30
    001eed21add rbx, -98
    001eed25cmp rbx, 11
    001eed29jbe 0x1eed88
    001eed2bjmp 0x1eed3a
    001eed2d
    001eed2d 0f 1f 00 ...
    001eed30
    001eed30loc_1eed30:
    001eed30add rbx, -20
    001eed34cmp rbx, 13
    001eed38ja 0x1eed88
    001eed3a
    001eed3aloc_1eed3a:
    001eed3amov [rsp], rax
    001eed3elea rax, [rip+0x17f4cb]
    001eed45call Stdlib.Printf.sprintf
    001eed4amov rbx, rax
    001eed4dmov rdi, [rbx]
    001eed50mov rax, [rsp]
    001eed54call rdi
    001eed56sub r15, 24
    001eed5acmp r15, [r14]
    001eed5djb 0x1eed8d
    001eed5f
    001eed5floc_1eed5f:
    001eed5flea rbx, [r15+8]
    001eed63mov [rbx-8], 2048
    001eed6blea rdi, [rip+0x17e40e]
    001eed72mov rdi, [rdi+8]
    001eed76mov [rbx], rdi
    001eed79mov [rbx+8], rax
    001eed7dmov rax, rbx
    001eed80call caml_raise_exn
    001eed85nop [rax]
    001eed88
    001eed88loc_1eed88:
    001eed88add rsp, 8
    001eed8cret
    001eed8d
    001eed8dloc_1eed8d:
    001eed8dcall caml_call_gc
    001eed92jmp 0x1eed5f
    001eed94
    001eed94loc_1eed94:
    001eed94push 36
    001eed96call caml_call_realloc_stack
    001eed9bpop r10
    001eed9djmp 0x1eec72
    001eec60
    001eeda2
    001eeda2 // align 0x10
    001eedb0
    001eedb0Stdlib.Scanf.scan_caml_char:
    001eedb0sub r15, 88
    001eedb4cmp r15, [r14]
    001eedb7jb 0x1eee33
    001eedb9
    001eedb9loc_1eedb9:
    001eedb9lea rsi, [r15+8]
    001eedbdmov [rsi-8], 10487
    001eedc5lea rdx, [rip+116]
    001eedccmov [rsi], rdx
    001eedcfmov rdx, 0x100000000000011
    001eedd9mov [rsi+8], rdx
    001eedddmov [rsi+16], 3321
    001eede5lea rdx, [rip+500]
    001eedecmov [rsi+24], rdx
    001eedf0mov rdx, 0x10000000000000b
    001eedfamov [rsi+32], rdx
    001eedfemov [rsi+40], 6393
    001eee06lea rdx, [rip+707]
    001eee0dmov [rsi+48], rdx
    001eee11mov rdx, 0x100000000000005
    001eee1bmov [rsi+56], rdx
    001eee1fmov rdi, [rdi+24]
    001eee23mov [rsi+64], rdi
    001eee27mov [rsi+72], rbx
    001eee2bmov rbx, rsi
    001eee2ejmp 0x1eee40
    001eee33
    001eee33loc_1eee33:
    001eee33call caml_call_gc
    001eee38jmp 0x1eedb9
    001eedb0