File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00202f30
    00202f30caml_process_external_interrupt:
    00202f30mov rax, [0xffffffffffffffe8]
    00202f39mov rax, [rax+256]
    00202f40test rax, rax
    00202f43je 0x202f50
    00202f45jmp [rip+0x1753f1]
    00202f4bnop
    00202f4cret
    00202f4ddb 0x17
    00202f4edb 0x00
    00202f4fnop
    00202f50
    00202f50loc_202f50:
    00202f50ret
    00202f30
    00202f51
    00202f51 // align 0x10
    00202f60
    00202f60caml_bt_is_in_blocking_section:
    00202f60mov rax, [0xffffffffffffffe0]
    00202f69mov rax, [rax+152]
    00202f70test rax, rax
    00202f73sete al
    00202f76movzx eax, al
    00202f79ret
    00202f7adb 0x0f
    00202f7bmov dh, 192
    00202f7dret
    00202f60
    00202f7e
    00202f7e // align 0x10
    00202f80
    00202f80caml_bt_is_self:
    00202f80sub rsp, 8
    00202f84call fn_f4450
    00202f89mov rdx, [0xffffffffffffffe0]
    00202f92cmp [rdx+144], rax
    00202f99sete al
    00202f9cadd rsp, 8
    00202fa0movzx eax, al
    00202fa3ret
    00202fa4db 0x0f
    00202fa5mov dh, 192
    00202fa7ret
    00202f80
    00202fa8
    00202fa8 // align 0x10
    00202fb0
    00202fb0caml_domain_is_multicore:
    00202fb0mov rcx, [0xffffffffffffffe0]
    00202fb9mov rdx, [rip+0x17561c]
    00202fc0mov eax, 1
    00202fc5cmp rdx, 1
    00202fc9je 0x202fd0
    00202fcbret
    00202fccmov edx, [rcx+136]
    00202fd2xor eax, eax
    00202fd4test edx, edx
    00202fd6setne al
    00202fd9ret
    00202fdadb 0x0f
    00202fdbxchg eax, ebp
    00202fdcdb 0xc0
    00202fddret
    00202fb0
    00202fde
    00202fde // align 0x10
    00202fe0
    00202fe0caml_acquire_domain_lock:
    00202fe0push rbx
    00202fe1mov rbx, [0xffffffffffffffe0]
    00202fealea rdi, [rbx+160]
    00202ff1call fn_f4710
    00202ff6test eax, eax
    00202ff8jne 0x20300d
    00202ffamov rax, [rbx+8]
    00202ffemov [0xffffffffffffffe8], rax
    00203007pop rbx
    00203008ret
    00203009mov esi, eax
    0020300blea rdi, [rip+0x2c4f9]
    00203012call caml_plat_fatal_error
    00203017db 0xb5
    00203018mov [rcx], eax
    0020301adb 0x00
    00202fe0
    0020301b
    0020301b // align 0x10
    00203020
    00203020caml_bt_enter_ocaml:
    00203020mov rax, [0xffffffffffffffe0]
    00203029mov edx, [rax+136]
    0020302ftest edx, edx
    00203031jne 0x203040
    00203033ret
    00203034db 0xd2
    00203035jne 0x203040
    00203037ret
    00203038
    00203038 0f 1f 84 00 00 00 00 00 ........
    00203040
    00203040loc_203040:
    00203040mov [rax+152], 1
    0020304bret
    00203020
    0020304c
    0020304c // align 0x10
    00203050
    00203050caml_release_domain_lock:
    00203050sub rsp, 8
    00203054mov [0xffffffffffffffe8], 0
    00203061mov rax, [0xffffffffffffffe0]
    0020306alea rdi, [rax+160]
    00203071call fn_f47c0
    00203076test eax, eax
    00203078jne 0x203083
    0020307aadd rsp, 8
    0020307eret
    0020307fmov esi, eax
    00203081lea rdi, [rip+0x2c48e]
    00203088call caml_plat_fatal_error
    0020308ddb 0x3f
    0020308emov [rcx], eax
    00203090db 0x00
    00203050
    00203091
    00203091 // align 0x10
    002030a0
    002030a0caml_bt_exit_ocaml:
    002030a0mov rdi, [0xffffffffffffffe0]
    002030a9mov eax, [rdi+136]
    002030aftest eax, eax
    002030b1jne 0x2030c0
    002030b3ret
    002030b4db 0xc0
    002030b5jne 0x2030c0
    002030b7ret
    002030b8
    002030b8 0f 1f 84 00 00 00 00 00 ........
    002030c0
    002030c0loc_2030c0:
    002030c0add rdi, 200
    002030c7mov [rdi-48], 0
    002030cfjmp 0x21bc00
    002030a0
    002030d4
    002030d4 // align 0x10
    002030e0
    002030e0caml_domain_terminating:
    002030e0movsxd rdx, [rdi+288]
    002030e7mov rax, rdx
    002030eashl rax, 5
    002030eeadd rax, rdx
    002030f1mov rdx, [rip+0x175504]
    002030f8lea rax, [rdx+8*rax]
    002030fcmov eax, [rax+116]
    002030ffret
    00203100db 0x8b
    00203101je 0x2030c7
    002030e0
    00203104
    00203104 // align 0x10
    00203110
    00203110caml_domain_is_terminating:
    00203110mov rax, [0xffffffffffffffe0]
    00203119mov eax, [rax+116]
    0020311cret
    0020311ddb 0x8b
    0020311eje 0x2030e4
    00203110
    00203121
    00203121 // align 0x10
    00203130
    00203130caml_ml_domain_cpu_relax:
    00203130sub rsp, 8
    00203134mov rax, [0xffffffffffffffe0]
    0020313dlea rdi, [rax+16]
    00203141call fn_2026e0
    00203146test eax, eax
    00203148jne 0x203150
    0020314anop
    0020314cmov eax, 1
    00203151add rsp, 8
    00203155ret
    00203156db 0x83
    00203157db 0xc4
    00203158or bl, al
    00203130
    0020315a
    0020315a // align 0x10
    00203160
    00203160caml_domain_dls_set:
    00203160sub rsp, 8
    00203164mov rsi, rdi
    00203167mov rax, [0xffffffffffffffe8]
    00203170lea rdi, [rax+304]
    00203177call caml_modify_generational_global_root
    0020317cmov eax, 1
    00203181add rsp, 8
    00203185ret
    00203186db 0x83
    00203187db 0xc4
    00203188or bl, al
    00203160
    0020318a
    0020318a // align 0x10
    00203190
    00203190caml_domain_dls_get:
    00203190mov rax, [0xffffffffffffffe8]
    00203199mov rax, [rax+304]
    002031a0ret
    002031a1db 0x01
    002031a2add [rax], al
    002031a4ret
    00203190
    002031a5
    002031a5 // align 0x10
    002031b0
    002031b0caml_domain_dls_compare_and_set:
    002031b0mov rdx, rdi
    002031b3mov rdi, [0xffffffffffffffe8]
    002031bccmp [rdi+304], rdx
    002031c3je 0x2031d0
    002031c5mov eax, 1
    002031caret
    002031cbdb 0x00
    002031ccadd [rax], al
    002031ceret
    002031cf
    002031cf 90 .
    002031d0
    002031d0loc_2031d0:
    002031d0sub rsp, 8
    002031d4add rdi, 304
    002031dbcall caml_modify_generational_global_root
    002031e0mov eax, 3
    002031e5add rsp, 8
    002031e9ret
    002031b0
    002031ea
    002031ea // align 0x10
    002031f0
    002031f0caml_recommended_domain_count:
    002031f0push rbx
    002031f1mov ecx, 16
    002031f6sub rsp, 144
    002031fdmov rax, [0x28]
    00203206mov [rsp+136], rax
    0020320exor eax, eax
    00203210mov rdi, rsp
    00203213rep stosq [rdi], rax
    00203216call fn_f4450
    0020321bmov rdx, rsp
    0020321emov esi, 128
    00203223mov rdi, rax
    00203226call fn_f4280
    0020322btest eax, eax
    0020322djne 0x203290
    0020322fmov rsi, rsp
    00203232mov edi, 128
    00203237call fn_f4640
    0020323cmov edx, eax
    0020323ecdqe
    00203240cmp edx, -1
    00203243je 0x203290
    00203245mov edx, 3
    0020324atest rax, rax
    0020324djle 0x20326b
    0020324fmov rdx, [rip+0x726fe]
    00203256mov rdx, [rdx+160]
    0020325dcmp rdx, rax
    00203260jae 0x2032a0
    00203262lea rdx, [rdx+rdx+1]
    00203267mov rax, [rsp+136]
    0020326fsub rax, [0x28]
    00203278jne 0x2032a7
    0020327aadd rsp, 144
    00203281mov rax, rdx
    00203284pop rbx
    00203285ret
    00203286db 0x89
    00203287rcr [rbx-61], 1
    0020328a
    0020328a 66 0f 1f 44 00 00 f..D..
    00203290
    00203290loc_203290:
    00203290mov edi, 84
    00203295call fn_f42e0
    0020329ajmp 0x203249
    0020329c
    0020329c 0f 1f 40 00 ..@.
    002032a0
    002032a0loc_2032a0:
    002032a0lea rdx, [rax+rax+1]
    002032a5jmp 0x20326b
    002032a7
    002032a7loc_2032a7:
    002032a7call fn_f4590
    002031f0
    002032ac
    002032ac // align 0x10
    002032b0
    002032b0fn_2032b0:
    002032b0push rbx
    002032b1mov rbx, [rip+0x72d30]
    002032b8mov rax, [rbx]
    002032bctest rax, rax
    002032bfje 0x203320
    002032c1mov rax, [rax+368]
    002032c8test rax, rax
    002032cbje 0x2032d0
    002032cdpop rbx
    002032ceret
    002032cf
    002032cf 90 .
    002032d0
    002032d0loc_2032d0:
    002032d0mov edi, 8360
    002032d5call caml_stat_alloc
    002032dapxor x0, x0
    002032delea rdx, [rax+32]
    002032e2mov [rax], 0
    002032e8mov [rax+4128], rdx
    002032eflea rdx, [rax+4128]
    002032f6mov [rax+24], 0
    002032femov [rax+4136], rdx
    00203305movups [rax+8], x0
    00203309mov rdx, [rbx]
    0020330dmov [rdx+368], rax
    00203314pop rbx
    00203315ret
    00203316
    00203316 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00203320
    00203320loc_203320:
    00203320call caml_bad_caml_state
    002032b0
    00203325
    00203325 // align 0x10
    00203330
    00203330fn_203330:
    00203330push rbp
    00203331push rbx
    00203332mov rbx, rdi
    00203335sub rsp, 8
    00203339cmp [rdi+8320], 0
    00203341je 0x2033b8
    00203343
    00203343loc_203343:
    00203343mov rdi, [rbx+4128]
    0020334alea rbp, [rbx+32]
    0020334ecmp rdi, rbp
    00203351je 0x20336d
    00203353call caml_stat_free
    00203358lea rax, [rbx+4128]
    0020335fmov [rbx+4128], rbp
    00203366mov [rbx+4136], rax
    0020336d
    0020336dloc_20336d:
    0020336dtest [rbx], 1
    00203370jne 0x2033ab
    00203372mov rdi, [rbx+8304]
    00203379lea rbp, [rbx+4144]
    00203380cmp rdi, rbp
    00203383je 0x2033ab
    00203385call caml_stat_free
    0020338amov rdi, [rbx+8312]
    00203391call caml_stat_free
    00203396lea rax, [rbx+4176]
    0020339dmov [rbx+8304], rbp
    002033a4mov [rbx+8312], rax
    002033ab
    002033abloc_2033ab:
    002033abadd rsp, 8
    002033afpop rbx
    002033b0pop rbp
    002033b1ret
    002033b2
    002033b2 66 0f 1f 44 00 00 f..D..
    002033b8
    002033b8loc_2033b8:
    002033b8mov rbp, [rdi+8344]
    002033bftest rbp, rbp
    002033c2je 0x2033e1
    002033c4nop [rax+rax]
    002033cfnop
    002033d0
    002033d0loc_2033d0:
    002033d0mov rdi, rbp
    002033d3mov rbp, [rbp]
    002033d7call caml_stat_free
    002033dctest rbp, rbp
    002033dfjne 0x2033d0
    002033e1
    002033e1loc_2033e1:
    002033e1mov [rbx+8344], 0
    002033ecjmp 0x203343
    00203330
    002033f1
    002033f1 // align 0x10
    00203400
    00203400fn_203400:
    00203400push rbx
    00203401mov rbx, rsi
    00203404call fn_203330
    00203409mov rdi, rbx
    0020340ccall caml_failwith
    00203400
    00203411
    00203411 // align 0x10
    00203420
    00203420fn_203420:
    00203420push rax
    00203421pop rax
    00203422sub rsp, 8
    00203426call fn_203330
    0020342bcall caml_raise_out_of_memory
    00203420
    00203430
    00203430fn_203430:
    00203430push rbp
    00203431push rbx
    00203432mov rbx, rdi
    00203435sub rsp, 8
    00203439cmp [rdi+8320], 0
    00203441jne 0x2034d1
    00203447mov rax, [rdi+8352]
    0020344emov rdx, [rdi+8328]
    00203455mov [rax+8], rdx
    00203459cmp rsi, 4050
    00203460jle 0x2034c0
    00203462mov rbp, rsi
    00203465lea rdi, [rsi+8120]
    0020346c
    0020346cloc_20346c:
    0020346ccall caml_stat_alloc_noexc
    00203471test rax, rax
    00203474je 0x2034c9
    00203476mov rdx, [rbx+8352]
    0020347dmov [rdx], rax
    00203480mov [rbx+8352], rax
    00203487mov [rax], 0
    0020348emov rax, [rbx+8352]
    00203495add rax, 16
    00203499mov [rbx+8328], rax
    002034a0lea rax, [rax+rbp+8100]
    002034a8mov [rbx+8336], rax
    002034afadd rsp, 8
    002034b3pop rbx
    002034b4pop rbp
    002034b5ret
    002034b6
    002034b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    002034c0
    002034c0loc_2034c0:
    002034c0mov edi, 8120
    002034c5xor ebp, ebp
    002034c7jmp 0x20346c
    002034c9
    002034c9loc_2034c9:
    002034c9mov rdi, rbx
    002034cccall fn_203420
    002034d1
    002034d1loc_2034d1:
    002034d1lea rsi, [rip+0x2cb18]
    002034d8call fn_203400
    00203430
    002034dd
    002034dd // align 0x40
    00203500
    00203500fn_203500:
    00203500test [rdi], 1
    00203503jne 0x203780
    00203509push r15
    0020350bmov r8, rdx
    0020350emov ecx, edx
    00203510mov eax, 1
    00203515push r14
    00203517shr r8, 6
    0020351bshl rax, cl
    0020351epush r13
    00203520shl rdx, 4
    00203524push r12
    00203526push rbp
    00203527push rbx
    00203528mov rbx, rdi
    0020352bsub rsp, 24
    0020352fmov rdi, [rdi+8304]
    00203536or [rdi+8*r8], rax
    0020353amov rax, [rbx+8312]
    00203541mov [rax+rdx], rsi
    00203545mov rax, [rbx+8]
    00203549mov rcx, [rbx+8312]
    00203550mov [rcx+rdx+8], rax
    00203555add rax, 1
    00203559mov [rbx+8], rax
    0020355dcmp rax, [rbx+8296]
    00203564jae 0x203578
    00203566
    00203566loc_203566:
    00203566add rsp, 24
    0020356apop rbx
    0020356bpop rbp
    0020356cpop r12
    0020356epop r13
    00203570pop r14
    00203572pop r15
    00203574ret
    00203575
    00203575 0f 1f 00 ...
    00203578
    00203578loc_203578:
    00203578mov rax, [rbx+8312]
    0020357fmov r12, [rbx+8280]
    00203586mov r15l, [rbx+8272]
    0020358dmov r13, [rbx+8304]
    00203594mov [rsp+8], rax
    00203599cmp r12, 0xf423f
    002035a0jbe 0x203788
    002035a6lea rbp, [r12+r12]
    002035aasub r15l, 1
    002035ae
    002035aeloc_2035ae:
    002035aetest rbp, rbp
    002035b1je 0x203799
    002035b7mov rdi, rbp
    002035bamov rax, rbp
    002035bdshl rdi, 4
    002035c1shr rax, 60
    002035c5jne 0x203799
    002035cbcall caml_stat_alloc_noexc
    002035d0mov r14, rax
    002035d3test rax, rax
    002035d6je 0x203799
    002035dclea rdi, [rbp+63]
    002035e0mov esi, 8
    002035e5shr rdi, 6
    002035e9call caml_stat_calloc_noexc
    002035eemov rdi, rax
    002035f1test rax, rax
    002035f4je 0x2037a1
    002035falea rax, [rbp-1]
    002035felea rdx, [rbp+rbp]
    00203603mov [rbx+8280], rbp
    0020360amov [rbx+8288], rax
    00203611mov rax, 0xaaaaaaaaaaaaaaab
    0020361bmul rdx
    0020361emov [rbx+8272], r15l
    00203625mov [rbx+8304], rdi
    0020362cmov [rbx+8312], r14
    00203633shr rdx, 1
    00203636mov [rbx+8296], rdx
    0020363dtest r12, r12
    00203640je 0x20374b
    00203646mov r9, [rsp+8]
    0020364bxor esi, esi
    0020364dmov r8l, 1
    00203653mov r10, 0x9e3779b97f4a7c16
    0020365djmp 0x203691
    0020365f
    0020365f 66 f
    00203660 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 f.........ff....
    00203670 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 .....ff.........
    00203680
    00203680loc_203680:
    00203680add rsi, 1
    00203684add r9, 16
    00203688cmp r12, rsi
    0020368bje 0x20374b
    00203691
    00203691loc_203691:
    00203691mov rdx, rsi
    00203694mov ecx, esi
    00203696mov rax, r8
    00203699shr rdx, 6
    0020369dshl rax, cl
    002036a0and rax, [r13+8*rdx]
    002036a5je 0x203680
    002036a7mov rax, [r9]
    002036aamov ecx, [rbx+8272]
    002036b0mov r15, r8
    002036b3imul rax, r10
    002036b7shr rax, cl
    002036bamov rdx, rax
    002036bdmov ecx, eax
    002036bfshr rdx, 6
    002036c3shl r15, cl
    002036c6lea r11, [rdi+8*rdx]
    002036camov rcx, r15
    002036cdmov rdx, [r11]
    002036d0test rdx, r15
    002036d3je 0x203725
    002036d5mov r15, [rbx+8288]
    002036dcnop [rax+rax]
    002036e7nop [rax+rax]
    002036f2nop [rax+rax]
    002036fdnop [rax]
    00203700
    00203700loc_203700:
    00203700add rax, 1
    00203704mov rbp, r8
    00203707and rax, r15
    0020370amov rdx, rax
    0020370dmov ecx, eax
    0020370fshr rdx, 6
    00203713shl rbp, cl
    00203716lea r11, [rdi+8*rdx]
    0020371amov rcx, rbp
    0020371dmov rdx, [r11]
    00203720test rdx, rbp
    00203723jne 0x203700
    00203725
    00203725loc_203725:
    00203725or rdx, rcx
    00203728shl rax, 4
    0020372cadd rsi, 1
    00203730add r9, 16
    00203734mov [r11], rdx
    00203737movdqu x0, [r9-16]
    0020373dmovups [r14+rax], x0
    00203742cmp r12, rsi
    00203745jne 0x203691
    0020374b
    0020374bloc_20374b:
    0020374badd rbx, 4144
    00203752cmp r13, rbx
    00203755je 0x203566
    0020375bmov rdi, r13
    0020375ecall caml_stat_free
    00203763mov rdi, [rsp+8]
    00203768add rsp, 24
    0020376cpop rbx
    0020376dpop rbp
    0020376epop r12
    00203770pop r13
    00203772pop r14
    00203774pop r15
    00203776jmp 0x216690
    0020377b
    0020377b 0f 1f 44 00 00 ..D..
    00203780
    00203780loc_203780:
    00203780ret
    00203781
    00203781 0f 1f 80 00 00 00 00 .......
    00203788
    00203788loc_203788:
    00203788lea rbp, [8*r12]
    00203790sub r15l, 3
    00203794jmp 0x2035ae
    00203799
    00203799loc_203799:
    00203799mov rdi, rbx
    0020379ccall fn_203420
    002037a1
    002037a1loc_2037a1:
    002037a1mov rdi, r14
    002037a4call caml_stat_free
    002037a9mov rdi, rbx
    002037accall fn_203420
    00203500
    002037b1
    002037b1 // align 0x10
    002037c0
    002037c0fn_2037c0:
    002037c0mov rax, [rdi+8328]
    002037c7push r12
    002037c9mov r12l, esi
    002037ccpush rbp
    002037cdmov rbp, rdx
    002037d0push rbx
    002037d1lea rdx, [rax+9]
    002037d5mov rbx, rdi
    002037d8cmp [rdi+8336], rdx
    002037dfjb 0x203800
    002037e1
    002037e1loc_2037e1:
    002037e1mov [rax], r12b
    002037e4mov rax, [rbx+8328]
    002037ebbswap rbp
    002037eemov [rax+1], rbp
    002037f2add [rbx+8328], 9
    002037fapop rbx
    002037fbpop rbp
    002037fcpop r12
    002037feret
    002037ff
    002037ff 90 .
    00203800
    00203800loc_203800:
    00203800mov esi, 9
    00203805call fn_203430
    0020380amov rax, [rbx+8328]
    00203811jmp 0x2037e1
    002037c0
    00203813
    00203813 // align 0x10
    00203820
    00203820fn_203820:
    00203820push r13
    00203822push r12
    00203824push rbp
    00203825mov rbp, rdi
    00203828push rbx
    00203829sub rsp, 8
    0020382dmov rax, [rdi+4128]
    00203834mov rbx, [rdi+4136]
    0020383bsub rbx, rax
    0020383esub rsi, rax
    00203841sar rbx, 4
    00203845add rbx, rbx
    00203848cmp rbx, 0x63fffff
    0020384fja 0x2038b4
    00203851mov r13, rsi
    00203854mov rdi, rbx
    00203857mov esi, 16
    0020385ccall caml_stat_calloc_noexc
    00203861mov r12, rax
    00203864test rax, rax
    00203867je 0x2038b4
    00203869mov rsi, [rbp+4128]
    00203870mov rdi, rax
    00203873mov rdx, r13
    00203876call fn_f47d0
    0020387bmov rdi, [rbp+4128]
    00203882lea rax, [rbp+32]
    00203886cmp rdi, rax
    00203889je 0x203890
    0020388bcall caml_stat_free
    00203890
    00203890loc_203890:
    00203890shl rbx, 4
    00203894mov [rbp+4128], r12
    0020389blea rax, [r12+r13]
    0020389fadd rbx, r12
    002038a2mov [rbp+4136], rbx
    002038a9add rsp, 8
    002038adpop rbx
    002038aepop rbp
    002038afpop r12
    002038b1pop r13
    002038b3ret
    002038b4
    002038b4loc_2038b4:
    002038b4lea rsi, [rip+0x2c75d]
    002038bbmov edi, 4
    002038c0xor eax, eax
    002038c2call caml_gc_message
    002038c7mov rdi, rbp
    002038cacall fn_203330
    002038cfcall caml_raise_out_of_memory
    00203820
    002038d4
    002038d4 // align 0x10
    002038e0
    002038e0fn_2038e0:
    002038e0push r13
    002038e2push r12
    002038e4push rbp
    002038e5mov rbp, rsi
    002038e8push rbx
    002038e9mov rbx, rdi
    002038ecmov rdi, rsi
    002038efsub rsp, 8
    002038f3call caml_find_code_fragment_by_pc
    002038f8test rax, rax
    002038fbje 0x2039b6
    00203901test [rbx], 2
    00203904je 0x2039de
    0020390amov rdi, rax
    0020390dmov r12, rax
    00203910call caml_digest_of_code_fragment
    00203915mov r13, rax
    00203918test rax, rax
    0020391bje 0x2039ca
    00203921mov rax, [rbx+8328]
    00203928sub rbp, [r12]
    0020392clea rdx, [rax+5]
    00203930cmp [rbx+8336], rdx
    00203937jb 0x203988
    00203939
    00203939loc_203939:
    00203939mov [rax], 16
    0020393cmov rax, [rbx+8328]
    00203943bswap ebp
    00203945mov [rax+1], ebp
    00203948mov rax, [rbx+8328]
    0020394flea rdx, [rax+5]
    00203953add rax, 21
    00203957mov [rbx+8328], rdx
    0020395ecmp [rbx+8336], rax
    00203965jb 0x2039a0
    00203967
    00203967loc_203967:
    00203967movdqu x0, [r13]
    0020396dmovups [rdx], x0
    00203970add [rbx+8328], 16
    00203978add rsp, 8
    0020397cpop rbx
    0020397dpop rbp
    0020397epop r12
    00203980pop r13
    00203982ret
    00203983
    00203983 0f 1f 44 00 00 ..D..
    00203988
    00203988loc_203988:
    00203988mov esi, 5
    0020398dmov rdi, rbx
    00203990call fn_203430
    00203995mov rax, [rbx+8328]
    0020399cjmp 0x203939
    0020399e
    0020399e 66 90 f.
    002039a0
    002039a0loc_2039a0:
    002039a0mov esi, 16
    002039a5mov rdi, rbx
    002039a8call fn_203430
    002039admov rdx, [rbx+8328]
    002039b4jmp 0x203967
    002039b6
    002039b6loc_2039b6:
    002039b6mov rdi, rbx
    002039b9call fn_203330
    002039belea rdi, [rip+0x2c6bb]
    002039c5call caml_invalid_argument
    002039ca
    002039caloc_2039ca:
    002039camov rdi, rbx
    002039cdcall fn_203330
    002039d2lea rdi, [rip+0x2c687]
    002039d9call caml_invalid_argument
    002039de
    002039deloc_2039de:
    002039demov rdi, rbx
    002039e1call fn_203330
    002039e6lea rdi, [rip+0x2c653]
    002039edcall caml_invalid_argument
    002038e0
    002039f2
    002039f2 // align 0x10
    00203a00
    00203a00fn_203a00:
    00203a00push r15
    00203a02push r14
    00203a04mov r14, rdi
    00203a07mov rdi, rdx
    00203a0apush r13
    00203a0cpush r12
    00203a0epush rbp
    00203a0fpush rbx
    00203a10sub rsp, 120
    00203a14mov [rsp+8], rsi
    00203a19lea rsi, [rip+0x2dfc0]
    00203a20mov [rsp+48], rcx
    00203a25mov rbx, [0x28]
    00203a2emov [rsp+104], rbx
    00203a33mov rbx, r8
    00203a36call caml_convert_flag_list
    00203a3bcmp [r14+8320], 0
    00203a43mov r10, [rsp+8]
    00203a48mov [r14], eax
    00203a4bje 0x203a53
    00203a4dand eax, -9
    00203a50mov [r14], eax
    00203a53
    00203a53loc_203a53:
    00203a53pxor x0, x0
    00203a57mov [r14+24], 0
    00203a5fmovups [r14+8], x0
    00203a64test al, 1
    00203a66jne 0x203abe
    00203a68movdqa x0, [rip+0x26690]
    00203a70lea rax, [r14+4144]
    00203a77lea rdx, [r14+4176]
    00203a7emov [r14+8272], 56
    00203a89mov [r14+8296], 170
    00203a94mov [r14+8304], rax
    00203a9bmov [r14+8312], rdx
    00203aa2movups [r14+8280], x0
    00203aaapxor x0, x0
    00203aaemovups [r14+4144], x0
    00203ab6movups [r14+4160], x0
    00203abe
    00203abeloc_203abe:
    00203abemov r15, [r14+4128]
    00203ac5mov [rsp+56], rbx
    00203acamov r13, r10
    00203acdmov [rsp+24], 0
    00203ad6mov [rsp+8], r15
    00203adbjmp 0x203b86
    00203ae0
    00203ae0loc_203ae0:
    00203ae0mov rbx, r13
    00203ae3sar rbx, 1
    00203ae6cmp r13, 127
    00203aeajbe 0x2045c0
    00203af0lea rax, [rbx+128]
    00203af7cmp rax, 255
    00203afdjbe 0x2046c8
    00203b03lea rax, [rbx+32768]
    00203b0acmp rax, 65535
    00203b10jbe 0x204750
    00203b16lea rax, [rbx+0x40000000]
    00203b1dmov esi, 0xffffffff80000000
    00203b22cmp rax, rsi
    00203b25jb 0x2047e0
    00203b2btest [r14], 4
    00203b2fjne 0x205581
    00203b35mov rdx, rbx
    00203b38mov esi, 3
    00203b3dmov rdi, r14
    00203b40call fn_2037c0
    00203b45nop [rax+rax]
    00203b50
    00203b50loc_203b50:
    00203b50mov rax, [rsp+8]
    00203b55cmp rax, [r14+4128]
    00203b5cje 0x203de0
    00203b62
    00203b62loc_203b62:
    00203b62mov rcx, [rsp+8]
    00203b67mov rax, [rcx]
    00203b6alea rdx, [rax+8]
    00203b6emov [rcx], rdx
    00203b71mov r13, [rax]
    00203b74lea rdx, [rcx-16]
    00203b78sub [rcx+8], 1
    00203b7dcmovne rdx, rcx
    00203b81mov [rsp+8], rdx
    00203b86
    00203b86loc_203b86:
    00203b86test r13b, 1
    00203b8ajne 0x203ae0
    00203b90
    00203b90loc_203b90:
    00203b90mov rsi, [r13-8]
    00203b94lea r8, [r13-8]
    00203b98mov r9, rsi
    00203b9bmovzx r11l, sil
    00203b9fshr r9, 10
    00203ba3movq x0, r9
    00203ba8punpcklqdq x0, x0
    00203baccmp sil, -6
    00203bb0je 0x204570
    00203bb6test r9, r9
    00203bb9je 0x204700
    00203bbfmov r12l, [r14]
    00203bc2test r12b, 1
    00203bc6je 0x2045f0
    00203bcc
    00203bccloc_203bcc:
    00203bcclea eax, [r11-245]
    00203bd3cmp eax, 10
    00203bd6ja 0x203c06
    00203bd8lea rdi, [rip+0x2ddd1]
    00203bdfmovsxd rax, [rdi+4*rax]
    00203be3add rax, rdi
    00203be6jmp rax
    00203be9
    00203be9 0f 1f 80 00 00 00 00 .......
    00203bf0
    00203bf0loc_203bf0:
    00203bf0test r9, r9
    00203bf3je 0x204700
    00203bf9mov r12l, [r14]
    00203bfctest r12b, 1
    00203c00je 0x2045f0
    00203c06
    00203c06loc_203c06:
    00203c06test sil, 240
    00203c0ajne 0x203c16
    00203c0ccmp r9, 7
    00203c10jbe 0x2049b8
    00203c16
    00203c16loc_203c16:
    00203c16and rsi, -1024
    00203c1dlea rbx, [rsi+r11+768]
    00203c25cmp r9, 0x3fffff
    00203c2cjbe 0x203c38
    00203c2eand r12l, 4
    00203c32jne 0x205590
    00203c38
    00203c38loc_203c38:
    00203c38mov rax, rbx
    00203c3bshr rax, 32
    00203c3fje 0x204900
    00203c45mov rdx, rbx
    00203c48mov esi, 19
    00203c4dmov rdi, r14
    00203c50mov [rsp+16], r9
    00203c55movaps [rsp+32], x0
    00203c5acall fn_2037c0
    00203c5fmov eax, 1
    00203c64mov rsi, r13
    00203c67mov rdi, r14
    00203c6amovdqu x7, [r14+16]
    00203c70movq x1, rax
    00203c75movdqa x0, [rsp+32]
    00203c7bpunpcklqdq x1, x1
    00203c7fmov rdx, [rsp+24]
    00203c84paddq x1, x7
    00203c88paddq x0, x1
    00203c8cmovups [r14+16], x0
    00203c91call fn_203500
    00203c96mov r9, [rsp+16]
    00203c9b
    00203c9bloc_203c9b:
    00203c9badd [rsp+8], 16
    00203ca1mov rax, [rsp+8]
    00203ca6cmp rax, [r14+4136]
    00203cadjae 0x20515c
    00203cb3
    00203cb3loc_203cb3:
    00203cb3mov rsi, [rsp+8]
    00203cb8lea rax, [r13+8]
    00203cbcsub r9, 1
    00203cc0mov [rsi], rax
    00203cc3mov [rsi+8], r9
    00203cc7
    00203cc7loc_203cc7:
    00203cc7mov r13, [r13]
    00203ccbjmp 0x203b86
    00203cd0mov rax, [r13]
    00203cd4mov r12, [rax+32]
    00203cd8mov rbp, [rax]
    00203cdbmov rbx, [rax+56]
    00203cdftest r12, r12
    00203ce2je 0x2055b0
    00203ce8mov rax, [r14+8328]
    00203cefmov rdx, [r14+8336]
    00203cf6test rbx, rbx
    00203cf9je 0x204ec0
    00203cffcmp rax, rdx
    00203d02jae 0x205080
    00203d08
    00203d08loc_203d08:
    00203d08lea rdx, [rax+1]
    00203d0cmov rdi, rbp
    00203d0fmov [r14+8328], rdx
    00203d16mov [rax], 25
    00203d19call fn_f43a0
    00203d1emov rdi, [r14+8328]
    00203d25lea r15, [rax+1]
    00203d29lea rax, [rdi+r15]
    00203d2dcmp [r14+8336], rax
    00203d34jb 0x205068
    00203d3a
    00203d3aloc_203d3a:
    00203d3amov rdx, r15
    00203d3dmov rsi, rbp
    00203d40call fn_f47d0
    00203d45lea rdx, [rsp+96]
    00203d4alea rsi, [rsp+88]
    00203d4fmov rdi, r13
    00203d52add [r14+8328], r15
    00203d59call r12
    00203d5cmov rdx, [rsp+88]
    00203d61cmp rdx, [rbx]
    00203d64jne 0x20559f
    00203d6amov rax, [rbx+8]
    00203d6ecmp [rsp+96], rax
    00203d73jne 0x20559f
    00203d79
    00203d79loc_203d79:
    00203d79add rax, 7
    00203d7dadd rdx, 3
    00203d81movdqu x5, [r14+16]
    00203d87shr rax, 3
    00203d8bshr rdx, 2
    00203d8fmovq x4, rax
    00203d94mov eax, 2
    00203d99movq x0, rdx
    00203d9emovq x1, rax
    00203da3punpcklqdq x0, x4
    00203da7punpcklqdq x1, x1
    00203dabpaddq x1, x5
    00203daf
    00203dafloc_203daf:
    00203dafpaddq x0, x1
    00203db3
    00203db3loc_203db3:
    00203db3mov rdx, [rsp+24]
    00203db8movups [r14+16], x0
    00203dbdmov rsi, r13
    00203dc0mov rdi, r14
    00203dc3call fn_203500
    00203dc8mov rax, [rsp+8]
    00203dcdcmp rax, [r14+4128]
    00203dd4jne 0x203b62
    00203ddanop [rax+rax]
    00203de0
    00203de0loc_203de0:
    00203de0lea rbp, [r14+32]
    00203de4mov rbx, [rsp+56]
    00203de9cmp rax, rbp
    00203decje 0x203e0b
    00203deemov rdi, rax
    00203df1call caml_stat_free
    00203df6lea rax, [r14+4128]
    00203dfdmov [r14+4128], rbp
    00203e04mov [r14+4136], rax
    00203e0b
    00203e0bloc_203e0b:
    00203e0btest [r14], 1
    00203e0fjne 0x203e4a
    00203e11mov rdi, [r14+8304]
    00203e18lea rbp, [r14+4144]
    00203e1fcmp rdi, rbp
    00203e22je 0x203e4a
    00203e24call caml_stat_free
    00203e29mov rdi, [r14+8312]
    00203e30call caml_stat_free
    00203e35lea rax, [r14+4176]
    00203e3cmov [r14+8304], rbp
    00203e43mov [r14+8312], rax
    00203e4a
    00203e4aloc_203e4a:
    00203e4amov rax, [r14+8320]
    00203e51test rax, rax
    00203e54je 0x2050f8
    00203e5amov esi, [r14]
    00203e5dtest sil, 8
    00203e61je 0x2049f0
    00203e67
    00203e67loc_203e67:
    00203e67mov r12, [r14+8328]
    00203e6esub r12, rax
    00203e71mov rbp, r12
    00203e74
    00203e74loc_203e74:
    00203e74lea rdi, [r14+8344]
    00203e7bcall [rip+0x1748b7]
    00203e81test al, al
    00203e83je 0x2055e7
    00203e89mov rax, [r14+8320]
    00203e90test rax, rax
    00203e93je 0x20538f
    00203e99mov rdx, [r14+8328]
    00203ea0sub rdx, rax
    00203ea3
    00203ea3loc_203ea3:
    00203ea3test [r14], 4
    00203ea7je 0x203ed1
    00203ea9mov rcx, r12
    00203eacor rcx, rdx
    00203eaf
    00203eafloc_203eaf:
    00203eafmov eax, -1
    00203eb4cmp rax, rcx
    00203eb7jb 0x2055ef
    00203ebdcmp rax, [r14+16]
    00203ec1jb 0x2055ef
    00203ec7cmp rax, [r14+24]
    00203ecbjb 0x2055ef
    00203ed1
    00203ed1loc_203ed1:
    00203ed1mov rax, [rsp+48]
    00203ed6mov r8l, edx
    00203ed9mov [rax], 0xffffffffbda69584
    00203edfmov rax, rdx
    00203ee2shr rax, 7
    00203ee6je 0x2054f0
    00203eecmov rcx, rax
    00203eefmov edi, 1
    00203ef4nop [rax+rax]
    00203effnop
    00203f00
    00203f00loc_203f00:
    00203f00shr rcx, 7
    00203f04mov esi, edi
    00203f06lea edi, [rdi+1]
    00203f09jne 0x203f00
    00203f0bmov rdi, [rsp+48]
    00203f10movsxd rcx, esi
    00203f13and r8l, 127
    00203f17lea rcx, [rdi+rcx+5]
    00203f1cmov [rcx], r8b
    00203f1fnop
    00203f20
    00203f20loc_203f20:
    00203f20mov edi, eax
    00203f22sub rcx, 1
    00203f26or edi, -128
    00203f29shr rax, 7
    00203f2dmov [rcx], dil
    00203f30jne 0x203f20
    00203f32lea r8l, [rsi+6]
    00203f36movsxd r10, r8l
    00203f39
    00203f39loc_203f39:
    00203f39mov rcx, rbp
    00203f3cand r12l, 127
    00203f40shr rcx, 7
    00203f44je 0x2054c0
    00203f4amov rdi, rcx
    00203f4dmov esi, 1
    00203f52nop [rax+rax]
    00203f5dnop [rax]
    00203f60
    00203f60loc_203f60:
    00203f60movsxd rax, esi
    00203f63add esi, 1
    00203f66shr rdi, 7
    00203f6ajne 0x203f60
    00203f6cmov rdi, [rsp+48]
    00203f71add rax, r10
    00203f74add rax, rdi
    00203f77mov [rax], r12b
    00203f7anop [rax+rax]
    00203f80
    00203f80loc_203f80:
    00203f80mov edi, ecx
    00203f82sub rax, 1
    00203f86or edi, -128
    00203f89shr rcx, 7
    00203f8dmov [rax], dil
    00203f90jne 0x203f80
    00203f92
    00203f92loc_203f92:
    00203f92mov r10, [r14+8]
    00203f96lea edi, [rsi+r8]
    00203f9amovsxd r11, edi
    00203f9dmov rcx, r10
    00203fa0shr rcx, 7
    00203fa4je 0x205530
    00203faamov r8, rcx
    00203fadmov esi, 1
    00203fb2nop [rax+rax]
    00203fbdnop [rax]
    00203fc0
    00203fc0loc_203fc0:
    00203fc0movsxd rax, esi
    00203fc3add esi, 1
    00203fc6shr r8, 7
    00203fcajne 0x203fc0
    00203fccadd rax, r11
    00203fcfmov r11, [rsp+48]
    00203fd4and r10l, 127
    00203fd8add rax, r11
    00203fdbmov [rax], r10b
    00203fdenop
    00203fe0
    00203fe0loc_203fe0:
    00203fe0mov r8l, ecx
    00203fe3sub rax, 1
    00203fe7or r8l, -128
    00203febshr rcx, 7
    00203fefmov [rax], r8b
    00203ff2jne 0x203fe0
    00203ff4
    00203ff4loc_203ff4:
    00203ff4mov r10, [r14+16]
    00203ff8add esi, edi
    00203ffamovsxd r11, esi
    00203ffdmov rcx, r10
    00204000shr rcx, 7
    00204004je 0x20551d
    0020400amov r8, rcx
    0020400dmov edi, 1
    00204012nop [rax+rax]
    0020401dnop [rax]
    00204020
    00204020loc_204020:
    00204020movsxd rax, edi
    00204023add edi, 1
    00204026shr r8, 7
    0020402ajne 0x204020
    0020402cadd rax, r11
    0020402fmov r11, [rsp+48]
    00204034and r10l, 127
    00204038add rax, r11
    0020403bmov [rax], r10b
    0020403enop
    00204040
    00204040loc_204040:
    00204040mov r8l, ecx
    00204043sub rax, 1
    00204047or r8l, -128
    0020404bshr rcx, 7
    0020404fmov [rax], r8b
    00204052jne 0x204040
    00204054
    00204054loc_204054:
    00204054mov r9, [r14+24]
    00204058lea r8l, [rsi+rdi]
    0020405cmovsxd r10, r8l
    0020405fmov rcx, r9
    00204062shr rcx, 7
    00204066je 0x20550a
    0020406cmov rdi, rcx
    0020406fmov esi, 1
    00204074nop [rax+rax]
    0020407fnop
    00204080
    00204080loc_204080:
    00204080movsxd rax, esi
    00204083add esi, 1
    00204086shr rdi, 7
    0020408ajne 0x204080
    0020408cmov rdi, [rsp+48]
    00204091add rax, r10
    00204094and r9l, 127
    00204098add rax, rdi
    0020409bmov [rax], r9b
    0020409enop
    002040a0
    002040a0loc_2040a0:
    002040a0mov edi, ecx
    002040a2sub rax, 1
    002040a6or edi, -128
    002040a9shr rcx, 7
    002040admov [rax], dil
    002040b0jne 0x2040a0
    002040b2
    002040b2loc_2040b2:
    002040b2lea eax, [r8+rsi]
    002040b6mov rsi, [rsp+48]
    002040bbmov [rsi+4], al
    002040be
    002040beloc_2040be:
    002040bemov [rbx], eax
    002040c0mov rax, [rsp+104]
    002040c5sub rax, [0x28]
    002040cejne 0x2055e2
    002040d4add rsp, 120
    002040d8mov rax, rdx
    002040dbpop rbx
    002040dcpop rbp
    002040ddpop r12
    002040dfpop r13
    002040e1pop r14
    002040e3pop r15
    002040e5ret
    002040e6
    002040e6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    002040f0mov rax, [r8]
    002040f3mov rbx, rax
    002040f6shr rbx, 10
    002040facmp rax, 0x3ffff
    00204100jbe 0x204e58
    00204106cmp rbx, 0x1fffff
    0020410djbe 0x204126
    0020410fand r12l, 4
    00204113jne 0x2055d3
    00204119mov rax, rbx
    0020411cshr rax, 32
    00204120jne 0x204aa2
    00204126
    00204126loc_204126:
    00204126mov rax, [r14+8328]
    0020412dlea rdx, [rax+5]
    00204131cmp [r14+8336], rdx
    00204138jb 0x204a89
    0020413e
    0020413eloc_20413e:
    0020413emov [rax], 7
    00204141mov rax, [r14+8328]
    00204148mov edx, ebx
    0020414abswap edx
    0020414cmov [rax+1], edx
    0020414fmov rax, [r14+8328]
    00204156lea rdi, [rax+5]
    0020415amov [r14+8328], rdi
    00204161
    00204161loc_204161:
    00204161lea rbp, [8*rbx]
    00204169lea rax, [rdi+rbp]
    0020416dcmp [r14+8336], rax
    00204174jb 0x204d80
    0020417a
    0020417aloc_20417a:
    0020417amov rdx, rbp
    0020417dmov rsi, r13
    00204180call fn_f47d0
    00204185mov rax, [r14+16]
    00204189mov rsi, r13
    0020418cmov rdi, r14
    0020418fadd [r14+8328], rbp
    00204196mov rdx, [rsp+24]
    0020419blea rax, [rax+2*rbx+1]
    002041a0mov [r14+16], rax
    002041a4mov rax, [r14+24]
    002041a8lea rax, [rbx+rax+1]
    002041admov [r14+24], rax
    002041b1call fn_203500
    002041b6jmp 0x203b50
    002041bb
    002041bb 0f 1f 44 00 00 ..D..
    002041c0mov rax, [r14+8328]
    002041c7cmp rax, [r14+8336]
    002041cejae 0x204de0
    002041d4
    002041d4loc_2041d4:
    002041d4lea rdx, [rax+1]
    002041d8mov [r14+8328], rdx
    002041dfmov [rax], 12
    002041e2mov rax, [r14+8328]
    002041e9lea rdx, [rax+8]
    002041edcmp [r14+8336], rdx
    002041f4jb 0x204dc0
    002041fa
    002041faloc_2041fa:
    002041famov rdx, [r13]
    002041femov [rax], rdx
    00204201movdqu x0, [r14+16]
    00204207add [r14+8328], 8
    0020420fpaddq x0, [rip+0x25ef9]
    00204217jmp 0x203db3
    0020421c
    0020421c 0f 1f 40 00 ..@.
    00204220mov rax, [r14+8328]
    00204227lea rbx, [8*r9]
    0020422flea rdx, [rax+5]
    00204233cmp [r14+8336], rdx
    0020423ajb 0x204da0
    00204240
    00204240loc_204240:
    00204240mov [rax], 17
    00204243mov rax, [r14+8328]
    0020424amov edx, ebx
    0020424csub r13, rbx
    0020424fbswap edx
    00204251mov [rax+1], edx
    00204254add [r14+8328], 5
    0020425cjmp 0x203b90
    00204261
    00204261 0f 1f 80 00 00 00 00 .......
    00204268test sil, 240
    0020426cjne 0x204278
    0020426ecmp r9, 7
    00204272jbe 0x204980
    00204278
    00204278loc_204278:
    00204278and rsi, -1024
    0020427flea rbx, [rsi+1015]
    00204286cmp r9, 0x3fffff
    0020428dja 0x2048c8
    00204293mov rax, rbx
    00204296shr rax, 32
    0020429ajne 0x2048d2
    002042a0mov rax, [r14+8328]
    002042a7lea rdx, [rax+5]
    002042abcmp [r14+8336], rdx
    002042b2jb 0x2052a5
    002042b8
    002042b8loc_2042b8:
    002042b8mov [rax], 8
    002042bbmov rdx, rbx
    002042bemov rax, [r14+8328]
    002042c5sar rdx, 24
    002042c9mov [rax+1], dl
    002042ccmov rdx, rbx
    002042cfsar rdx, 16
    002042d3mov [rax+3], bh
    002042d6mov [rax+2], dl
    002042d9mov [rax+4], -9
    002042ddadd [r14+8328], 5
    002042e5
    002042e5loc_2042e5:
    002042e5mov eax, 1
    002042eamov rdx, [rsp+24]
    002042efmov rdi, r14
    002042f2mov rsi, r13
    002042f5movq x1, rax
    002042famov [rsp+32], r9
    002042ffmov r15, r14
    00204302xor r12l, r12l
    00204305movdqu x6, [r14+16]
    0020430bpunpcklqdq x1, x1
    0020430fmov ebp, 2
    00204314paddq x1, x6
    00204318paddq x0, x1
    0020431cmovups [r14+16], x0
    00204321call fn_203500
    00204326lea rax, [r13+8]
    0020432amov r14, [rsp+32]
    0020432fmov [rsp+64], rax
    00204334mov rbx, rax
    00204337mov rax, [r13+8]
    0020433bshl rax, 8
    0020433fshr rax, 9
    00204343mov [rsp+16], rax
    00204348mov rax, r13
    0020434b
    0020434bloc_20434b:
    0020434bmov rsi, [rax]
    0020434emov rdi, r15
    00204351call fn_2038e0
    00204356mov r8, [rbx]
    00204359mov rbx, r8
    0020435csar rbx, 1
    0020435fcmp r8, 127
    00204363jbe 0x204ac0
    00204369lea rax, [rbx+128]
    00204370cmp rax, 255
    00204376jbe 0x204b60
    0020437clea rax, [rbx+32768]
    00204383cmp rax, 65535
    00204389jbe 0x204b98
    0020438flea rax, [rbx+0x40000000]
    00204396mov esi, 0xffffffff80000000
    0020439bcmp rax, rsi
    0020439ejb 0x204c30
    002043a4mov [rsp+32], r8
    002043a9test [r15], 4
    002043adjne 0x20557e
    002043b3mov rdx, rbx
    002043b6mov esi, 3
    002043bbmov rdi, r15
    002043becall fn_2037c0
    002043c3mov r8, [rsp+32]
    002043c8
    002043c8loc_2043c8:
    002043c8shr r8, 57
    002043ccje 0x204ae4
    002043d2lea rax, [r13+8*rbp]
    002043d7mov rdi, r15
    002043daadd r12, 3
    002043demov rsi, [rax]
    002043e1call fn_2038e0
    002043e6mov rax, [rsp+16]
    002043ebcmp r12, rax
    002043eejae 0x204af2
    002043f4mov rbp, r12
    002043f7
    002043f7loc_2043f7:
    002043f7lea r8, [8*rbp]
    002043fflea r12, [rbp+1]
    00204403lea rax, [r13+r8]
    00204408mov r9, [rax]
    0020440bmov rbx, r9
    0020440esar rbx, 1
    00204411cmp r9, 127
    00204415jbe 0x204bf0
    0020441blea rdx, [rbx+128]
    00204422cmp rdx, 255
    00204429jbe 0x204cc8
    0020442flea rdx, [rbx+32768]
    00204436cmp rdx, 65535
    0020443djbe 0x204d38
    00204443lea rdx, [rbx+0x40000000]
    0020444amov eax, 0xffffffff80000000
    0020444fcmp rdx, rax
    00204452jb 0x204f90
    00204458mov [rsp+32], r8
    0020445dtest [r15], 4
    00204461jne 0x20557e
    00204467mov rdx, rbx
    0020446amov esi, 3
    0020446fmov rdi, r15
    00204472add rbp, 3
    00204476call fn_2037c0
    0020447bmov r8, [rsp+32]
    00204480lea rax, [r8+r13+8]
    00204485lea rbx, [r8+r13+16]
    0020448ajmp 0x20434b
    0020448f
    0020448f 90 .
    00204490mov rdi, r13
    00204493call caml_string_length
    00204498mov rbx, rax
    0020449bcmp rax, 31
    0020449fjbe 0x204e20
    002044a5cmp rax, 255
    002044abjbe 0x205099
    002044b1cmp rax, 0xfffffb
    002044b7jbe 0x2044cd
    002044b9test [r14], 4
    002044bdjne 0x2055c4
    002044c3shr rax, 32
    002044c7jne 0x2053d9
    002044cd
    002044cdloc_2044cd:
    002044cdmov rax, [r14+8328]
    002044d4lea rdx, [rax+5]
    002044d8cmp [r14+8336], rdx
    002044dfjb 0x20528c
    002044e5
    002044e5loc_2044e5:
    002044e5mov [rax], 10
    002044e8mov rax, [r14+8328]
    002044efmov edx, ebx
    002044f1bswap edx
    002044f3mov [rax+1], edx
    002044f6mov rax, [r14+8328]
    002044fdlea rdi, [rax+5]
    00204501mov [r14+8328], rdi
    00204508
    00204508loc_204508:
    00204508lea rax, [rdi+rbx]
    0020450ccmp [r14+8336], rax
    00204513jb 0x204e00
    00204519
    00204519loc_204519:
    00204519mov rdx, rbx
    0020451cmov rsi, r13
    0020451fcall fn_f47d0
    00204524lea rax, [rbx+4]
    00204528add [r14+8328], rbx
    0020452fadd rbx, 8
    00204533shr rax, 2
    00204537movdqu x3, [r14+16]
    0020453dshr rbx, 3
    00204541movq x0, rax
    00204546mov eax, 1
    0020454bmovq x2, rbx
    00204550movq x1, rax
    00204555punpcklqdq x0, x2
    00204559punpcklqdq x1, x1
    0020455dpaddq x1, x3
    00204561jmp 0x203daf
    00204566
    00204566 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204570
    00204570loc_204570:
    00204570mov rax, [r13]
    00204574test al, 1
    00204576jne 0x2047d0
    0020457cmovzx edx, [rax-8]
    00204580cmp dl, -6
    00204583je 0x203bf0
    00204589movzx edx, [rax-8]
    0020458dcmp dl, -10
    00204590je 0x203bf0
    00204596movzx edx, [rax-8]
    0020459acmp dl, -12
    0020459dje 0x203bf0
    002045a3movzx edx, [rax-8]
    002045a7cmp dl, -3
    002045aaje 0x203bf0
    002045b0mov r13, rax
    002045b3jmp 0x203b86
    002045b8
    002045b8 0f 1f 84 00 00 00 00 00 ........
    002045c0
    002045c0loc_2045c0:
    002045c0mov rax, [r14+8328]
    002045c7add ebx, 64
    002045cacmp rax, [r14+8336]
    002045d1jae 0x2047a0
    002045d7
    002045d7loc_2045d7:
    002045d7lea rdx, [rax+1]
    002045dbmov [r14+8328], rdx
    002045e2mov [rax], bl
    002045e4jmp 0x203b50
    002045e9
    002045e9 0f 1f 80 00 00 00 00 .......
    002045f0
    002045f0loc_2045f0:
    002045f0mov rax, 0x9e3779b97f4a7c16
    002045famov ecx, [r14+8272]
    00204601mov edx, 1
    00204606mov rdi, [r14+8304]
    0020460dimul rax, r13
    00204611shr rax, cl
    00204614mov r10, rax
    00204617mov ecx, eax
    00204619shr r10, 6
    0020461dshl rdx, cl
    00204620and rdx, [rdi+8*r10]
    00204624je 0x2047c0
    0020462amov r10, [r14+8312]
    00204631mov ebx, 1
    00204636jmp 0x204664
    00204638
    00204638 0f 1f 84 00 00 00 00 00 ........
    00204640
    00204640loc_204640:
    00204640add rax, 1
    00204644and rax, [r14+8288]
    0020464bmov rdx, rbx
    0020464emov rbp, rax
    00204651mov ecx, eax
    00204653shr rbp, 6
    00204657shl rdx, cl
    0020465aand rdx, [rdi+8*rbp]
    0020465eje 0x2047c0
    00204664
    00204664loc_204664:
    00204664mov rdx, rax
    00204667shl rdx, 4
    0020466badd rdx, r10
    0020466ecmp [rdx], r13
    00204671jne 0x204640
    00204673and r12l, 8
    00204677mov rbx, [rdx+8]
    0020467bjne 0x204687
    0020467dmov rax, [r14+8]
    00204681sub rax, rbx
    00204684mov rbx, rax
    00204687
    00204687loc_204687:
    00204687cmp rbx, 255
    0020468ejbe 0x205030
    00204694cmp rbx, 65535
    0020469bjbe 0x20517b
    002046a1mov rax, rbx
    002046a4shr rax, 32
    002046a8je 0x204a55
    002046aemov rdx, rbx
    002046b1mov esi, 20
    002046b6mov rdi, r14
    002046b9call fn_2037c0
    002046bejmp 0x203b50
    002046c3
    002046c3 0f 1f 44 00 00 ..D..
    002046c8
    002046c8loc_2046c8:
    002046c8mov rax, [r14+8328]
    002046cflea rdx, [rax+2]
    002046d3cmp [r14+8336], rdx
    002046dajb 0x204848
    002046e0
    002046e0loc_2046e0:
    002046e0mov [rax], 0
    002046e3mov rax, [r14+8328]
    002046eamov [rax+1], bl
    002046edadd [r14+8328], 2
    002046f5jmp 0x203b50
    002046fa
    002046fa 66 0f 1f 44 00 00 f..D..
    00204700
    00204700loc_204700:
    00204700and esi, 240
    00204706mov rax, [r14+8328]
    0020470dmov rdx, [r14+8336]
    00204714je 0x204790
    00204716lea rcx, [rax+5]
    0020471alea ebx, [r11+768]
    00204721cmp rdx, rcx
    00204724jb 0x204888
    0020472a
    0020472aloc_20472a:
    0020472amov [rax], 8
    0020472dmov rax, [r14+8328]
    00204734xor edx, edx
    00204736mov [rax+1], dx
    0020473amov [rax+3], 3
    0020473emov [rax+4], bl
    00204741add [r14+8328], 5
    00204749jmp 0x203b50
    0020474e
    0020474e 66 90 f.
    00204750
    00204750loc_204750:
    00204750mov rax, [r14+8328]
    00204757lea rdx, [rax+3]
    0020475bcmp [r14+8336], rdx
    00204762jb 0x204868
    00204768
    00204768loc_204768:
    00204768mov [rax], 1
    0020476bmov rax, [r14+8328]
    00204772rol bx, 8
    00204776mov [rax+1], bx
    0020477aadd [r14+8328], 3
    00204782jmp 0x203b50
    00204787
    00204787 66 0f 1f 84 00 00 00 00 00 f........
    00204790
    00204790loc_204790:
    00204790lea ebx, [r11+128]
    00204797cmp rax, rdx
    0020479ajb 0x2045d7
    002047a0
    002047a0loc_2047a0:
    002047a0mov esi, 1
    002047a5mov rdi, r14
    002047a8call fn_203430
    002047admov rax, [r14+8328]
    002047b4jmp 0x2045d7
    002047b9
    002047b9 0f 1f 80 00 00 00 00 .......
    002047c0
    002047c0loc_2047c0:
    002047c0mov [rsp+24], rax
    002047c5jmp 0x203bcc
    002047ca
    002047ca 66 0f 1f 44 00 00 f..D..
    002047d0
    002047d0loc_2047d0:
    002047d0mov r13, rax
    002047d3jmp 0x203ae0
    002047d8
    002047d8 0f 1f 84 00 00 00 00 00 ........
    002047e0
    002047e0loc_2047e0:
    002047e0mov rax, [r14+8328]
    002047e7lea rdx, [rax+5]
    002047ebcmp [r14+8336], rdx
    002047f2jb 0x2048a8
    002047f8
    002047f8loc_2047f8:
    002047f8mov r10, r13
    002047fbmov [rax], 2
    002047femovzx eax, bl
    00204801mov rsi, r13
    00204804sar r10, 9
    00204808shl eax, 8
    0020480bmov rdx, r13
    0020480emov rcx, [r14+8328]
    00204815sar rsi, 17
    00204819movzx r10l, r10b
    0020481dsar rdx, 25
    00204821or eax, r10l
    00204824movzx esi, sil
    00204828movzx edx, dl
    0020482bshl eax, 8
    0020482eor eax, esi
    00204830shl eax, 8
    00204833or eax, edx
    00204835mov [rcx+1], eax
    00204838add [r14+8328], 5
    00204840jmp 0x203b50
    00204845
    00204845 0f 1f 00 ...
    00204848
    00204848loc_204848:
    00204848mov esi, 2
    0020484dmov rdi, r14
    00204850call fn_203430
    00204855mov rax, [r14+8328]
    0020485cjmp 0x2046e0
    00204861
    00204861 0f 1f 80 00 00 00 00 .......
    00204868
    00204868loc_204868:
    00204868mov esi, 3
    0020486dmov rdi, r14
    00204870call fn_203430
    00204875mov rax, [r14+8328]
    0020487cjmp 0x204768
    00204881
    00204881 0f 1f 80 00 00 00 00 .......
    00204888
    00204888loc_204888:
    00204888mov esi, 5
    0020488dmov rdi, r14
    00204890call fn_203430
    00204895mov rax, [r14+8328]
    0020489cjmp 0x20472a
    002048a1
    002048a1 0f 1f 80 00 00 00 00 .......
    002048a8
    002048a8loc_2048a8:
    002048a8mov esi, 5
    002048admov rdi, r14
    002048b0call fn_203430
    002048b5mov rax, [r14+8328]
    002048bcjmp 0x2047f8
    002048c1
    002048c1 0f 1f 80 00 00 00 00 .......
    002048c8
    002048c8loc_2048c8:
    002048c8and r12l, 4
    002048ccjne 0x205590
    002048d2
    002048d2loc_2048d2:
    002048d2mov rdx, rbx
    002048d5mov esi, 19
    002048damov rdi, r14
    002048ddmov [rsp+16], r9
    002048e2movaps [rsp+32], x0
    002048e7call fn_2037c0
    002048ecmovdqa x0, [rsp+32]
    002048f2mov r9, [rsp+16]
    002048f7jmp 0x2042e5
    002048fc
    002048fc 0f 1f 40 00 ..@.
    00204900
    00204900loc_204900:
    00204900mov rax, [r14+8328]
    00204907lea rdx, [rax+5]
    0020490bcmp [r14+8336], rdx
    00204912jb 0x2052d3
    00204918
    00204918loc_204918:
    00204918mov [rax], 8
    0020491bmov rax, [r14+8328]
    00204922bswap ebx
    00204924mov [rax+1], ebx
    00204927add [r14+8328], 5
    0020492f
    0020492floc_20492f:
    0020492fmov eax, 1
    00204934mov rdx, [rsp+24]
    00204939mov rsi, r13
    0020493cmov rdi, r14
    0020493fmovdqu x7, [r14+16]
    00204945movq x1, rax
    0020494amov [rsp+16], r9
    0020494fpunpcklqdq x1, x1
    00204953paddq x1, x7
    00204957paddq x0, x1
    0020495bmovups [r14+16], x0
    00204960call fn_203500
    00204965mov r9, [rsp+16]
    0020496acmp r9, 1
    0020496ejbe 0x203cc7
    00204974jmp 0x203c9b
    00204979
    00204979 0f 1f 80 00 00 00 00 .......
    00204980
    00204980loc_204980:
    00204980mov ebx, r9l
    00204983mov rax, [r14+8328]
    0020498ashl ebx, 4
    0020498dadd ebx, 375
    00204993cmp rax, [r14+8336]
    0020499ajae 0x205333
    002049a0
    002049a0loc_2049a0:
    002049a0lea rdx, [rax+1]
    002049a4mov [r14+8328], rdx
    002049abmov [rax], bl
    002049adjmp 0x2042e5
    002049b2
    002049b2 66 0f 1f 44 00 00 f..D..
    002049b8
    002049b8loc_2049b8:
    002049b8mov eax, r9l
    002049bbshl eax, 4
    002049belea ebx, [r11+rax+128]
    002049c6mov rax, [r14+8328]
    002049cdcmp rax, [r14+8336]
    002049d4jae 0x205361
    002049da
    002049daloc_2049da:
    002049dalea rdx, [rax+1]
    002049demov [r14+8328], rdx
    002049e5mov [rax], bl
    002049e7jmp 0x20492f
    002049ec
    002049ec 0f 1f 40 00 ..@.
    002049f0
    002049f0loc_2049f0:
    002049f0mov rdx, [r14+8328]
    002049f7sub rdx, rax
    002049fa
    002049faloc_2049fa:
    002049famov eax, -1
    002049ffcmp rdx, rax
    00204a02jg 0x204a13
    00204a04
    00204a04loc_204a04:
    00204a04mov eax, -1
    00204a09cmp rax, [r14+16]
    00204a0djae 0x205219
    00204a13
    00204a13loc_204a13:
    00204a13and esi, 4
    00204a16jne 0x2055ef
    00204a1cmov rdi, [rsp+48]
    00204a21mov rax, [rip+0x25df8]
    00204a28mov [rdi], rax
    00204a2bmov rax, rdx
    00204a2ebswap rax
    00204a31mov [rdi+8], rax
    00204a35mov rax, [r14+8]
    00204a39bswap rax
    00204a3cmov [rdi+16], rax
    00204a40mov rax, [r14+24]
    00204a44bswap rax
    00204a47mov [rdi+24], rax
    00204a4bmov eax, 32
    00204a50jmp 0x2040be
    00204a55
    00204a55loc_204a55:
    00204a55mov rax, [r14+8328]
    00204a5clea rdx, [rax+5]
    00204a60cmp [r14+8336], rdx
    00204a67jb 0x20525a
    00204a6d
    00204a6dloc_204a6d:
    00204a6dmov [rax], 6
    00204a70mov rax, [r14+8328]
    00204a77bswap ebx
    00204a79mov [rax+1], ebx
    00204a7cadd [r14+8328], 5
    00204a84jmp 0x203b50
    00204a89
    00204a89loc_204a89:
    00204a89mov esi, 5
    00204a8emov rdi, r14
    00204a91call fn_203430
    00204a96mov rax, [r14+8328]
    00204a9djmp 0x20413e
    00204aa2
    00204aa2loc_204aa2:
    00204aa2mov rdi, r14
    00204aa5mov rdx, rbx
    00204aa8mov esi, 23
    00204aadcall fn_2037c0
    00204ab2mov rdi, [r14+8328]
    00204ab9jmp 0x204161
    00204abe
    00204abe 66 90 f.
    00204ac0
    00204ac0loc_204ac0:
    00204ac0mov rax, [r15+8328]
    00204ac7add ebx, 64
    00204acacmp rax, [r15+8336]
    00204ad1jae 0x204bd0
    00204ad7
    00204ad7loc_204ad7:
    00204ad7lea rdx, [rax+1]
    00204adbmov [r15+8328], rdx
    00204ae2mov [rax], bl
    00204ae4
    00204ae4loc_204ae4:
    00204ae4mov rax, [rsp+16]
    00204ae9cmp rbp, rax
    00204aecjb 0x2043f7
    00204af2
    00204af2loc_204af2:
    00204af2mov rdi, [rsp+16]
    00204af7mov r9, r14
    00204afamov r14, r15
    00204afdcmp rdi, r9
    00204b00jae 0x203b50
    00204b06lea rax, [r9-1]
    00204b0alea rbx, [8*rdi]
    00204b12cmp rdi, rax
    00204b15jae 0x204b4f
    00204b17add [rsp+8], 16
    00204b1dmov rax, [rsp+8]
    00204b22cmp rax, [r15+4136]
    00204b29jae 0x205488
    00204b2f
    00204b2floc_204b2f:
    00204b2fmov rax, [rsp+64]
    00204b34mov rsi, [rsp+8]
    00204b39add rax, rbx
    00204b3cmov [rsi], rax
    00204b3fmov rax, [rsp+16]
    00204b44sub r9, rax
    00204b47lea rax, [r9-1]
    00204b4bmov [rsi+8], rax
    00204b4f
    00204b4floc_204b4f:
    00204b4fadd rbx, r13
    00204b52mov r13, [rbx]
    00204b55jmp 0x203b86
    00204b5a
    00204b5a 66 0f 1f 44 00 00 f..D..
    00204b60
    00204b60loc_204b60:
    00204b60mov rax, [r15+8328]
    00204b67lea rdx, [rax+2]
    00204b6bcmp [r15+8336], rdx
    00204b72jb 0x204ca0
    00204b78
    00204b78loc_204b78:
    00204b78mov [rax], 0
    00204b7bmov rax, [r15+8328]
    00204b82mov [rax+1], bl
    00204b85add [r15+8328], 2
    00204b8djmp 0x2043c8
    00204b92
    00204b92 66 0f 1f 44 00 00 f..D..
    00204b98
    00204b98loc_204b98:
    00204b98mov rax, [r15+8328]
    00204b9flea rdx, [rax+3]
    00204ba3cmp [r15+8336], rdx
    00204baajb 0x204d10
    00204bb0
    00204bb0loc_204bb0:
    00204bb0mov [rax], 1
    00204bb3mov rax, [r15+8328]
    00204bbarol bx, 8
    00204bbemov [rax+1], bx
    00204bc2add [r15+8328], 3
    00204bcajmp 0x2043c8
    00204bcf
    00204bcf 90 .
    00204bd0
    00204bd0loc_204bd0:
    00204bd0mov esi, 1
    00204bd5mov rdi, r15
    00204bd8call fn_203430
    00204bddmov rax, [r15+8328]
    00204be4jmp 0x204ad7
    00204be9
    00204be9 0f 1f 80 00 00 00 00 .......
    00204bf0
    00204bf0loc_204bf0:
    00204bf0mov rax, [r15+8328]
    00204bf7add ebx, 64
    00204bfacmp rax, [r15+8336]
    00204c01jae 0x204e98
    00204c07
    00204c07loc_204c07:
    00204c07lea rdx, [rax+1]
    00204c0badd rbp, 3
    00204c0fmov [r15+8328], rdx
    00204c16mov [rax], bl
    00204c18lea rax, [r8+r13+8]
    00204c1dlea rbx, [r8+r13+16]
    00204c22jmp 0x20434b
    00204c27
    00204c27 66 0f 1f 84 00 00 00 00 00 f........
    00204c30
    00204c30loc_204c30:
    00204c30mov rax, [r15+8328]
    00204c37lea rdx, [rax+5]
    00204c3bcmp [r15+8336], rdx
    00204c42jb 0x205008
    00204c48
    00204c48loc_204c48:
    00204c48mov r9, r8
    00204c4bmov [rax], 2
    00204c4emovzx eax, bl
    00204c51mov rdi, r8
    00204c54sar r9, 9
    00204c58shl eax, 8
    00204c5bmov rsi, r8
    00204c5emov rdx, [r15+8328]
    00204c65sar rdi, 17
    00204c69movzx r9l, r9b
    00204c6dsar rsi, 25
    00204c71or eax, r9l
    00204c74movzx edi, dil
    00204c78movzx esi, sil
    00204c7cshl eax, 8
    00204c7for eax, edi
    00204c81shl eax, 8
    00204c84or eax, esi
    00204c86mov [rdx+1], eax
    00204c89add [r15+8328], 5
    00204c91jmp 0x2043c8
    00204c96
    00204c96 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204ca0
    00204ca0loc_204ca0:
    00204ca0mov esi, 2
    00204ca5mov rdi, r15
    00204ca8mov [rsp+32], r8
    00204cadcall fn_203430
    00204cb2mov rax, [r15+8328]
    00204cb9mov r8, [rsp+32]
    00204cbejmp 0x204b78
    00204cc3
    00204cc3 0f 1f 44 00 00 ..D..
    00204cc8
    00204cc8loc_204cc8:
    00204cc8mov rax, [r15+8328]
    00204ccflea rdx, [rax+2]
    00204cd3cmp [r15+8336], rdx
    00204cdajb 0x2050d5
    00204ce0
    00204ce0loc_204ce0:
    00204ce0mov [rax], 0
    00204ce3mov rax, [r15+8328]
    00204ceaadd rbp, 3
    00204ceemov [rax+1], bl
    00204cf1lea rax, [r8+r13+8]
    00204cf6lea rbx, [r8+r13+16]
    00204cfbadd [r15+8328], 2
    00204d03jmp 0x20434b
    00204d08
    00204d08 0f 1f 84 00 00 00 00 00 ........
    00204d10
    00204d10loc_204d10:
    00204d10mov esi, 3
    00204d15mov rdi, r15
    00204d18mov [rsp+32], r8
    00204d1dcall fn_203430
    00204d22mov rax, [r15+8328]
    00204d29mov r8, [rsp+32]
    00204d2ejmp 0x204bb0
    00204d33
    00204d33 0f 1f 44 00 00 ..D..
    00204d38
    00204d38loc_204d38:
    00204d38mov rax, [r15+8328]
    00204d3flea rdx, [rax+3]
    00204d43cmp [r15+8336], rdx
    00204d4ajb 0x2051b2
    00204d50
    00204d50loc_204d50:
    00204d50mov [rax], 1
    00204d53mov rax, [r15+8328]
    00204d5arol bx, 8
    00204d5eadd rbp, 3
    00204d62mov [rax+1], bx
    00204d66lea rax, [r8+r13+8]
    00204d6blea rbx, [r8+r13+16]
    00204d70add [r15+8328], 3
    00204d78jmp 0x20434b
    00204d7d
    00204d7d 0f 1f 00 ...
    00204d80
    00204d80loc_204d80:
    00204d80mov rdi, r14
    00204d83mov rsi, rbp
    00204d86call fn_203430
    00204d8bmov rdi, [r14+8328]
    00204d92jmp 0x20417a
    00204d97
    00204d97 66 0f 1f 84 00 00 00 00 00 f........
    00204da0
    00204da0loc_204da0:
    00204da0mov esi, 5
    00204da5mov rdi, r14
    00204da8call fn_203430
    00204dadmov rax, [r14+8328]
    00204db4jmp 0x204240
    00204db9
    00204db9 0f 1f 80 00 00 00 00 .......
    00204dc0
    00204dc0loc_204dc0:
    00204dc0mov esi, 8
    00204dc5mov rdi, r14
    00204dc8call fn_203430
    00204dcdmov rax, [r14+8328]
    00204dd4jmp 0x2041fa
    00204dd9
    00204dd9 0f 1f 80 00 00 00 00 .......
    00204de0
    00204de0loc_204de0:
    00204de0mov esi, 1
    00204de5mov rdi, r14
    00204de8call fn_203430
    00204dedmov rax, [r14+8328]
    00204df4jmp 0x2041d4
    00204df9
    00204df9 0f 1f 80 00 00 00 00 .......
    00204e00
    00204e00loc_204e00:
    00204e00mov rdi, r14
    00204e03mov rsi, rbx
    00204e06call fn_203430
    00204e0bmov rdi, [r14+8328]
    00204e12jmp 0x204519
    00204e17
    00204e17 66 0f 1f 84 00 00 00 00 00 f........
    00204e20
    00204e20loc_204e20:
    00204e20lea ebp, [rax+32]
    00204e23mov rax, [r14+8328]
    00204e2acmp rax, [r14+8336]
    00204e31jae 0x20531a
    00204e37
    00204e37loc_204e37:
    00204e37lea rdx, [rax+1]
    00204e3bmov [r14+8328], rdx
    00204e42mov [rax], bpl
    00204e45mov rdi, [r14+8328]
    00204e4cjmp 0x204508
    00204e51
    00204e51 0f 1f 80 00 00 00 00 .......
    00204e58
    00204e58loc_204e58:
    00204e58mov rax, [r14+8328]
    00204e5flea rdx, [rax+2]
    00204e63cmp [r14+8336], rdx
    00204e6ajb 0x205301
    00204e70
    00204e70loc_204e70:
    00204e70mov [rax], 14
    00204e73mov rax, [r14+8328]
    00204e7amov [rax+1], bl
    00204e7dmov rax, [r14+8328]
    00204e84lea rdi, [rax+2]
    00204e88mov [r14+8328], rdi
    00204e8fjmp 0x204161
    00204e94
    00204e94 0f 1f 40 00 ..@.
    00204e98
    00204e98loc_204e98:
    00204e98mov esi, 1
    00204e9dmov rdi, r15
    00204ea0mov [rsp+32], r8
    00204ea5call fn_203430
    00204eaamov rax, [r15+8328]
    00204eb1mov r8, [rsp+32]
    00204eb6jmp 0x204c07
    00204ebb
    00204ebb 0f 1f 44 00 00 ..D..
    00204ec0
    00204ec0loc_204ec0:
    00204ec0cmp rax, rdx
    00204ec3jae 0x205456
    00204ec9
    00204ec9loc_204ec9:
    00204ec9lea rdx, [rax+1]
    00204ecdmov rdi, rbp
    00204ed0mov [r14+8328], rdx
    00204ed7mov [rax], 24
    00204edacall fn_f43a0
    00204edfmov rdi, [r14+8328]
    00204ee6lea rbx, [rax+1]
    00204eealea rax, [rdi+rbx]
    00204eeecmp [r14+8336], rax
    00204ef5jb 0x20543f
    00204efb
    00204efbloc_204efb:
    00204efbmov rdx, rbx
    00204efemov rsi, rbp
    00204f01call fn_f47d0
    00204f06add rbx, [r14+8328]
    00204f0dmov [r14+8328], rbx
    00204f14lea rax, [rbx+12]
    00204f18cmp rax, [r14+8336]
    00204f1fjae 0x205422
    00204f25
    00204f25loc_204f25:
    00204f25mov [r14+8328], rax
    00204f2clea rdx, [rsp+96]
    00204f31lea rsi, [rsp+88]
    00204f36mov rdi, r13
    00204f39call r12
    00204f3cmov eax, [rsp+88]
    00204f40bswap eax
    00204f42mov [rbx], eax
    00204f44mov rax, [rsp+96]
    00204f49mov edx, [rsp+96]
    00204f4dmov rcx, rax
    00204f50sar rcx, 56
    00204f54bswap edx
    00204f56mov [rbx+8], edx
    00204f59mov [rbx+4], cl
    00204f5cmov rcx, rax
    00204f5fsar rcx, 48
    00204f63mov [rbx+5], cl
    00204f66mov rcx, rax
    00204f69sar rax, 32
    00204f6dsar rcx, 40
    00204f71mov [rbx+7], al
    00204f74mov [rbx+6], cl
    00204f77mov rdx, [rsp+88]
    00204f7cmov rax, [rsp+96]
    00204f81jmp 0x203d79
    00204f86
    00204f86 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204f90
    00204f90loc_204f90:
    00204f90mov rdx, [r15+8328]
    00204f97lea rsi, [rdx+5]
    00204f9bcmp [r15+8336], rsi
    00204fa2jb 0x2053f5
    00204fa8
    00204fa8loc_204fa8:
    00204fa8mov rsi, r9
    00204fabmov rdi, r9
    00204faemovzx eax, bl
    00204fb1sar r9, 9
    00204fb5movzx r9l, r9b
    00204fb9shl eax, 8
    00204fbcmov [rdx], 2
    00204fbfadd rbp, 3
    00204fc3sar rdi, 17
    00204fc7or eax, r9l
    00204fcasar rsi, 25
    00204fcelea rbx, [r8+r13+16]
    00204fd3movzx edi, dil
    00204fd7shl eax, 8
    00204fdamov rdx, [r15+8328]
    00204fe1movzx esi, sil
    00204fe5or eax, edi
    00204fe7shl eax, 8
    00204feaor eax, esi
    00204fecmov [rdx+1], eax
    00204feflea rax, [r8+r13+8]
    00204ff4add [r15+8328], 5
    00204ffcjmp 0x20434b
    00205001
    00205001 0f 1f 80 00 00 00 00 .......
    00205008
    00205008loc_205008:
    00205008mov esi, 5
    0020500dmov rdi, r15
    00205010mov [rsp+32], r8
    00205015call fn_203430
    0020501amov rax, [r15+8328]
    00205021mov r8, [rsp+32]
    00205026jmp 0x204c48
    0020502b
    0020502b 0f 1f 44 00 00 ..D..
    00205030
    00205030loc_205030:
    00205030mov rax, [r14+8328]
    00205037lea rdx, [rax+2]
    0020503bcmp [r14+8336], rdx
    00205042jb 0x20546f
    00205048
    00205048loc_205048:
    00205048mov [rax], 4
    0020504bmov rax, [r14+8328]
    00205052mov [rax+1], bl
    00205055add [r14+8328], 2
    0020505djmp 0x203b50
    00205062
    00205062 66 0f 1f 44 00 00 f..D..
    00205068
    00205068loc_205068:
    00205068mov rdi, r14
    0020506bmov rsi, r15
    0020506ecall fn_203430
    00205073mov rdi, [r14+8328]
    0020507ajmp 0x203d3a
    0020507f
    0020507f 90 .
    00205080
    00205080loc_205080:
    00205080mov esi, 1
    00205085mov rdi, r14
    00205088call fn_203430
    0020508dmov rax, [r14+8328]
    00205094jmp 0x203d08
    00205099
    00205099loc_205099:
    00205099mov rax, [r14+8328]
    002050a0lea rdx, [rax+2]
    002050a4cmp [r14+8336], rdx
    002050abjb 0x2054a7
    002050b1
    002050b1loc_2050b1:
    002050b1mov [rax], 9
    002050b4mov rax, [r14+8328]
    002050bbmov [rax+1], bl
    002050bemov rax, [r14+8328]
    002050c5lea rdi, [rax+2]
    002050c9mov [r14+8328], rdi
    002050d0jmp 0x204508
    002050d5
    002050d5loc_2050d5:
    002050d5mov esi, 2
    002050damov rdi, r15
    002050ddmov [rsp+32], r8
    002050e2call fn_203430
    002050e7mov rax, [r15+8328]
    002050eemov r8, [rsp+32]
    002050f3jmp 0x204ce0
    002050f8
    002050f8loc_2050f8:
    002050f8mov rax, [r14+8352]
    002050ffmov rdx, [r14+8328]
    00205106mov [rax+8], rdx
    0020510amov esi, [r14]
    0020510dmov rax, [r14+8320]
    00205114test sil, 8
    00205118je 0x2051d5
    0020511etest rax, rax
    00205121jne 0x203e67
    00205127mov rax, [r14+8344]
    0020512etest rax, rax
    00205131je 0x205574
    00205137xor r12l, r12l
    0020513anop [rax+rax]
    00205140
    00205140loc_205140:
    00205140mov rdx, [rax+8]
    00205144sub rdx, rax
    00205147mov rax, [rax]
    0020514alea r12, [rdx+r12-16]
    0020514ftest rax, rax
    00205152jne 0x205140
    00205154mov rbp, r12
    00205157jmp 0x203e74
    0020515c
    0020515cloc_20515c:
    0020515cmov rsi, rax
    0020515fmov rdi, r14
    00205162mov [rsp+16], r9
    00205167call fn_203820
    0020516cmov r9, [rsp+16]
    00205171mov [rsp+8], rax
    00205176jmp 0x203cb3
    0020517b
    0020517bloc_20517b:
    0020517bmov rax, [r14+8328]
    00205182lea rdx, [rax+3]
    00205186cmp [r14+8336], rdx
    0020518djb 0x205273
    00205193
    00205193loc_205193:
    00205193mov [rax], 5
    00205196mov rax, [r14+8328]
    0020519drol bx, 8
    002051a1mov [rax+1], bx
    002051a5add [r14+8328], 3
    002051adjmp 0x203b50
    002051b2
    002051b2loc_2051b2:
    002051b2mov esi, 3
    002051b7mov rdi, r15
    002051bamov [rsp+32], r8
    002051bfcall fn_203430
    002051c4mov rax, [r15+8328]
    002051cbmov r8, [rsp+32]
    002051d0jmp 0x204d50
    002051d5
    002051d5loc_2051d5:
    002051d5test rax, rax
    002051d8jne 0x2049f0
    002051demov rax, [r14+8344]
    002051e5xor edx, edx
    002051e7test rax, rax
    002051eaje 0x204a04
    002051f0nop [rax+rax]
    002051fbnop [rax+rax]
    00205200
    00205200loc_205200:
    00205200mov rcx, [rax+8]
    00205204sub rcx, rax
    00205207mov rax, [rax]
    0020520alea rdx, [rcx+rdx-16]
    0020520ftest rax, rax
    00205212jne 0x205200
    00205214jmp 0x2049fa
    00205219
    00205219loc_205219:
    00205219cmp rax, [r14+24]
    0020521djb 0x204a13
    00205223mov rsi, [rsp+48]
    00205228mov eax, edx
    0020522abswap eax
    0020522cmov [rsi], 0xffffffffbea69584
    00205232mov [rsi+4], eax
    00205235mov eax, [r14+8]
    00205239bswap eax
    0020523bmov [rsi+8], eax
    0020523emov eax, [r14+16]
    00205242bswap eax
    00205244mov [rsi+12], eax
    00205247mov eax, [r14+24]
    0020524bbswap eax
    0020524dmov [rsi+16], eax
    00205250mov eax, 20
    00205255jmp 0x2040be
    0020525a
    0020525aloc_20525a:
    0020525amov esi, 5
    0020525fmov rdi, r14
    00205262call fn_203430
    00205267mov rax, [r14+8328]
    0020526ejmp 0x204a6d
    00205273
    00205273loc_205273:
    00205273mov esi, 3
    00205278mov rdi, r14
    0020527bcall fn_203430
    00205280mov rax, [r14+8328]
    00205287jmp 0x205193
    0020528c
    0020528cloc_20528c:
    0020528cmov esi, 5
    00205291mov rdi, r14
    00205294call fn_203430
    00205299mov rax, [r14+8328]
    002052a0jmp 0x2044e5
    002052a5
    002052a5loc_2052a5:
    002052a5mov esi, 5
    002052aamov rdi, r14
    002052admov [rsp+16], r9
    002052b2movaps [rsp+32], x0
    002052b7call fn_203430
    002052bcmovdqa x0, [rsp+32]
    002052c2mov r9, [rsp+16]
    002052c7mov rax, [r14+8328]
    002052cejmp 0x2042b8
    002052d3
    002052d3loc_2052d3:
    002052d3mov esi, 5
    002052d8mov rdi, r14
    002052dbmov [rsp+16], r9
    002052e0movaps [rsp+32], x0
    002052e5call fn_203430
    002052eamovdqa x0, [rsp+32]
    002052f0mov r9, [rsp+16]
    002052f5mov rax, [r14+8328]
    002052fcjmp 0x204918
    00205301
    00205301loc_205301:
    00205301mov esi, 2
    00205306mov rdi, r14
    00205309call fn_203430
    0020530emov rax, [r14+8328]
    00205315jmp 0x204e70
    0020531a
    0020531aloc_20531a:
    0020531amov esi, 1
    0020531fmov rdi, r14
    00205322call fn_203430
    00205327mov rax, [r14+8328]
    0020532ejmp 0x204e37
    00205333
    00205333loc_205333:
    00205333mov esi, 1
    00205338mov rdi, r14
    0020533bmov [rsp+16], r9
    00205340movaps [rsp+32], x0
    00205345call fn_203430
    0020534amovdqa x0, [rsp+32]
    00205350mov r9, [rsp+16]
    00205355mov rax, [r14+8328]
    0020535cjmp 0x2049a0
    00205361
    00205361loc_205361:
    00205361mov esi, 1
    00205366mov rdi, r14
    00205369mov [rsp+16], r9
    0020536emovaps [rsp+32], x0
    00205373call fn_203430
    00205378movdqa x0, [rsp+32]
    0020537emov r9, [rsp+16]
    00205383mov rax, [r14+8328]
    0020538ajmp 0x2049da
    0020538f
    0020538floc_20538f:
    0020538fmov rax, [r14+8344]
    00205396test rax, rax
    00205399je 0x2054d3
    0020539fxor edx, edx
    002053a1nop [rax+rax]
    002053acnop [rax+rax]
    002053b7nop [rax+rax]
    002053c0
    002053c0loc_2053c0:
    002053c0mov rcx, [rax+8]
    002053c4sub rcx, rax
    002053c7mov rax, [rax]
    002053calea rdx, [rcx+rdx-16]
    002053cftest rax, rax
    002053d2jne 0x2053c0
    002053d4jmp 0x203ea3
    002053d9
    002053d9loc_2053d9:
    002053d9mov rdi, r14
    002053dcmov rdx, rbx
    002053dfmov esi, 21
    002053e4call fn_2037c0
    002053e9mov rdi, [r14+8328]
    002053f0jmp 0x204508
    002053f5
    002053f5loc_2053f5:
    002053f5mov esi, 5
    002053famov rdi, r15
    002053fdmov [rsp+72], r9
    00205402mov [rsp+32], r8
    00205407call fn_203430
    0020540cmov r9, [rsp+72]
    00205411mov r8, [rsp+32]
    00205416mov rdx, [r15+8328]
    0020541djmp 0x204fa8
    00205422
    00205422loc_205422:
    00205422mov esi, 12
    00205427mov rdi, r14
    0020542acall fn_203430
    0020542fmov rbx, [r14+8328]
    00205436lea rax, [rbx+12]
    0020543ajmp 0x204f25
    0020543f
    0020543floc_20543f:
    0020543fmov rdi, r14
    00205442mov rsi, rbx
    00205445call fn_203430
    0020544amov rdi, [r14+8328]
    00205451jmp 0x204efb
    00205456
    00205456loc_205456:
    00205456mov esi, 1
    0020545bmov rdi, r14
    0020545ecall fn_203430
    00205463mov rax, [r14+8328]
    0020546ajmp 0x204ec9
    0020546f
    0020546floc_20546f:
    0020546fmov esi, 2
    00205474mov rdi, r14
    00205477call fn_203430
    0020547cmov rax, [r14+8328]
    00205483jmp 0x205048
    00205488
    00205488loc_205488:
    00205488mov rsi, rax
    0020548bmov rdi, r15
    0020548emov [rsp+32], r9
    00205493call fn_203820
    00205498mov r9, [rsp+32]
    0020549dmov [rsp+8], rax
    002054a2jmp 0x204b2f
    002054a7
    002054a7loc_2054a7:
    002054a7mov esi, 2
    002054acmov rdi, r14
    002054afcall fn_203430
    002054b4mov rax, [r14+8328]
    002054bbjmp 0x2050b1
    002054c0
    002054c0loc_2054c0:
    002054c0mov rax, [rsp+48]
    002054c5mov esi, 1
    002054camov [rax+r10], r12b
    002054cejmp 0x203f92
    002054d3
    002054d3loc_2054d3:
    002054d3mov rcx, rbp
    002054d6xor edx, edx
    002054d8test [r14], 4
    002054dcjne 0x203eaf
    002054e2mov rax, [rsp+48]
    002054e7xor r8l, r8l
    002054eamov [rax], 0xffffffffbda69584
    002054f0
    002054f0loc_2054f0:
    002054f0mov rax, [rsp+48]
    002054f5mov r10l, 6
    002054fbmov [rax+5], r8b
    002054ffmov r8l, 6
    00205505jmp 0x203f39
    0020550a
    0020550aloc_20550a:
    0020550amov rax, [rsp+48]
    0020550fmov esi, 1
    00205514mov [rax+r10], r9b
    00205518jmp 0x2040b2
    0020551d
    0020551dloc_20551d:
    0020551dmov rax, [rsp+48]
    00205522mov edi, 1
    00205527mov [rax+r11], r10b
    0020552bjmp 0x204054
    00205530
    00205530loc_205530:
    00205530mov rax, [rsp+48]
    00205535mov esi, 1
    0020553amov [rax+r11], r10b
    0020553ejmp 0x203ff4
    00205543
    00205543 0f 1f 44 00 00 ..D..
    00205548mov rdi, r14
    0020554bcall fn_203330
    00205550lea rdi, [rip+0x2ac21]
    00205557call caml_invalid_argument
    0020555cnop [rax]
    00205560mov rdi, r14
    00205563call fn_203330
    00205568lea rdi, [rip+0x2acd1]
    0020556fcall caml_invalid_argument
    00205574
    00205574loc_205574:
    00205574xor ebp, ebp
    00205576xor r12l, r12l
    00205579jmp 0x203e74
    0020557e
    0020557eloc_20557e:
    0020557emov r14, r15
    00205581
    00205581loc_205581:
    00205581lea rsi, [rip+0x2ab28]
    00205588mov rdi, r14
    0020558bcall fn_203400
    00205590
    00205590loc_205590:
    00205590lea rsi, [rip+0x2ac69]
    00205597mov rdi, r14
    0020559acall fn_203400
    0020559f
    0020559floc_20559f:
    0020559fmov rsi, rbp
    002055a2lea rdi, [rip+0x2ac1f]
    002055a9xor eax, eax
    002055abcall caml_fatal_error
    002055b0
    002055b0loc_2055b0:
    002055b0mov rdi, r14
    002055b3call fn_203330
    002055b8lea rdi, [rip+0x2abe1]
    002055bfcall caml_invalid_argument
    002055c4
    002055c4loc_2055c4:
    002055c4lea rsi, [rip+0x2ab25]
    002055cbmov rdi, r14
    002055cecall fn_203400
    002055d3
    002055d3loc_2055d3:
    002055d3lea rsi, [rip+0x2ab56]
    002055damov rdi, r14
    002055ddcall fn_203400
    002055e2
    002055e2loc_2055e2:
    002055e2call fn_f4590
    002055e7
    002055e7loc_2055e7:
    002055e7mov rdi, r14
    002055eacall fn_203420
    002055ef
    002055efloc_2055ef:
    002055efmov rdi, r14
    002055f2call fn_203330
    002055f7lea rdi, [rip+0x2ac6a]
    002055fecall caml_failwith
    00203a00