File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001e9dd0
    001e9dd0Stdlib.Scanf.character_mismatch:
    001e9dd0lea r10, [rsp-336]
    001e9dd8cmp r10, [r14+40]
    001e9ddcjb 0x1e9e3e
    001e9dde
    001e9ddeloc_1e9dde:
    001e9ddesub rsp, 16
    001e9de2mov [rsp+8], rbx
    001e9de7mov [rsp], rax
    001e9deblea rax, [rip+0x183ee6]
    001e9df2call Stdlib.Printf.sprintf
    001e9df7mov rdi, rax
    001e9dfamov rax, [rsp]
    001e9dfemov rbx, [rsp+8]
    001e9e03call caml_apply2
    001e9e08sub r15, 24
    001e9e0ccmp r15, [r14]
    001e9e0fjb 0x1e9e37
    001e9e11
    001e9e11loc_1e9e11:
    001e9e11lea rbx, [r15+8]
    001e9e15mov [rbx-8], 2048
    001e9e1dlea rdi, [rip+0x18335c]
    001e9e24mov rdi, [rdi+8]
    001e9e28mov [rbx], rdi
    001e9e2bmov [rbx+8], rax
    001e9e2fmov rax, rbx
    001e9e32call caml_raise_exn
    001e9e37
    001e9e37loc_1e9e37:
    001e9e37call caml_call_gc
    001e9e3cjmp 0x1e9e11
    001e9e3e
    001e9e3eloc_1e9e3e:
    001e9e3epush 35
    001e9e40call caml_call_realloc_stack
    001e9e45pop r10
    001e9e47jmp 0x1e9dde
    001e9dd0
    001e9e49
    001e9e49 // align 0x10
    001e9e50
    001e9e50Stdlib.Scanf.skip_whites:
    001e9e50lea r10, [rsp-344]
    001e9e58cmp r10, [r14+40]
    001e9e5cjb 0x1e9f76
    001e9e62
    001e9e62loc_1e9e62:
    001e9e62sub rsp, 8
    001e9e66
    001e9e66loc_1e9e66:
    001e9e66mov rbx, rax
    001e9e69cmp r15, [r14]
    001e9e6cjbe 0x1e9f6c
    001e9e72
    001e9e72loc_1e9e72:
    001e9e72mov rax, [rbx+16]
    001e9e76cmp rax, 1
    001e9e7aje 0x1e9e88
    001e9e7cmov rax, [rbx+8]
    001e9e80jmp 0x1e9f20
    001e9e85
    001e9e85 0f 1f 00 ...
    001e9e88
    001e9e88loc_1e9e88:
    001e9e88mov [rsp], rbx
    001e9e8clea r11, [rip+81]
    001e9e93push r11
    001e9e95push [r14+48]
    001e9e99mov [r14+48], rsp
    001e9e9dmov rbx, [rbx+48]
    001e9ea1mov eax, 1
    001e9ea6mov rdi, [rbx]
    001e9ea9call rdi
    001e9eabmov rbx, [rsp+16]
    001e9eb0mov [rbx+8], rax
    001e9eb4mov [rbx+16], 3
    001e9ebcmov rdi, [rbx+24]
    001e9ec0add rdi, 2
    001e9ec4mov [rbx+24], rdi
    001e9ec8cmp rax, 21
    001e9eccjne 0x1e9eda
    001e9ecemov rdi, [rbx+32]
    001e9ed2add rdi, 2
    001e9ed6mov [rbx+32], rdi
    001e9eda
    001e9edaloc_1e9eda:
    001e9edapop [r14+48]
    001e9edeadd rsp, 8
    001e9ee2jmp 0x1e9f20
    001e9ee4lea rbx, [rip+0x14372d]
    001e9eebmov rbx, [rbx+88]
    001e9eefcmp rax, rbx
    001e9ef2jne 0x1e9f18
    001e9ef4mov rbx, [rsp]
    001e9ef8mov [rbx+8], 1
    001e9f00mov [rbx+16], 1
    001e9f08mov [rbx], 3
    001e9f0fmov eax, 1
    001e9f14jmp 0x1e9f20
    001e9f16
    001e9f16 66 90 f.
    001e9f18
    001e9f18loc_1e9f18:
    001e9f18call caml_reraise_exn
    001e9f1dnop [rax]
    001e9f20
    001e9f20loc_1e9f20:
    001e9f20mov rdi, [rbx]
    001e9f23cmp rdi, 1
    001e9f27je 0x1e9f34
    001e9f29mov eax, 1
    001e9f2eadd rsp, 8
    001e9f32ret
    001e9f33
    001e9f33 90 .
    001e9f34
    001e9f34loc_1e9f34:
    001e9f34add rax, -18
    001e9f38cmp rax, 9
    001e9f3cjbe 0x1e9f48
    001e9f3ecmp rax, 47
    001e9f42je 0x1e9f5c
    001e9f44jmp 0x1e9f52
    001e9f46
    001e9f46 66 90 f.
    001e9f48
    001e9f48loc_1e9f48:
    001e9f48add rax, -4
    001e9f4ccmp rax, 3
    001e9f50ja 0x1e9f5c
    001e9f52
    001e9f52loc_1e9f52:
    001e9f52mov eax, 1
    001e9f57add rsp, 8
    001e9f5bret
    001e9f5c
    001e9f5cloc_1e9f5c:
    001e9f5cmov [rbx+16], 1
    001e9f64mov rax, rbx
    001e9f67jmp 0x1e9e66
    001e9f6c
    001e9f6cloc_1e9f6c:
    001e9f6ccall caml_call_gc
    001e9f71jmp 0x1e9e72
    001e9f76
    001e9f76loc_1e9f76:
    001e9f76push 36
    001e9f78call caml_call_realloc_stack
    001e9f7dpop r10
    001e9f7fjmp 0x1e9e62
    001e9e50
    001e9f84
    001e9f84 // align 0x10
    001e9f90
    001e9f90Stdlib.Scanf.check_char:
    001e9f90cmp r15, [r14]
    001e9f93jbe 0x1e9fb5
    001e9f95
    001e9f95loc_1e9f95:
    001e9f95cmp rbx, 21
    001e9f99je 0x1e9fb0
    001e9f9bcmp rbx, 65
    001e9f9fje 0x1e9fa8
    001e9fa1jmp 0x1e9fc0
    001e9fa6
    001e9fa6 66 90 f.
    001e9fa8
    001e9fa8loc_1e9fa8:
    001e9fa8jmp 0x1e9e50
    001e9fad
    001e9fad 0f 1f 00 ...
    001e9fb0
    001e9fb0loc_1e9fb0:
    001e9fb0jmp 0x1ea130
    001e9fb5
    001e9fb5loc_1e9fb5:
    001e9fb5call caml_call_gc
    001e9fbajmp 0x1e9f95
    001e9f90
    001e9fbc
    001e9fbc // align 0x10
    001e9fc0
    001e9fc0Stdlib.Scanf.check_this_char:
    001e9fc0lea r10, [rsp-352]
    001e9fc8cmp r10, [r14+40]
    001e9fccjb 0x1ea120
    001e9fd2
    001e9fd2loc_1e9fd2:
    001e9fd2sub rsp, 16
    001e9fd6mov rdi, rax
    001e9fd9mov [rsp], rbx
    001e9fddmov rax, [rdi+16]
    001e9fe1cmp rax, 1
    001e9fe5je 0x1e9ff0
    001e9fe7mov rax, [rdi+8]
    001e9febjmp 0x1ea08c
    001e9ff0
    001e9ff0loc_1e9ff0:
    001e9ff0mov [rsp+8], rdi
    001e9ff5lea r11, [rip+84]
    001e9ffcpush r11
    001e9ffepush [r14+48]
    001ea002mov [r14+48], rsp
    001ea006mov rbx, [rdi+48]
    001ea00amov eax, 1
    001ea00fmov rdi, [rbx]
    001ea012call rdi
    001ea014mov rdi, [rsp+24]
    001ea019mov [rdi+8], rax
    001ea01dmov [rdi+16], 3
    001ea025mov rbx, [rdi+24]
    001ea029add rbx, 2
    001ea02dmov [rdi+24], rbx
    001ea031cmp rax, 21
    001ea035jne 0x1ea043
    001ea037mov rbx, [rdi+32]
    001ea03badd rbx, 2
    001ea03fmov [rdi+32], rbx
    001ea043
    001ea043loc_1ea043:
    001ea043pop [r14+48]
    001ea047add rsp, 8
    001ea04bjmp 0x1ea08c
    001ea04d
    001ea04d 0f 1f 00 ...
    001ea050lea rbx, [rip+0x1435c1]
    001ea057mov rbx, [rbx+88]
    001ea05bcmp rax, rbx
    001ea05ejne 0x1ea084
    001ea060mov rdi, [rsp+8]
    001ea065mov [rdi+8], 1
    001ea06dmov [rdi+16], 1
    001ea075mov [rdi], 3
    001ea07cmov eax, 1
    001ea081jmp 0x1ea08c
    001ea083
    001ea083 90 .
    001ea084
    001ea084loc_1ea084:
    001ea084call caml_reraise_exn
    001ea089nop [rax]
    001ea08c
    001ea08cloc_1ea08c:
    001ea08cmov rbx, [rdi]
    001ea08fcmp rbx, 1
    001ea093je 0x1ea0a8
    001ea095lea rax, [rip+0x14357c]
    001ea09cmov rax, [rax+88]
    001ea0a0call caml_raise_exn
    001ea0a5nop [rax]
    001ea0a8
    001ea0a8loc_1ea0a8:
    001ea0a8mov rbx, [rsp]
    001ea0accmp rax, rbx
    001ea0afjne 0x1ea0c4
    001ea0b1mov [rdi+16], 1
    001ea0b9mov eax, 1
    001ea0beadd rsp, 16
    001ea0c2ret
    001ea0c3
    001ea0c3 90 .
    001ea0c4
    001ea0c4loc_1ea0c4:
    001ea0c4mov [rsp+8], rax
    001ea0c9mov [rsp], rbx
    001ea0cdlea rax, [rip+0x183c04]
    001ea0d4call Stdlib.Printf.sprintf
    001ea0d9mov rdi, rax
    001ea0dcmov rax, [rsp]
    001ea0e0mov rbx, [rsp+8]
    001ea0e5call caml_apply2
    001ea0easub r15, 24
    001ea0eecmp r15, [r14]
    001ea0f1jb 0x1ea119
    001ea0f3
    001ea0f3loc_1ea0f3:
    001ea0f3lea rbx, [r15+8]
    001ea0f7mov [rbx-8], 2048
    001ea0fflea rdi, [rip+0x18307a]
    001ea106mov rdi, [rdi+8]
    001ea10amov [rbx], rdi
    001ea10dmov [rbx+8], rax
    001ea111mov rax, rbx
    001ea114call caml_raise_exn
    001ea119
    001ea119loc_1ea119:
    001ea119call caml_call_gc
    001ea11ejmp 0x1ea0f3
    001ea120
    001ea120loc_1ea120:
    001ea120push 37
    001ea122call caml_call_realloc_stack
    001ea127pop r10
    001ea129jmp 0x1e9fd2
    001e9fc0
    001ea12e
    001ea12e // align 0x10
    001ea130
    001ea130Stdlib.Scanf.check_newline:
    001ea130lea r10, [rsp-352]
    001ea138cmp r10, [r14+40]
    001ea13cjb 0x1ea2ad
    001ea142
    001ea142loc_1ea142:
    001ea142sub rsp, 16
    001ea146mov rdi, rax
    001ea149mov rax, [rdi+16]
    001ea14dcmp rax, 1
    001ea151je 0x1ea15c
    001ea153mov rax, [rdi+8]
    001ea157jmp 0x1ea1f4
    001ea15c
    001ea15cloc_1ea15c:
    001ea15cmov [rsp], rdi
    001ea160lea r11, [rip+81]
    001ea167push r11
    001ea169push [r14+48]
    001ea16dmov [r14+48], rsp
    001ea171mov rbx, [rdi+48]
    001ea175mov eax, 1
    001ea17amov rdi, [rbx]
    001ea17dcall rdi
    001ea17fmov rdi, [rsp+16]
    001ea184mov [rdi+8], rax
    001ea188mov [rdi+16], 3
    001ea190mov rbx, [rdi+24]
    001ea194add rbx, 2
    001ea198mov [rdi+24], rbx
    001ea19ccmp rax, 21
    001ea1a0jne 0x1ea1ae
    001ea1a2mov rbx, [rdi+32]
    001ea1a6add rbx, 2
    001ea1aamov [rdi+32], rbx
    001ea1ae
    001ea1aeloc_1ea1ae:
    001ea1aepop [r14+48]
    001ea1b2add rsp, 8
    001ea1b6jmp 0x1ea1f4
    001ea1b8lea rbx, [rip+0x143459]
    001ea1bfmov rbx, [rbx+88]
    001ea1c3cmp rax, rbx
    001ea1c6jne 0x1ea1ec
    001ea1c8mov rdi, [rsp]
    001ea1ccmov [rdi+8], 1
    001ea1d4mov [rdi+16], 1
    001ea1dcmov [rdi], 3
    001ea1e3mov eax, 1
    001ea1e8jmp 0x1ea1f4
    001ea1ea
    001ea1ea 66 90 f.
    001ea1ec
    001ea1ecloc_1ea1ec:
    001ea1eccall caml_reraise_exn
    001ea1f1nop [rax]
    001ea1f4
    001ea1f4loc_1ea1f4:
    001ea1f4mov rbx, [rdi]
    001ea1f7cmp rbx, 1
    001ea1fbje 0x1ea210
    001ea1fdlea rax, [rip+0x143414]
    001ea204mov rax, [rax+88]
    001ea208call caml_raise_exn
    001ea20dnop [rax]
    001ea210
    001ea210loc_1ea210:
    001ea210cmp rax, 21
    001ea214je 0x1ea294
    001ea216cmp rax, 27
    001ea21aje 0x1ea278
    001ea21cmov [rsp+8], rax
    001ea221mov eax, 21
    001ea226mov [rsp], rax
    001ea22alea rax, [rip+0x183aa7]
    001ea231call Stdlib.Printf.sprintf
    001ea236mov rdi, rax
    001ea239mov rax, [rsp]
    001ea23dmov rbx, [rsp+8]
    001ea242call caml_apply2
    001ea247sub r15, 24
    001ea24bcmp r15, [r14]
    001ea24ejb 0x1ea2a6
    001ea250
    001ea250loc_1ea250:
    001ea250lea rbx, [r15+8]
    001ea254mov [rbx-8], 2048
    001ea25clea rdi, [rip+0x182f1d]
    001ea263mov rdi, [rdi+8]
    001ea267mov [rbx], rdi
    001ea26amov [rbx+8], rax
    001ea26emov rax, rbx
    001ea271call caml_raise_exn
    001ea276nop
    001ea278
    001ea278loc_1ea278:
    001ea278mov [rdi+16], 1
    001ea280mov ebx, 21
    001ea285mov rax, rdi
    001ea288add rsp, 16
    001ea28cjmp 0x1e9fc0
    001ea291
    001ea291 0f 1f 00 ...
    001ea294
    001ea294loc_1ea294:
    001ea294mov [rdi+16], 1
    001ea29cmov eax, 1
    001ea2a1add rsp, 16
    001ea2a5ret
    001ea2a6
    001ea2a6loc_1ea2a6:
    001ea2a6call caml_call_gc
    001ea2abjmp 0x1ea250
    001ea2ad
    001ea2adloc_1ea2ad:
    001ea2adpush 37
    001ea2afcall caml_call_realloc_stack
    001ea2b4pop r10
    001ea2b6jmp 0x1ea142
    001ea130
    001ea2bb
    001ea2bb // align 0x10
    001ea2c0
    001ea2c0Stdlib.Scanf.token_char:
    001ea2c0lea r10, [rsp-336]
    001ea2c8cmp r10, [r14+40]
    001ea2ccjb 0x1ea342
    001ea2ce
    001ea2celoc_1ea2ce:
    001ea2cesub rsp, 16
    001ea2d2mov [rsp+8], rax
    001ea2d7mov rax, [rax+56]
    001ea2dbmov [rsp], rax
    001ea2dfmov rdi, [rax+8]
    001ea2e3mov rax, [rax]
    001ea2e6mov rax, [rax]
    001ea2e9mov ebx, 1
    001ea2eecall Stdlib.Bytes.sub
    001ea2f3mov rbx, [rsp]
    001ea2f7mov [rbx+8], 1
    001ea2ffmov rdi, [rsp+8]
    001ea304mov rbx, [rdi+40]
    001ea308add rbx, 2
    001ea30cmov [rdi+40], rbx
    001ea310mov rbx, [rax-8]
    001ea314shr rbx, 10
    001ea318lea rbx, [8*rbx-1]
    001ea320movzx rdi, [rax+rbx]
    001ea325sub rbx, rdi
    001ea328cmp rbx, 0
    001ea32cjbe 0x1ea33d
    001ea32emovzx rax, [rax]
    001ea332shl rax, 1
    001ea335inc rax
    001ea338add rsp, 16
    001ea33cret
    001ea33d
    001ea33dloc_1ea33d:
    001ea33dcall caml_ml_array_bound_error
    001ea342
    001ea342loc_1ea342:
    001ea342push 35
    001ea344call caml_call_realloc_stack
    001ea349pop r10
    001ea34bjmp 0x1ea2ce
    001ea2c0
    001ea34d
    001ea34d // align 0x10
    001ea350
    001ea350Stdlib.Scanf.token_bool:
    001ea350lea r10, [rsp-336]
    001ea358cmp r10, [r14+40]
    001ea35cjb 0x1ea43e
    001ea362
    001ea362loc_1ea362:
    001ea362sub rsp, 16
    001ea366mov [rsp+8], rax
    001ea36bmov rax, [rax+56]
    001ea36fmov [rsp], rax
    001ea373mov rdi, [rax+8]
    001ea377mov rax, [rax]
    001ea37amov rax, [rax]
    001ea37dmov ebx, 1
    001ea382call Stdlib.Bytes.sub
    001ea387mov rbx, [rsp]
    001ea38bmov [rbx+8], 1
    001ea393mov rdi, [rsp+8]
    001ea398mov rbx, [rdi+40]
    001ea39cadd rbx, 2
    001ea3a0mov [rdi+40], rbx
    001ea3a4mov rbx, [rax-8]
    001ea3a8shr rbx, 10
    001ea3accmp rbx, 2
    001ea3b0jge 0x1ea3ec
    001ea3b2mov rbx, [rax]
    001ea3b5mov rdi, 0x2000065736c6166
    001ea3bfcmp rbx, rdi
    001ea3c2jne 0x1ea3d0
    001ea3c4mov eax, 1
    001ea3c9add rsp, 16
    001ea3cdret
    001ea3ce
    001ea3ce 66 90 f.
    001ea3d0
    001ea3d0loc_1ea3d0:
    001ea3d0mov rdi, 0x300000065757274
    001ea3dacmp rbx, rdi
    001ea3ddjne 0x1ea3ec
    001ea3dfmov eax, 3
    001ea3e4add rsp, 16
    001ea3e8ret
    001ea3e9
    001ea3e9 0f 1f 00 ...
    001ea3ec
    001ea3ecloc_1ea3ec:
    001ea3ecmov [rsp], rax
    001ea3f0lea rax, [rip+0x183841]
    001ea3f7call Stdlib.Printf.sprintf
    001ea3fcmov rbx, rax
    001ea3ffmov rdi, [rbx]
    001ea402mov rax, [rsp]
    001ea406call rdi
    001ea408sub r15, 24
    001ea40ccmp r15, [r14]
    001ea40fjb 0x1ea437
    001ea411
    001ea411loc_1ea411:
    001ea411lea rbx, [r15+8]
    001ea415mov [rbx-8], 2048
    001ea41dlea rdi, [rip+0x182d5c]
    001ea424mov rdi, [rdi+8]
    001ea428mov [rbx], rdi
    001ea42bmov [rbx+8], rax
    001ea42fmov rax, rbx
    001ea432call caml_raise_exn
    001ea437
    001ea437loc_1ea437:
    001ea437call caml_call_gc
    001ea43cjmp 0x1ea411
    001ea43e
    001ea43eloc_1ea43e:
    001ea43epush 35
    001ea440call caml_call_realloc_stack
    001ea445pop r10
    001ea447jmp 0x1ea362
    001ea350
    001ea44c
    001ea44c // align 0x10
    001ea450
    001ea450Stdlib.Scanf.integer_conversion_of_char:
    001ea450add rax, -176
    001ea456cmp rax, 65
    001ea45aja 0x1ea498
    001ea45csar rax, 1
    001ea45flea rdx, [rip+0x4432a]
    001ea466movsxd rax, [rdx+4*rax]
    001ea46aadd rdx, rax
    001ea46djmp rdx
    001ea46fnop
    001ea470mov eax, 1
    001ea475ret
    001ea476nop
    001ea478mov eax, 3
    001ea47dret
    001ea47enop
    001ea480mov eax, 5
    001ea485ret
    001ea486nop
    001ea488mov eax, 7
    001ea48dret
    001ea48enop
    001ea490mov eax, 9
    001ea495ret
    001ea496nop
    001ea498
    001ea498loc_1ea498:
    001ea498sub r15, 24
    001ea49ccmp r15, [r14]
    001ea49fjb 0x1ea4ce
    001ea4a1
    001ea4a1loc_1ea4a1:
    001ea4a1lea rax, [r15+8]
    001ea4a5mov [rax-8], 2048
    001ea4adlea rbx, [rip+0x8bd54]
    001ea4b4mov [rax], rbx
    001ea4b7lea rbx, [rip+0x183732]
    001ea4bemov [rax+8], rbx
    001ea4c2call caml_raise_exn
    001ea4c7nop
    001ea4c8mov eax, 11
    001ea4cdret
    001ea4ce
    001ea4celoc_1ea4ce:
    001ea4cecall caml_call_gc
    001ea4d3jmp 0x1ea4a1
    001ea450
    001ea4d5
    001ea4d5 // align 0x10
    001ea4e0
    001ea4e0Stdlib.Scanf.token_int_literal:
    001ea4e0lea r10, [rsp-336]
    001ea4e8cmp r10, [r14+40]
    001ea4ecjb 0x1ea6da
    001ea4f2
    001ea4f2loc_1ea4f2:
    001ea4f2sub rsp, 16
    001ea4f6mov [rsp+8], rbx
    001ea4fbsar rax, 1
    001ea4felea rdx, [rip+0x4430f]
    001ea505movsxd rax, [rdx+4*rax]
    001ea509add rdx, rax
    001ea50cjmp rdx
    001ea50enop
    001ea510mov rax, [rbx+56]
    001ea514mov [rsp], rax
    001ea518mov rdi, [rax+8]
    001ea51cmov rax, [rax]
    001ea51fmov rax, [rax]
    001ea522mov ebx, 1
    001ea527call Stdlib.Bytes.sub
    001ea52cmov rbx, rax
    001ea52fmov rax, [rsp]
    001ea533mov [rax+8], 1
    001ea53bmov rdi, [rsp+8]
    001ea540mov rax, [rdi+40]
    001ea544add rax, 2
    001ea548mov [rdi+40], rax
    001ea54clea rax, [rip+0x18368d]
    001ea553call camlStdlib.$5e_139
    001ea558jmp 0x1ea685
    001ea55dnop [rax]
    001ea560mov rax, [rbx+56]
    001ea564mov [rsp], rax
    001ea568mov rdi, [rax+8]
    001ea56cmov rax, [rax]
    001ea56fmov rax, [rax]
    001ea572mov ebx, 1
    001ea577call Stdlib.Bytes.sub
    001ea57cmov rbx, rax
    001ea57fmov rax, [rsp]
    001ea583mov [rax+8], 1
    001ea58bmov rdi, [rsp+8]
    001ea590mov rax, [rdi+40]
    001ea594add rax, 2
    001ea598mov [rdi+40], rax
    001ea59clea rax, [rip+0x18362d]
    001ea5a3call camlStdlib.$5e_139
    001ea5a8jmp 0x1ea685
    001ea5adnop [rax]
    001ea5b0mov rax, [rbx+56]
    001ea5b4mov [rsp], rax
    001ea5b8mov rdi, [rax+8]
    001ea5bcmov rax, [rax]
    001ea5bfmov rax, [rax]
    001ea5c2mov ebx, 1
    001ea5c7call Stdlib.Bytes.sub
    001ea5ccmov rbx, rax
    001ea5cfmov rax, [rsp]
    001ea5d3mov [rax+8], 1
    001ea5dbmov rdi, [rsp+8]
    001ea5e0mov rax, [rdi+40]
    001ea5e4add rax, 2
    001ea5e8mov [rdi+40], rax
    001ea5eclea rax, [rip+0x1835cd]
    001ea5f3call camlStdlib.$5e_139
    001ea5f8jmp 0x1ea685
    001ea5fdnop [rax]
    001ea600mov rax, [rbx+56]
    001ea604mov [rsp], rax
    001ea608mov rdi, [rax+8]
    001ea60cmov rax, [rax]
    001ea60fmov rax, [rax]
    001ea612mov ebx, 1
    001ea617call Stdlib.Bytes.sub
    001ea61cmov rbx, rax
    001ea61fmov rax, [rsp]
    001ea623mov [rax+8], 1
    001ea62bmov rdi, [rsp+8]
    001ea630mov rax, [rdi+40]
    001ea634add rax, 2
    001ea638mov [rdi+40], rax
    001ea63clea rax, [rip+0x18356d]
    001ea643call camlStdlib.$5e_139
    001ea648jmp 0x1ea685
    001ea64anop
    001ea64cmov rax, [rbx+56]
    001ea650mov [rsp], rax
    001ea654mov rdi, [rax+8]
    001ea658mov rax, [rax]
    001ea65bmov rax, [rax]
    001ea65emov ebx, 1
    001ea663call Stdlib.Bytes.sub
    001ea668mov rbx, [rsp]
    001ea66cmov [rbx+8], 1
    001ea674mov rdi, [rsp+8]
    001ea679mov rbx, [rdi+40]
    001ea67dadd rbx, 2
    001ea681mov [rdi+40], rbx
    001ea685
    001ea685loc_1ea685:
    001ea685mov rbx, [rax-8]
    001ea689shr rbx, 10
    001ea68dlea rbx, [8*rbx-1]
    001ea695movzx rdi, [rax+rbx]
    001ea69asub rbx, rdi
    001ea69dlea rdi, [rbx+rbx+1]
    001ea6a2cmp rdi, 1
    001ea6a6je 0x1ea6d0
    001ea6a8cmp rbx, 0
    001ea6acjbe 0x1ea6d5
    001ea6aemovzx rbx, [rax]
    001ea6b2lea rbx, [rbx+rbx+1]
    001ea6b7cmp rbx, 87
    001ea6bbjne 0x1ea6d0
    001ea6bdadd rdi, -2
    001ea6c1mov ebx, 3
    001ea6c6call Stdlib.Bytes.sub
    001ea6cbadd rsp, 16
    001ea6cfret
    001ea6d0
    001ea6d0loc_1ea6d0:
    001ea6d0add rsp, 16
    001ea6d4ret
    001ea6d5
    001ea6d5loc_1ea6d5:
    001ea6d5call caml_ml_array_bound_error
    001ea6da
    001ea6daloc_1ea6da:
    001ea6dapush 35
    001ea6dccall caml_call_realloc_stack
    001ea6e1pop r10
    001ea6e3jmp 0x1ea4f2
    001ea4e0
    001ea6e8
    001ea6e8 // align 0x10
    001ea6f0
    001ea6f0Stdlib.Scanf.token_int:
    001ea6f0lea r10, [rsp-320]
    001ea6f8cmp r10, [r14+40]
    001ea6fcjb 0x1ea713
    001ea6fe
    001ea6feloc_1ea6fe:
    001ea6fecall Stdlib.Scanf.token_int_literal
    001ea703mov rdi, rax
    001ea706lea rax, [rip+0x22cd3]
    001ea70dcall caml_c_call
    001ea712ret
    001ea713
    001ea713loc_1ea713:
    001ea713push 33
    001ea715call caml_call_realloc_stack
    001ea71apop r10
    001ea71cjmp 0x1ea6fe
    001ea6f0
    001ea71e
    001ea71e // align 0x10
    001ea720
    001ea720Stdlib.Scanf.token_float:
    001ea720lea r10, [rsp-336]
    001ea728cmp r10, [r14+40]
    001ea72cjb 0x1ea784
    001ea72e
    001ea72eloc_1ea72e:
    001ea72esub rsp, 16
    001ea732mov [rsp+8], rax
    001ea737mov rax, [rax+56]
    001ea73bmov [rsp], rax
    001ea73fmov rdi, [rax+8]
    001ea743mov rax, [rax]
    001ea746mov rax, [rax]
    001ea749mov ebx, 1
    001ea74ecall Stdlib.Bytes.sub
    001ea753mov rbx, [rsp]
    001ea757mov [rbx+8], 1
    001ea75fmov rdi, [rsp+8]
    001ea764mov rbx, [rdi+40]
    001ea768add rbx, 2
    001ea76cmov [rdi+40], rbx
    001ea770mov rdi, rax
    001ea773lea rax, [rip+0x1d2e6]
    001ea77acall caml_c_call
    001ea77fadd rsp, 16
    001ea783ret
    001ea784
    001ea784loc_1ea784:
    001ea784push 35
    001ea786call caml_call_realloc_stack
    001ea78bpop r10
    001ea78djmp 0x1ea72e
    001ea720
    001ea78f
    001ea78f // align 0x10
    001ea790
    001ea790Stdlib.Scanf.token_nativeint:
    001ea790lea r10, [rsp-320]
    001ea798cmp r10, [r14+40]
    001ea79cjb 0x1ea7b3
    001ea79e
    001ea79eloc_1ea79e:
    001ea79ecall Stdlib.Scanf.token_int_literal
    001ea7a3mov rdi, rax
    001ea7a6lea rax, [rip+0x23e53]
    001ea7adcall caml_c_call
    001ea7b2ret
    001ea7b3
    001ea7b3loc_1ea7b3:
    001ea7b3push 33
    001ea7b5call caml_call_realloc_stack
    001ea7bapop r10
    001ea7bcjmp 0x1ea79e
    001ea790
    001ea7be
    001ea7be // align 0x10
    001ea7c0
    001ea7c0Stdlib.Scanf.token_int32:
    001ea7c0lea r10, [rsp-320]
    001ea7c8cmp r10, [r14+40]
    001ea7ccjb 0x1ea7e3
    001ea7ce
    001ea7celoc_1ea7ce:
    001ea7cecall Stdlib.Scanf.token_int_literal
    001ea7d3mov rdi, rax
    001ea7d6lea rax, [rip+0x23123]
    001ea7ddcall caml_c_call
    001ea7e2ret
    001ea7e3
    001ea7e3loc_1ea7e3:
    001ea7e3push 33
    001ea7e5call caml_call_realloc_stack
    001ea7eapop r10
    001ea7ecjmp 0x1ea7ce
    001ea7c0
    001ea7ee
    001ea7ee // align 0x10
    001ea7f0
    001ea7f0Stdlib.Scanf.token_int64:
    001ea7f0lea r10, [rsp-320]
    001ea7f8cmp r10, [r14+40]
    001ea7fcjb 0x1ea813
    001ea7fe
    001ea7feloc_1ea7fe:
    001ea7fecall Stdlib.Scanf.token_int_literal
    001ea803mov rdi, rax
    001ea806lea rax, [rip+0x23723]
    001ea80dcall caml_c_call
    001ea812ret
    001ea813
    001ea813loc_1ea813:
    001ea813push 33
    001ea815call caml_call_realloc_stack
    001ea81apop r10
    001ea81cjmp 0x1ea7fe
    001ea7f0
    001ea81e
    001ea81e // align 0x10
    001ea820
    001ea820Stdlib.Scanf.scan_decimal_digit_star:
    001ea820lea r10, [rsp-352]
    001ea828cmp r10, [r14+40]
    001ea82cjb 0x1ea987
    001ea832
    001ea832loc_1ea832:
    001ea832sub rsp, 16
    001ea836
    001ea836loc_1ea836:
    001ea836mov rdi, rbx
    001ea839cmp r15, [r14]
    001ea83cjbe 0x1ea97d
    001ea842
    001ea842loc_1ea842:
    001ea842cmp rax, 1
    001ea846jne 0x1ea850
    001ea848add rsp, 16
    001ea84cret
    001ea84d
    001ea84d 0f 1f 00 ...
    001ea850
    001ea850loc_1ea850:
    001ea850mov [rsp], rax
    001ea854mov rax, [rdi+16]
    001ea858cmp rax, 1
    001ea85cje 0x1ea868
    001ea85emov rbx, [rdi+8]
    001ea862jmp 0x1ea907
    001ea867
    001ea867 90 .
    001ea868
    001ea868loc_1ea868:
    001ea868mov [rsp+8], rdi
    001ea86dlea r11, [rip+84]
    001ea874push r11
    001ea876push [r14+48]
    001ea87amov [r14+48], rsp
    001ea87emov rbx, [rdi+48]
    001ea882mov eax, 1
    001ea887mov rdi, [rbx]
    001ea88acall rdi
    001ea88cmov rdi, [rsp+24]
    001ea891mov [rdi+8], rax
    001ea895mov [rdi+16], 3
    001ea89dmov rbx, [rdi+24]
    001ea8a1add rbx, 2
    001ea8a5mov [rdi+24], rbx
    001ea8a9cmp rax, 21
    001ea8adjne 0x1ea8bb
    001ea8afmov rbx, [rdi+32]
    001ea8b3add rbx, 2
    001ea8b7mov [rdi+32], rbx
    001ea8bb
    001ea8bbloc_1ea8bb:
    001ea8bbpop [r14+48]
    001ea8bfadd rsp, 8
    001ea8c3jmp 0x1ea904
    001ea8c5
    001ea8c5 0f 1f 00 ...
    001ea8c8lea rbx, [rip+0x142d49]
    001ea8cfmov rbx, [rbx+88]
    001ea8d3cmp rax, rbx
    001ea8d6jne 0x1ea8fc
    001ea8d8mov rdi, [rsp+8]
    001ea8ddmov [rdi+8], 1
    001ea8e5mov [rdi+16], 1
    001ea8edmov [rdi], 3
    001ea8f4mov eax, 1
    001ea8f9jmp 0x1ea904
    001ea8fb
    001ea8fb 90 .
    001ea8fc
    001ea8fcloc_1ea8fc:
    001ea8fccall caml_reraise_exn
    001ea901nop [rax]
    001ea904
    001ea904loc_1ea904:
    001ea904mov rbx, rax
    001ea907
    001ea907loc_1ea907:
    001ea907mov rax, [rdi]
    001ea90acmp rax, 1
    001ea90eje 0x1ea91c
    001ea910mov rax, [rsp]
    001ea914add rsp, 16
    001ea918ret
    001ea919
    001ea919 0f 1f 00 ...
    001ea91c
    001ea91cloc_1ea91c:
    001ea91ccmp rbx, 117
    001ea920jl 0x1ea944
    001ea922cmp rbx, 191
    001ea929jne 0x1ea974
    001ea92bmov rax, [rsp]
    001ea92fadd rax, -2
    001ea933mov [rdi+16], 1
    001ea93bmov rbx, rdi
    001ea93ejmp 0x1ea836
    001ea943
    001ea943 90 .
    001ea944
    001ea944loc_1ea944:
    001ea944cmp rbx, 97
    001ea948jl 0x1ea974
    001ea94amov [rsp+8], rdi
    001ea94fmov rax, [rdi+56]
    001ea953call Stdlib.Buffer.add_char
    001ea958mov rax, [rsp]
    001ea95cadd rax, -2
    001ea960mov rbx, [rsp+8]
    001ea965mov [rbx+16], 1
    001ea96djmp 0x1ea836
    001ea972
    001ea972 66 90 f.
    001ea974
    001ea974loc_1ea974:
    001ea974mov rax, [rsp]
    001ea978add rsp, 16
    001ea97cret
    001ea97d
    001ea97dloc_1ea97d:
    001ea97dcall caml_call_gc
    001ea982jmp 0x1ea842
    001ea987
    001ea987loc_1ea987:
    001ea987push 37
    001ea989call caml_call_realloc_stack
    001ea98epop r10
    001ea990jmp 0x1ea832
    001ea820
    001ea995
    001ea995 // align 0x10
    001ea9a0
    001ea9a0Stdlib.Scanf.scan_decimal_digit_plus:
    001ea9a0lea r10, [rsp-352]
    001ea9a8cmp r10, [r14+40]
    001ea9acjb 0x1eab7d
    001ea9b2
    001ea9b2loc_1ea9b2:
    001ea9b2sub rsp, 16
    001ea9b6mov rdi, rbx
    001ea9b9cmp rax, 1
    001ea9bdjne 0x1eaa18
    001ea9bflea rax, [rip+0x1831d2]
    001ea9c6mov [rsp], rax
    001ea9calea rax, [rip+0x183577]
    001ea9d1call Stdlib.Printf.sprintf
    001ea9d6mov rbx, rax
    001ea9d9mov rdi, [rbx]
    001ea9dcmov rax, [rsp]
    001ea9e0call rdi
    001ea9e2sub r15, 24
    001ea9e6cmp r15, [r14]
    001ea9e9jb 0x1eab73
    001ea9ef
    001ea9efloc_1ea9ef:
    001ea9eflea rbx, [r15+8]
    001ea9f3mov [rbx-8], 2048
    001ea9fblea rdi, [rip+0x18277e]
    001eaa02mov rdi, [rdi+8]
    001eaa06mov [rbx], rdi
    001eaa09mov [rbx+8], rax
    001eaa0dmov rax, rbx
    001eaa10call caml_raise_exn
    001eaa15nop [rax]
    001eaa18
    001eaa18loc_1eaa18:
    001eaa18mov [rsp], rax
    001eaa1cmov rax, [rdi+16]
    001eaa20cmp rax, 1
    001eaa24je 0x1eaa30
    001eaa26mov rbx, [rdi+8]
    001eaa2ajmp 0x1eaacf
    001eaa2f
    001eaa2f 90 .
    001eaa30
    001eaa30loc_1eaa30:
    001eaa30mov [rsp+8], rdi
    001eaa35lea r11, [rip+84]
    001eaa3cpush r11
    001eaa3epush [r14+48]
    001eaa42mov [r14+48], rsp
    001eaa46mov rbx, [rdi+48]
    001eaa4amov eax, 1
    001eaa4fmov rdi, [rbx]
    001eaa52call rdi
    001eaa54mov rdi, [rsp+24]
    001eaa59mov [rdi+8], rax
    001eaa5dmov [rdi+16], 3
    001eaa65mov rbx, [rdi+24]
    001eaa69add rbx, 2
    001eaa6dmov [rdi+24], rbx
    001eaa71cmp rax, 21
    001eaa75jne 0x1eaa83
    001eaa77mov rbx, [rdi+32]
    001eaa7badd rbx, 2
    001eaa7fmov [rdi+32], rbx
    001eaa83
    001eaa83loc_1eaa83:
    001eaa83pop [r14+48]
    001eaa87add rsp, 8
    001eaa8bjmp 0x1eaacc
    001eaa8d
    001eaa8d 0f 1f 00 ...
    001eaa90lea rbx, [rip+0x142b81]
    001eaa97mov rbx, [rbx+88]
    001eaa9bcmp rax, rbx
    001eaa9ejne 0x1eaac4
    001eaaa0mov rdi, [rsp+8]
    001eaaa5mov [rdi+8], 1
    001eaaadmov [rdi+16], 1
    001eaab5mov [rdi], 3
    001eaabcmov eax, 1
    001eaac1jmp 0x1eaacc
    001eaac3
    001eaac3 90 .
    001eaac4
    001eaac4loc_1eaac4:
    001eaac4call caml_reraise_exn
    001eaac9nop [rax]
    001eaacc
    001eaaccloc_1eaacc:
    001eaaccmov rbx, rax
    001eaacf
    001eaacfloc_1eaacf:
    001eaacfmov rax, [rdi]
    001eaad2cmp rax, 1
    001eaad6je 0x1eaae8
    001eaad8lea rax, [rip+0x142b39]
    001eaadfmov rax, [rax+88]
    001eaae3call caml_raise_exn
    001eaae8
    001eaae8loc_1eaae8:
    001eaae8mov rax, rbx
    001eaaebadd rax, -96
    001eaaefcmp rax, 19
    001eaaf3jbe 0x1eab40
    001eaaf5mov [rsp], rbx
    001eaaf9lea rax, [rip+0x182fb0]
    001eab00call Stdlib.Printf.sprintf
    001eab05mov rbx, rax
    001eab08mov rdi, [rbx]
    001eab0bmov rax, [rsp]
    001eab0fcall rdi
    001eab11sub r15, 24
    001eab15cmp r15, [r14]
    001eab18jb 0x1eab6c
    001eab1a
    001eab1aloc_1eab1a:
    001eab1alea rbx, [r15+8]
    001eab1emov [rbx-8], 2048
    001eab26lea rdi, [rip+0x182653]
    001eab2dmov rdi, [rdi+8]
    001eab31mov [rbx], rdi
    001eab34mov [rbx+8], rax
    001eab38mov rax, rbx
    001eab3bcall caml_raise_exn
    001eab40
    001eab40loc_1eab40:
    001eab40mov [rsp+8], rdi
    001eab45mov rax, [rdi+56]
    001eab49call Stdlib.Buffer.add_char
    001eab4emov rax, [rsp]
    001eab52add rax, -2
    001eab56mov rbx, [rsp+8]
    001eab5bmov [rbx+16], 1
    001eab63add rsp, 16
    001eab67jmp 0x1ea820
    001eab6c
    001eab6cloc_1eab6c:
    001eab6ccall caml_call_gc
    001eab71jmp 0x1eab1a
    001eab73
    001eab73loc_1eab73:
    001eab73call caml_call_gc
    001eab78jmp 0x1ea9ef
    001eab7d
    001eab7dloc_1eab7d:
    001eab7dpush 37
    001eab7fcall caml_call_realloc_stack
    001eab84pop r10
    001eab86jmp 0x1ea9b2
    001ea9a0
    001eab8b
    001eab8b // align 0x10
    001eab90
    001eab90Stdlib.Scanf.scan_digit_star:
    001eab90sub r15, 48
    001eab94cmp r15, [r14]
    001eab97jb 0x1eabe2
    001eab99
    001eab99loc_1eab99:
    001eab99lea rdx, [r15+8]
    001eab9dmov [rdx-8], 5367
    001eaba5lea rcx, [rip-0xf3b8c]
    001eabacmov [rdx], rcx
    001eabafmov rcx, 0x200000000000007
    001eabb9mov [rdx+8], rcx
    001eabbdlea rcx, [rip+44]
    001eabc4mov [rdx+16], rcx
    001eabc8mov rsi, [rsi+24]
    001eabccmov [rdx+24], rsi
    001eabd0mov [rdx+32], rax
    001eabd4mov rax, rbx
    001eabd7mov rbx, rdi
    001eabdamov rdi, rdx
    001eabddjmp 0x1eabf0
    001eabe2
    001eabe2loc_1eabe2:
    001eabe2call caml_call_gc
    001eabe7jmp 0x1eab99
    001eab90
    001eabe9
    001eabe9 // align 0x10
    001eabf0
    001eabf0Stdlib.Scanf.scan_digits:
    001eabf0lea r10, [rsp-368]
    001eabf8cmp r10, [r14+40]
    001eabfcjb 0x1ead7e
    001eac02
    001eac02loc_1eac02:
    001eac02sub rsp, 32
    001eac06
    001eac06loc_1eac06:
    001eac06cmp r15, [r14]
    001eac09jbe 0x1ead74
    001eac0f
    001eac0floc_1eac0f:
    001eac0fcmp rax, 1
    001eac13jne 0x1eac1c
    001eac15add rsp, 32
    001eac19ret
    001eac1a
    001eac1a 66 90 f.
    001eac1c
    001eac1cloc_1eac1c:
    001eac1cmov [rsp+8], rdi
    001eac21mov [rsp+16], rax
    001eac26mov rax, [rbx+16]
    001eac2acmp rax, 1
    001eac2eje 0x1eac3c
    001eac30mov rax, [rbx+8]
    001eac34jmp 0x1eacd8
    001eac39
    001eac39 0f 1f 00 ...
    001eac3c
    001eac3cloc_1eac3c:
    001eac3cmov [rsp+24], rbx
    001eac41lea r11, [rip+84]
    001eac48push r11
    001eac4apush [r14+48]
    001eac4emov [r14+48], rsp
    001eac52mov rbx, [rbx+48]
    001eac56mov eax, 1
    001eac5bmov rdi, [rbx]
    001eac5ecall rdi
    001eac60mov rbx, [rsp+40]
    001eac65mov [rbx+8], rax
    001eac69mov [rbx+16], 3
    001eac71mov rdi, [rbx+24]
    001eac75add rdi, 2
    001eac79mov [rbx+24], rdi
    001eac7dcmp rax, 21
    001eac81jne 0x1eac8f
    001eac83mov rdi, [rbx+32]
    001eac87add rdi, 2
    001eac8bmov [rbx+32], rdi
    001eac8f
    001eac8floc_1eac8f:
    001eac8fpop [r14+48]
    001eac93add rsp, 8
    001eac97jmp 0x1eacd8
    001eac99
    001eac99 0f 1f 00 ...
    001eac9clea rbx, [rip+0x142975]
    001eaca3mov rbx, [rbx+88]
    001eaca7cmp rax, rbx
    001eacaajne 0x1eacd0
    001eacacmov rbx, [rsp+24]
    001eacb1mov [rbx+8], 1
    001eacb9mov [rbx+16], 1
    001eacc1mov [rbx], 3
    001eacc8mov eax, 1
    001eaccdjmp 0x1eacd8
    001eaccf
    001eaccf 90 .
    001eacd0
    001eacd0loc_1eacd0:
    001eacd0call caml_reraise_exn
    001eacd5nop [rax]
    001eacd8
    001eacd8loc_1eacd8:
    001eacd8mov rdi, [rbx]
    001eacdbcmp rdi, 1
    001eacdfje 0x1eacec
    001eace1mov rax, [rsp+16]
    001eace6add rsp, 32
    001eacearet
    001eaceb
    001eaceb 90 .
    001eacec
    001eacecloc_1eacec:
    001eacecmov [rsp], rax
    001eacf0mov [rsp+24], rbx
    001eacf5mov rbx, [rsp+8]
    001eacfamov rbx, [rbx+32]
    001eacfemov rdi, [rbx]
    001ead01call rdi
    001ead03cmp rax, 1
    001ead07je 0x1ead3c
    001ead09mov rax, [rsp+24]
    001ead0emov rax, [rax+56]
    001ead12mov rbx, [rsp]
    001ead16call Stdlib.Buffer.add_char
    001ead1bmov rax, [rsp+16]
    001ead20add rax, -2
    001ead24mov rbx, [rsp+24]
    001ead29mov [rbx+16], 1
    001ead31mov rdi, [rsp+8]
    001ead36jmp 0x1eac06
    001ead3b
    001ead3b 90 .
    001ead3c
    001ead3cloc_1ead3c:
    001ead3cmov rax, [rsp]
    001ead40cmp rax, 191
    001ead46je 0x1ead54
    001ead48mov rax, [rsp+16]
    001ead4dadd rsp, 32
    001ead51ret
    001ead52
    001ead52 66 90 f.
    001ead54
    001ead54loc_1ead54:
    001ead54mov rax, [rsp+16]
    001ead59add rax, -2
    001ead5dmov rbx, [rsp+24]
    001ead62mov [rbx+16], 1
    001ead6amov rdi, [rsp+8]
    001ead6fjmp 0x1eac06
    001ead74
    001ead74loc_1ead74:
    001ead74call caml_call_gc
    001ead79jmp 0x1eac0f
    001ead7e
    001ead7eloc_1ead7e:
    001ead7epush 39
    001ead80call caml_call_realloc_stack
    001ead85pop r10
    001ead87jmp 0x1eac02
    001eabf0
    001ead8c
    001ead8c // align 0x10
    001ead90
    001ead90Stdlib.Scanf.scan_digit_plus:
    001ead90lea r10, [rsp-376]
    001ead98cmp r10, [r14+40]
    001ead9cjb 0x1eafaf
    001eada2
    001eada2loc_1eada2:
    001eada2sub rsp, 40
    001eada6cmp rdi, 1
    001eadaajne 0x1eae04
    001eadaclea rax, [rip+0x182ced]
    001eadb3mov [rsp], rax
    001eadb7lea rax, [rip+0x18318a]
    001eadbecall Stdlib.Printf.sprintf
    001eadc3mov rbx, rax
    001eadc6mov rdi, [rbx]
    001eadc9mov rax, [rsp]
    001eadcdcall rdi
    001eadcfsub r15, 24
    001eadd3cmp r15, [r14]
    001eadd6jb 0x1eafa5
    001eaddc
    001eaddcloc_1eaddc:
    001eaddclea rbx, [r15+8]
    001eade0mov [rbx-8], 2048
    001eade8lea rdi, [rip+0x182391]
    001eadefmov rdi, [rdi+8]
    001eadf3mov [rbx], rdi
    001eadf6mov [rbx+8], rax
    001eadfamov rax, rbx
    001eadfdcall caml_raise_exn
    001eae02nop
    001eae04
    001eae04loc_1eae04:
    001eae04mov [rsp+8], rdi
    001eae09mov [rsp+24], rbx
    001eae0emov [rsp], rax
    001eae12mov rax, [rsi+16]
    001eae16cmp rax, 1
    001eae1aje 0x1eae28
    001eae1cmov rax, [rsi+8]
    001eae20jmp 0x1eaec4
    001eae25
    001eae25 0f 1f 00 ...
    001eae28
    001eae28loc_1eae28:
    001eae28mov [rsp+32], rsi
    001eae2dlea r11, [rip+84]
    001eae34push r11
    001eae36push [r14+48]
    001eae3amov [r14+48], rsp
    001eae3emov rbx, [rsi+48]
    001eae42mov eax, 1
    001eae47mov rdi, [rbx]
    001eae4acall rdi
    001eae4cmov rsi, [rsp+48]
    001eae51mov [rsi+8], rax
    001eae55mov [rsi+16], 3
    001eae5dmov rbx, [rsi+24]
    001eae61add rbx, 2
    001eae65mov [rsi+24], rbx
    001eae69cmp rax, 21
    001eae6djne 0x1eae7b
    001eae6fmov rbx, [rsi+32]
    001eae73add rbx, 2
    001eae77mov [rsi+32], rbx
    001eae7b
    001eae7bloc_1eae7b:
    001eae7bpop [r14+48]
    001eae7fadd rsp, 8
    001eae83jmp 0x1eaec4
    001eae85
    001eae85 0f 1f 00 ...
    001eae88lea rbx, [rip+0x142789]
    001eae8fmov rbx, [rbx+88]
    001eae93cmp rax, rbx
    001eae96jne 0x1eaebc
    001eae98mov rsi, [rsp+32]
    001eae9dmov [rsi+8], 1
    001eaea5mov [rsi+16], 1
    001eaeadmov [rsi], 3
    001eaeb4mov eax, 1
    001eaeb9jmp 0x1eaec4
    001eaebb
    001eaebb 90 .
    001eaebc
    001eaebcloc_1eaebc:
    001eaebccall caml_reraise_exn
    001eaec1nop [rax]
    001eaec4
    001eaec4loc_1eaec4:
    001eaec4mov rbx, [rsi]
    001eaec7cmp rbx, 1
    001eaecbje 0x1eaee0
    001eaecdlea rax, [rip+0x142744]
    001eaed4mov rax, [rax+88]
    001eaed8call caml_raise_exn
    001eaeddnop [rax]
    001eaee0
    001eaee0loc_1eaee0:
    001eaee0mov [rsp+32], rsi
    001eaee5mov [rsp+16], rax
    001eaeeamov rbx, [rsp+24]
    001eaeefmov rdi, [rbx]
    001eaef2call rdi
    001eaef4cmp rax, 1
    001eaef8je 0x1eaf40
    001eaefamov rax, [rsp+32]
    001eaeffmov rax, [rax+56]
    001eaf03mov rbx, [rsp+16]
    001eaf08call Stdlib.Buffer.add_char
    001eaf0dmov rbx, [rsp+8]
    001eaf12add rbx, -2
    001eaf16mov rdi, [rsp+32]
    001eaf1bmov [rdi+16], 1
    001eaf23lea rax, [rip+0x182256]
    001eaf2amov rsi, [rax+304]
    001eaf31mov rax, [rsp+24]
    001eaf36add rsp, 40
    001eaf3ajmp 0x1eab90
    001eaf3f
    001eaf3f 90 .
    001eaf40
    001eaf40loc_1eaf40:
    001eaf40mov rax, [rsp]
    001eaf44mov [rsp+8], rax
    001eaf49mov rax, [rsp+16]
    001eaf4emov [rsp], rax
    001eaf52lea rax, [rip+0x182a37]
    001eaf59call Stdlib.Printf.sprintf
    001eaf5emov rdi, rax
    001eaf61mov rax, [rsp]
    001eaf65mov rbx, [rsp+8]
    001eaf6acall caml_apply2
    001eaf6fsub r15, 24
    001eaf73cmp r15, [r14]
    001eaf76jb 0x1eaf9e
    001eaf78
    001eaf78loc_1eaf78:
    001eaf78lea rbx, [r15+8]
    001eaf7cmov [rbx-8], 2048
    001eaf84lea rdi, [rip+0x1821f5]
    001eaf8bmov rdi, [rdi+8]
    001eaf8fmov [rbx], rdi
    001eaf92mov [rbx+8], rax
    001eaf96mov rax, rbx
    001eaf99call caml_raise_exn
    001eaf9e
    001eaf9eloc_1eaf9e:
    001eaf9ecall caml_call_gc
    001eafa3jmp 0x1eaf78
    001eafa5
    001eafa5loc_1eafa5:
    001eafa5call caml_call_gc
    001eafaajmp 0x1eaddc
    001eafaf
    001eafafloc_1eafaf:
    001eafafpush 40
    001eafb1call caml_call_realloc_stack
    001eafb6pop r10
    001eafb8jmp 0x1eada2
    001ead90
    001eafbd
    001eafbd // align 0x10
    001eafc0
    001eafc0Stdlib.Scanf.is_binary_digit:
    001eafc0add rax, -96
    001eafc4cmp rax, 3
    001eafc8setbe al
    001eafcbmovzx rax, al
    001eafcflea rax, [rax+rax+1]
    001eafd4ret
    001eafc0
    001eafd5
    001eafd5 // align 0x10
    001eafe0
    001eafe0Stdlib.Scanf.fun:
    001eafe0mov rdx, rax
    001eafe3mov rsi, rbx
    001eafe6mov rbx, [rdi+32]
    001eafeamov rax, [rdi+24]
    001eafeemov rdi, rdx
    001eaff1jmp 0x1ead90
    001eafe0
    001eaff6
    001eaff6 // align 0x10
    001eb000
    001eb000Stdlib.Scanf.is_octal_digit:
    001eb000add rax, -96
    001eb004cmp rax, 15
    001eb008setbe al
    001eb00bmovzx rax, al
    001eb00flea rax, [rax+rax+1]
    001eb014ret
    001eb000
    001eb015
    001eb015 // align 0x10
    001eb020
    001eb020Stdlib.Scanf.fun:
    001eb020mov rdx, rax
    001eb023mov rsi, rbx
    001eb026mov rbx, [rdi+32]
    001eb02amov rax, [rdi+24]
    001eb02emov rdi, rdx
    001eb031jmp 0x1ead90
    001eb020
    001eb036
    001eb036 // align 0x10
    001eb040
    001eb040Stdlib.Scanf.is_hexa_digit:
    001eb040add rax, -96
    001eb044cmp rax, 45
    001eb048jbe 0x1eb058
    001eb04aadd rax, -98
    001eb04ecmp rax, 11
    001eb052jbe 0x1eb068
    001eb054jmp 0x1eb062
    001eb056
    001eb056 66 90 f.
    001eb058
    001eb058loc_1eb058:
    001eb058add rax, -20
    001eb05ccmp rax, 13
    001eb060ja 0x1eb068
    001eb062
    001eb062loc_1eb062:
    001eb062mov eax, 1
    001eb067ret
    001eb068
    001eb068loc_1eb068:
    001eb068mov eax, 3
    001eb06dret
    001eb040
    001eb06e
    001eb06e // align 0x10
    001eb070
    001eb070Stdlib.Scanf.fun:
    001eb070mov rdx, rax
    001eb073mov rsi, rbx
    001eb076mov rbx, [rdi+32]
    001eb07amov rax, [rdi+24]
    001eb07emov rdi, rdx
    001eb081jmp 0x1ead90
    001eb070
    001eb086
    001eb086 // align 0x10
    001eb090
    001eb090Stdlib.Scanf.scan_sign:
    001eb090lea r10, [rsp-352]
    001eb098cmp r10, [r14+40]
    001eb09cjb 0x1eb1c0
    001eb0a2
    001eb0a2loc_1eb0a2:
    001eb0a2sub rsp, 16
    001eb0a6mov [rsp], rax
    001eb0aamov rdi, rbx
    001eb0admov rax, [rdi+16]
    001eb0b1cmp rax, 1
    001eb0b5je 0x1eb0c0
    001eb0b7mov rbx, [rdi+8]
    001eb0bbjmp 0x1eb15f
    001eb0c0
    001eb0c0loc_1eb0c0:
    001eb0c0mov [rsp+8], rdi
    001eb0c5lea r11, [rip+84]
    001eb0ccpush r11
    001eb0cepush [r14+48]
    001eb0d2mov [r14+48], rsp
    001eb0d6mov rbx, [rdi+48]
    001eb0damov eax, 1
    001eb0dfmov rdi, [rbx]
    001eb0e2call rdi
    001eb0e4mov rdi, [rsp+24]
    001eb0e9mov [rdi+8], rax
    001eb0edmov [rdi+16], 3
    001eb0f5mov rbx, [rdi+24]
    001eb0f9add rbx, 2
    001eb0fdmov [rdi+24], rbx
    001eb101cmp rax, 21
    001eb105jne 0x1eb113
    001eb107mov rbx, [rdi+32]
    001eb10badd rbx, 2
    001eb10fmov [rdi+32], rbx
    001eb113
    001eb113loc_1eb113:
    001eb113pop [r14+48]
    001eb117add rsp, 8
    001eb11bjmp 0x1eb15c
    001eb11d
    001eb11d 0f 1f 00 ...
    001eb120lea rbx, [rip+0x1424f1]
    001eb127mov rbx, [rbx+88]
    001eb12bcmp rax, rbx
    001eb12ejne 0x1eb154
    001eb130mov rdi, [rsp+8]
    001eb135mov [rdi+8], 1
    001eb13dmov [rdi+16], 1
    001eb145mov [rdi], 3
    001eb14cmov eax, 1
    001eb151jmp 0x1eb15c
    001eb153
    001eb153 90 .
    001eb154
    001eb154loc_1eb154:
    001eb154call caml_reraise_exn
    001eb159nop [rax]
    001eb15c
    001eb15cloc_1eb15c:
    001eb15cmov rbx, rax
    001eb15f
    001eb15floc_1eb15f:
    001eb15fmov rax, [rdi]
    001eb162cmp rax, 1
    001eb166je 0x1eb178
    001eb168lea rax, [rip+0x1424a9]
    001eb16fmov rax, [rax+88]
    001eb173call caml_raise_exn
    001eb178
    001eb178loc_1eb178:
    001eb178cmp rbx, 87
    001eb17cje 0x1eb198
    001eb17ecmp rbx, 91
    001eb182je 0x1eb190
    001eb184mov rax, [rsp]
    001eb188add rsp, 16
    001eb18cret
    001eb18d
    001eb18d 0f 1f 00 ...
    001eb190
    001eb190loc_1eb190:
    001eb190mov [rsp+8], rdi
    001eb195jmp 0x1eb19d
    001eb197
    001eb197 90 .
    001eb198
    001eb198loc_1eb198:
    001eb198mov [rsp+8], rdi
    001eb19d
    001eb19dloc_1eb19d:
    001eb19dmov rax, [rdi+56]
    001eb1a1call Stdlib.Buffer.add_char
    001eb1a6mov rax, [rsp]
    001eb1aaadd rax, -2
    001eb1aemov rbx, [rsp+8]
    001eb1b3mov [rbx+16], 1
    001eb1bbadd rsp, 16
    001eb1bfret
    001eb1c0
    001eb1c0loc_1eb1c0:
    001eb1c0push 37
    001eb1c2call caml_call_realloc_stack
    001eb1c7pop r10
    001eb1c9jmp 0x1eb0a2
    001eb090
    001eb1ce
    001eb1ce // align 0x10
    001eb1d0
    001eb1d0Stdlib.Scanf.scan_optionally_signed_decimal_int:
    001eb1d0lea r10, [rsp-328]
    001eb1d8cmp r10, [r14+40]
    001eb1dcjb 0x1eb1f8
    001eb1de
    001eb1deloc_1eb1de:
    001eb1desub rsp, 8
    001eb1e2mov [rsp], rbx
    001eb1e6call Stdlib.Scanf.scan_sign
    001eb1ebmov rbx, [rsp]
    001eb1efadd rsp, 8
    001eb1f3jmp 0x1ea9a0
    001eb1f8
    001eb1f8loc_1eb1f8:
    001eb1f8push 34
    001eb1facall caml_call_realloc_stack
    001eb1ffpop r10
    001eb201jmp 0x1eb1de
    001eb1d0
    001eb203
    001eb203 // align 0x10
    001eb210
    001eb210Stdlib.Scanf.scan_unsigned_int:
    001eb210lea r10, [rsp-352]
    001eb218cmp r10, [r14+40]
    001eb21cjb 0x1eb525
    001eb222
    001eb222loc_1eb222:
    001eb222sub rsp, 16
    001eb226mov [rsp], rax
    001eb22amov rdi, rbx
    001eb22dmov rax, [rdi+16]
    001eb231cmp rax, 1
    001eb235je 0x1eb240
    001eb237mov rbx, [rdi+8]
    001eb23bjmp 0x1eb2df
    001eb240
    001eb240loc_1eb240:
    001eb240mov [rsp+8], rdi
    001eb245lea r11, [rip+84]
    001eb24cpush r11
    001eb24epush [r14+48]
    001eb252mov [r14+48], rsp
    001eb256mov rbx, [rdi+48]
    001eb25amov eax, 1
    001eb25fmov rdi, [rbx]
    001eb262call rdi
    001eb264mov rdi, [rsp+24]
    001eb269mov [rdi+8], rax
    001eb26dmov [rdi+16], 3
    001eb275mov rbx, [rdi+24]
    001eb279add rbx, 2
    001eb27dmov [rdi+24], rbx
    001eb281cmp rax, 21
    001eb285jne 0x1eb293
    001eb287mov rbx, [rdi+32]
    001eb28badd rbx, 2
    001eb28fmov [rdi+32], rbx
    001eb293
    001eb293loc_1eb293:
    001eb293pop [r14+48]
    001eb297add rsp, 8
    001eb29bjmp 0x1eb2dc
    001eb29d
    001eb29d 0f 1f 00 ...
    001eb2a0lea rbx, [rip+0x142371]
    001eb2a7mov rbx, [rbx+88]
    001eb2abcmp rax, rbx
    001eb2aejne 0x1eb2d4
    001eb2b0mov rdi, [rsp+8]
    001eb2b5mov [rdi+8], 1
    001eb2bdmov [rdi+16], 1
    001eb2c5mov [rdi], 3
    001eb2ccmov eax, 1
    001eb2d1jmp 0x1eb2dc
    001eb2d3
    001eb2d3 90 .
    001eb2d4
    001eb2d4loc_1eb2d4:
    001eb2d4call caml_reraise_exn
    001eb2d9nop [rax]
    001eb2dc
    001eb2dcloc_1eb2dc:
    001eb2dcmov rbx, rax
    001eb2df
    001eb2dfloc_1eb2df:
    001eb2dfmov rax, [rdi]
    001eb2e2cmp rax, 1
    001eb2e6je 0x1eb2f8
    001eb2e8lea rax, [rip+0x142329]
    001eb2efmov rax, [rax+88]
    001eb2f3call caml_raise_exn
    001eb2f8
    001eb2f8loc_1eb2f8:
    001eb2f8cmp rbx, 97
    001eb2fcje 0x1eb310
    001eb2femov rax, [rsp]
    001eb302mov rbx, rdi
    001eb305add rsp, 16
    001eb309jmp 0x1ea9a0
    001eb30e
    001eb30e 66 90 f.
    001eb310
    001eb310loc_1eb310:
    001eb310mov [rsp+8], rdi
    001eb315mov rax, [rdi+56]
    001eb319call Stdlib.Buffer.add_char
    001eb31emov rax, [rsp]
    001eb322add rax, -2
    001eb326mov rdi, [rsp+8]
    001eb32bmov [rdi+16], 1
    001eb333cmp rax, 1
    001eb337jne 0x1eb340
    001eb339add rsp, 16
    001eb33dret
    001eb33e
    001eb33e 66 90 f.
    001eb340
    001eb340loc_1eb340:
    001eb340mov [rsp], rax
    001eb344mov rax, [rdi+16]
    001eb348cmp rax, 1
    001eb34cje 0x1eb358
    001eb34emov rbx, [rdi+8]
    001eb352jmp 0x1eb3f7
    001eb357
    001eb357 90 .
    001eb358
    001eb358loc_1eb358:
    001eb358mov [rsp+8], rdi
    001eb35dlea r11, [rip+84]
    001eb364push r11
    001eb366push [r14+48]
    001eb36amov [r14+48], rsp
    001eb36emov rbx, [rdi+48]
    001eb372mov eax, 1
    001eb377mov rdi, [rbx]
    001eb37acall rdi
    001eb37cmov rdi, [rsp+24]
    001eb381mov [rdi+8], rax
    001eb385mov [rdi+16], 3
    001eb38dmov rbx, [rdi+24]
    001eb391add rbx, 2
    001eb395mov [rdi+24], rbx
    001eb399cmp rax, 21
    001eb39djne 0x1eb3ab
    001eb39fmov rbx, [rdi+32]
    001eb3a3add rbx, 2
    001eb3a7mov [rdi+32], rbx
    001eb3ab
    001eb3abloc_1eb3ab:
    001eb3abpop [r14+48]
    001eb3afadd rsp, 8
    001eb3b3jmp 0x1eb3f4
    001eb3b5
    001eb3b5 0f 1f 00 ...
    001eb3b8lea rbx, [rip+0x142259]
    001eb3bfmov rbx, [rbx+88]
    001eb3c3cmp rax, rbx
    001eb3c6jne 0x1eb3ec
    001eb3c8mov rdi, [rsp+8]
    001eb3cdmov [rdi+8], 1
    001eb3d5mov [rdi+16], 1
    001eb3ddmov [rdi], 3
    001eb3e4mov eax, 1
    001eb3e9jmp 0x1eb3f4
    001eb3eb
    001eb3eb 90 .
    001eb3ec
    001eb3ecloc_1eb3ec:
    001eb3eccall caml_reraise_exn
    001eb3f1nop [rax]
    001eb3f4
    001eb3f4loc_1eb3f4:
    001eb3f4mov rbx, rax
    001eb3f7
    001eb3f7loc_1eb3f7:
    001eb3f7mov rax, [rdi]
    001eb3facmp rax, 1
    001eb3feje 0x1eb40c
    001eb400mov rax, [rsp]
    001eb404add rsp, 16
    001eb408ret
    001eb409
    001eb409 0f 1f 00 ...
    001eb40c
    001eb40cloc_1eb40c:
    001eb40ccmp rbx, 199
    001eb413jl 0x1eb47c
    001eb415cmp rbx, 223
    001eb41cje 0x1eb438
    001eb41ecmp rbx, 241
    001eb425jne 0x1eb4d8
    001eb42bmov [rsp+8], rdi
    001eb430jmp 0x1eb4e8
    001eb435
    001eb435 0f 1f 00 ...
    001eb438
    001eb438loc_1eb438:
    001eb438mov [rsp+8], rdi
    001eb43dmov rax, [rdi+56]
    001eb441call Stdlib.Buffer.add_char
    001eb446mov rdi, [rsp]
    001eb44aadd rdi, -2
    001eb44emov rsi, [rsp+8]
    001eb453mov [rsi+16], 1
    001eb45blea rax, [rip+0x181d1e]
    001eb462mov rax, [rax+344]
    001eb469mov rbx, [rax+32]
    001eb46dmov rax, [rax+24]
    001eb471add rsp, 16
    001eb475jmp 0x1ead90
    001eb47a
    001eb47a 66 90 f.
    001eb47c
    001eb47cloc_1eb47c:
    001eb47ccmp rbx, 177
    001eb483je 0x1eb4d0
    001eb485cmp rbx, 197
    001eb48cjl 0x1eb4d8
    001eb48emov [rsp+8], rdi
    001eb493mov rax, [rdi+56]
    001eb497call Stdlib.Buffer.add_char
    001eb49cmov rdi, [rsp]
    001eb4a0add rdi, -2
    001eb4a4mov rsi, [rsp+8]
    001eb4a9mov [rsi+16], 1
    001eb4b1lea rax, [rip+0x181cc8]
    001eb4b8mov rax, [rax+328]
    001eb4bfmov rbx, [rax+32]
    001eb4c3mov rax, [rax+24]
    001eb4c7add rsp, 16
    001eb4cbjmp 0x1ead90
    001eb4d0
    001eb4d0loc_1eb4d0:
    001eb4d0mov [rsp+8], rdi
    001eb4d5jmp 0x1eb4e8
    001eb4d7
    001eb4d7 90 .
    001eb4d8
    001eb4d8loc_1eb4d8:
    001eb4d8mov rax, [rsp]
    001eb4dcmov rbx, rdi
    001eb4dfadd rsp, 16
    001eb4e3jmp 0x1ea820
    001eb4e8
    001eb4e8loc_1eb4e8:
    001eb4e8mov rax, [rdi+56]
    001eb4eccall Stdlib.Buffer.add_char
    001eb4f1mov rdi, [rsp]
    001eb4f5add rdi, -2
    001eb4f9mov rsi, [rsp+8]
    001eb4femov [rsi+16], 1
    001eb506lea rax, [rip+0x181c73]
    001eb50dmov rax, [rax+360]
    001eb514mov rbx, [rax+32]
    001eb518mov rax, [rax+24]
    001eb51cadd rsp, 16
    001eb520jmp 0x1ead90
    001eb525
    001eb525loc_1eb525:
    001eb525push 37
    001eb527call caml_call_realloc_stack
    001eb52cpop r10
    001eb52ejmp 0x1eb222
    001eb210
    001eb533
    001eb533 // align 0x10
    001eb540
    001eb540Stdlib.Scanf.scan_optionally_signed_int:
    001eb540lea r10, [rsp-328]
    001eb548cmp r10, [r14+40]
    001eb54cjb 0x1eb568
    001eb54e
    001eb54eloc_1eb54e:
    001eb54esub rsp, 8
    001eb552mov [rsp], rbx
    001eb556call Stdlib.Scanf.scan_sign
    001eb55bmov rbx, [rsp]
    001eb55fadd rsp, 8
    001eb563jmp 0x1eb210
    001eb568
    001eb568loc_1eb568:
    001eb568push 34
    001eb56acall caml_call_realloc_stack
    001eb56fpop r10
    001eb571jmp 0x1eb54e
    001eb540
    001eb573
    001eb573 // align 0x10
    001eb580
    001eb580Stdlib.Scanf.scan_int_conversion:
    001eb580lea r10, [rsp-328]
    001eb588cmp r10, [r14+40]
    001eb58cjb 0x1eb65e
    001eb592
    001eb592loc_1eb592:
    001eb592sub rsp, 8
    001eb596mov rcx, rbx
    001eb599mov rsi, rdi
    001eb59cmov [rsp], rsi
    001eb5a0sar rax, 1
    001eb5a3lea rdx, [rip+0x43282]
    001eb5aamovsxd rax, [rdx+4*rax]
    001eb5aeadd rdx, rax
    001eb5b1jmp rdx
    001eb5b3nop
    001eb5b4lea rax, [rip+0x181bc5]
    001eb5bbmov rax, [rax+328]
    001eb5c2mov rbx, [rax+32]
    001eb5c6mov rax, [rax+24]
    001eb5camov rdi, rcx
    001eb5cdadd rsp, 8
    001eb5d1jmp 0x1ead90
    001eb5d6nop
    001eb5d8mov rax, rcx
    001eb5dbmov rbx, rsi
    001eb5decall Stdlib.Scanf.scan_sign
    001eb5e3mov rbx, [rsp]
    001eb5e7add rsp, 8
    001eb5ebjmp 0x1ea9a0
    001eb5f0mov rax, rcx
    001eb5f3mov rbx, rsi
    001eb5f6call Stdlib.Scanf.scan_sign
    001eb5fbmov rbx, [rsp]
    001eb5ffadd rsp, 8
    001eb603jmp 0x1eb210
    001eb608lea rax, [rip+0x181b71]
    001eb60fmov rax, [rax+344]
    001eb616mov rbx, [rax+32]
    001eb61amov rax, [rax+24]
    001eb61emov rdi, rcx
    001eb621add rsp, 8
    001eb625jmp 0x1ead90
    001eb62anop
    001eb62cmov rax, rcx
    001eb62fmov rbx, rsi
    001eb632add rsp, 8
    001eb636jmp 0x1ea9a0
    001eb63bnop
    001eb63clea rax, [rip+0x181b3d]
    001eb643mov rax, [rax+360]
    001eb64amov rbx, [rax+32]
    001eb64emov rax, [rax+24]
    001eb652mov rdi, rcx
    001eb655add rsp, 8
    001eb659jmp 0x1ead90
    001eb65e
    001eb65eloc_1eb65e:
    001eb65epush 34
    001eb660call caml_call_realloc_stack
    001eb665pop r10
    001eb667jmp 0x1eb592
    001eb580
    001eb66c
    001eb66c // align 0x10
    001eb670
    001eb670Stdlib.Scanf.scan_fractional_part:
    001eb670lea r10, [rsp-352]
    001eb678cmp r10, [r14+40]
    001eb67cjb 0x1eb7a4
    001eb682
    001eb682loc_1eb682:
    001eb682sub rsp, 16
    001eb686mov rdi, rbx
    001eb689cmp rax, 1
    001eb68djne 0x1eb694
    001eb68fadd rsp, 16
    001eb693ret
    001eb694
    001eb694loc_1eb694:
    001eb694mov [rsp], rax
    001eb698mov rax, [rdi+16]
    001eb69ccmp rax, 1
    001eb6a0je 0x1eb6ac
    001eb6a2mov rbx, [rdi+8]
    001eb6a6jmp 0x1eb74b
    001eb6ab
    001eb6ab 90 .
    001eb6ac
    001eb6acloc_1eb6ac:
    001eb6acmov [rsp+8], rdi
    001eb6b1lea r11, [rip+84]
    001eb6b8push r11
    001eb6bapush [r14+48]
    001eb6bemov [r14+48], rsp
    001eb6c2mov rbx, [rdi+48]
    001eb6c6mov eax, 1
    001eb6cbmov rdi, [rbx]
    001eb6cecall rdi
    001eb6d0mov rdi, [rsp+24]
    001eb6d5mov [rdi+8], rax
    001eb6d9mov [rdi+16], 3
    001eb6e1mov rbx, [rdi+24]
    001eb6e5add rbx, 2
    001eb6e9mov [rdi+24], rbx
    001eb6edcmp rax, 21
    001eb6f1jne 0x1eb6ff
    001eb6f3mov rbx, [rdi+32]
    001eb6f7add rbx, 2
    001eb6fbmov [rdi+32], rbx
    001eb6ff
    001eb6ffloc_1eb6ff:
    001eb6ffpop [r14+48]
    001eb703add rsp, 8
    001eb707jmp 0x1eb748
    001eb709
    001eb709 0f 1f 00 ...
    001eb70clea rbx, [rip+0x141f05]
    001eb713mov rbx, [rbx+88]
    001eb717cmp rax, rbx
    001eb71ajne 0x1eb740
    001eb71cmov rdi, [rsp+8]
    001eb721mov [rdi+8], 1
    001eb729mov [rdi+16], 1
    001eb731mov [rdi], 3
    001eb738mov eax, 1
    001eb73djmp 0x1eb748
    001eb73f
    001eb73f 90 .
    001eb740
    001eb740loc_1eb740:
    001eb740call caml_reraise_exn
    001eb745nop [rax]
    001eb748
    001eb748loc_1eb748:
    001eb748mov rbx, rax
    001eb74b
    001eb74bloc_1eb74b:
    001eb74bmov rax, [rdi]
    001eb74ecmp rax, 1
    001eb752je 0x1eb760
    001eb754mov rax, [rsp]
    001eb758add rsp, 16
    001eb75cret
    001eb75d
    001eb75d 0f 1f 00 ...
    001eb760
    001eb760loc_1eb760:
    001eb760mov rax, rbx
    001eb763add rax, -96
    001eb767cmp rax, 19
    001eb76bjbe 0x1eb778
    001eb76dmov rax, [rsp]
    001eb771add rsp, 16
    001eb775ret
    001eb776
    001eb776 66 90 f.
    001eb778
    001eb778loc_1eb778:
    001eb778mov [rsp+8], rdi
    001eb77dmov rax, [rdi+56]
    001eb781call Stdlib.Buffer.add_char
    001eb786mov rax, [rsp]
    001eb78aadd rax, -2
    001eb78emov rbx, [rsp+8]
    001eb793mov [rbx+16], 1
    001eb79badd rsp, 16
    001eb79fjmp 0x1ea820
    001eb7a4
    001eb7a4loc_1eb7a4:
    001eb7a4push 37
    001eb7a6call caml_call_realloc_stack
    001eb7abpop r10
    001eb7adjmp 0x1eb682
    001eb670
    001eb7b2
    001eb7b2 // align 0x10
    001eb7c0
    001eb7c0Stdlib.Scanf.scan_exponent_part:
    001eb7c0lea r10, [rsp-352]
    001eb7c8cmp r10, [r14+40]
    001eb7ccjb 0x1eb90a
    001eb7d2
    001eb7d2loc_1eb7d2:
    001eb7d2sub rsp, 16
    001eb7d6mov rdi, rbx
    001eb7d9cmp rax, 1
    001eb7ddjne 0x1eb7e4
    001eb7dfadd rsp, 16
    001eb7e3ret
    001eb7e4
    001eb7e4loc_1eb7e4:
    001eb7e4mov [rsp], rax
    001eb7e8mov rax, [rdi+16]
    001eb7eccmp rax, 1
    001eb7f0je 0x1eb7fc
    001eb7f2mov rbx, [rdi+8]
    001eb7f6jmp 0x1eb89b
    001eb7fb
    001eb7fb 90 .
    001eb7fc
    001eb7fcloc_1eb7fc:
    001eb7fcmov [rsp+8], rdi
    001eb801lea r11, [rip+84]
    001eb808push r11
    001eb80apush [r14+48]
    001eb80emov [r14+48], rsp
    001eb812mov rbx, [rdi+48]
    001eb816mov eax, 1
    001eb81bmov rdi, [rbx]
    001eb81ecall rdi
    001eb820mov rdi, [rsp+24]
    001eb825mov [rdi+8], rax
    001eb829mov [rdi+16], 3
    001eb831mov rbx, [rdi+24]
    001eb835add rbx, 2
    001eb839mov [rdi+24], rbx
    001eb83dcmp rax, 21
    001eb841jne 0x1eb84f
    001eb843mov rbx, [rdi+32]
    001eb847add rbx, 2
    001eb84bmov [rdi+32], rbx
    001eb84f
    001eb84floc_1eb84f:
    001eb84fpop [r14+48]
    001eb853add rsp, 8
    001eb857jmp 0x1eb898
    001eb859
    001eb859 0f 1f 00 ...
    001eb85clea rbx, [rip+0x141db5]
    001eb863mov rbx, [rbx+88]
    001eb867cmp rax, rbx
    001eb86ajne 0x1eb890
    001eb86cmov rdi, [rsp+8]
    001eb871mov [rdi+8], 1
    001eb879mov [rdi+16], 1
    001eb881mov [rdi], 3
    001eb888mov eax, 1
    001eb88djmp 0x1eb898
    001eb88f
    001eb88f 90 .
    001eb890
    001eb890loc_1eb890:
    001eb890call caml_reraise_exn
    001eb895nop [rax]
    001eb898
    001eb898loc_1eb898:
    001eb898mov rbx, rax
    001eb89b
    001eb89bloc_1eb89b:
    001eb89bmov rax, [rdi]
    001eb89ecmp rax, 1
    001eb8a2je 0x1eb8b0
    001eb8a4mov rax, [rsp]
    001eb8a8add rsp, 16
    001eb8acret
    001eb8ad
    001eb8ad 0f 1f 00 ...
    001eb8b0
    001eb8b0loc_1eb8b0:
    001eb8b0cmp rbx, 139
    001eb8b7je 0x1eb8d4
    001eb8b9cmp rbx, 203
    001eb8c0je 0x1eb8cc
    001eb8c2mov rax, [rsp]
    001eb8c6add rsp, 16
    001eb8caret
    001eb8cb
    001eb8cb 90 .
    001eb8cc
    001eb8ccloc_1eb8cc:
    001eb8ccmov [rsp+8], rdi
    001eb8d1jmp 0x1eb8d9
    001eb8d3
    001eb8d3 90 .
    001eb8d4
    001eb8d4loc_1eb8d4:
    001eb8d4mov [rsp+8], rdi
    001eb8d9
    001eb8d9loc_1eb8d9:
    001eb8d9mov rax, [rdi+56]
    001eb8ddcall Stdlib.Buffer.add_char
    001eb8e2mov rax, [rsp]
    001eb8e6add rax, -2
    001eb8eamov rbx, [rsp+8]
    001eb8efmov [rbx+16], 1
    001eb8f7call Stdlib.Scanf.scan_sign
    001eb8fcmov rbx, [rsp+8]
    001eb901add rsp, 16
    001eb905jmp 0x1ea9a0
    001eb90a
    001eb90aloc_1eb90a:
    001eb90apush 37
    001eb90ccall caml_call_realloc_stack
    001eb911pop r10
    001eb913jmp 0x1eb7d2
    001eb7c0
    001eb918
    001eb918 // align 0x10
    001eb920
    001eb920Stdlib.Scanf.scan_integer_part:
    001eb920lea r10, [rsp-328]
    001eb928cmp r10, [r14+40]
    001eb92cjb 0x1eb948
    001eb92e
    001eb92eloc_1eb92e:
    001eb92esub rsp, 8
    001eb932mov [rsp], rbx
    001eb936call Stdlib.Scanf.scan_sign
    001eb93bmov rbx, [rsp]
    001eb93fadd rsp, 8
    001eb943jmp 0x1ea820
    001eb948
    001eb948loc_1eb948:
    001eb948push 34
    001eb94acall caml_call_realloc_stack
    001eb94fpop r10
    001eb951jmp 0x1eb92e
    001eb920
    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