File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00216210
00216210caml_alloc_shr_reserved:
00216210mov rax, [rip+0x5fdcd]
00216217push r12
00216219push rbp
0021621apush rbx
0021621bmov r12, [rax]
0021621ftest r12, r12
00216222je 0x2162f0
00216228mov rbp, rdi
0021622bmov rdi, [r12+280]
00216233mov rcx, rdx
00216236mov edx, esi
00216238mov rsi, rbp
0021623bcall caml_shared_try_alloc
00216240mov rbx, rax
00216243test rax, rax
00216246je 0x2162e8
0021624cmov eax, 1
00216251mov rdx, [r12+272]
00216259movq x1, rbp
0021625emovdqu x2, [r12+128]
00216268movq x0, rax
0021626dpunpcklqdq x1, x1
00216271mov rax, 0xcccccccccccccccd
0021627bpunpcklqdq x0, x0
0021627fmul rdx
00216282paddq x0, x2
00216286paddq x0, x1
0021628amovups [r12+128], x0
00216293movhlps x3, x0
00216296shr rdx, 2
0021629amovq rcx, x3
0021629fcmp rdx, rcx
002162a2jb 0x2162c8
002162a4add rbx, 8
002162a8
002162a8loc_2162a8:
002162a8lea rdx, [rbp+1]
002162acmov rsi, rbp
002162afxor ecx, ecx
002162b1mov rdi, rbx
002162b4call caml_memprof_sample_block
002162b9mov rax, rbx
002162bcpop rbx
002162bdpop rbp
002162bepop r12
002162c0ret
002162c1db 0x5d
002162c2pop r12
002162c4ret
002162c5
002162c5 0f 1f 00 ...
002162c8
002162c8loc_2162c8:
002162c8mov esi, 1
002162cdmov edi, 6
002162d2call caml_ev_counter
002162d7mov edi, 1
002162dccall caml_request_major_slice
002162e1jmp 0x2162a8
002162e3
002162e3 0f 1f 44 00 00 ..D..
002162e8
002162e8loc_2162e8:
002162e8call caml_raise_out_of_memory
002162ednop [rax]
002162f0
002162f0loc_2162f0:
002162f0call caml_bad_caml_state
00216210
00216210caml_alloc_shr_reserved:
00216210mov rax, [rip+0x5fdcd]
00216217push r12
00216219push rbp
0021621apush rbx
0021621bmov r12, [rax]
0021621ftest r12, r12
00216222je 0x2162f0
00216228mov rbp, rdi
0021622bmov rdi, [r12+280]
00216233mov rcx, rdx
00216236mov edx, esi
00216238mov rsi, rbp
0021623bcall caml_shared_try_alloc
00216240mov rbx, rax
00216243test rax, rax
00216246je 0x2162e8
0021624cmov eax, 1
00216251mov rdx, [r12+272]
00216259movq x1, rbp
0021625emovdqu x2, [r12+128]
00216268movq x0, rax
0021626dpunpcklqdq x1, x1
00216271mov rax, 0xcccccccccccccccd
0021627bpunpcklqdq x0, x0
0021627fmul rdx
00216282paddq x0, x2
00216286paddq x0, x1
0021628amovups [r12+128], x0
00216293movhlps x3, x0
00216296shr rdx, 2
0021629amovq rcx, x3
0021629fcmp rdx, rcx
002162a2jb 0x2162c8
002162a4add rbx, 8
002162a8
002162a8loc_2162a8:
002162a8lea rdx, [rbp+1]
002162acmov rsi, rbp
002162afxor ecx, ecx
002162b1mov rdi, rbx
002162b4call caml_memprof_sample_block
002162b9mov rax, rbx
002162bcpop rbx
002162bdpop rbp
002162bepop r12
002162c0ret
002162c1db 0x5d
002162c2pop r12
002162c4ret
002162c5
002162c5 0f 1f 00 ...
002162c8
002162c8loc_2162c8:
002162c8mov esi, 1
002162cdmov edi, 6
002162d2call caml_ev_counter
002162d7mov edi, 1
002162dccall caml_request_major_slice
002162e1jmp 0x2162a8
002162e3
002162e3 0f 1f 44 00 00 ..D..
002162e8
002162e8loc_2162e8:
002162e8call caml_raise_out_of_memory
002162ednop [rax]
002162f0
002162f0loc_2162f0:
002162f0call caml_bad_caml_state
00216210
002162f5
002162f5 // align 0x10
002162f5 // align 0x10
00216300
00216300caml_alloc_shr_noexc:
00216300push r13
00216302push r12
00216304push rbp
00216305push rbx
00216306sub rsp, 8
0021630amov rax, [rip+0x5fcd3]
00216311mov rbp, [rax]
00216315test rbp, rbp
00216318je 0x2163e0
0021631emov rbx, rdi
00216321mov rdi, [rbp+280]
00216328mov edx, esi
0021632axor ecx, ecx
0021632cmov rsi, rbx
0021632fxor r13l, r13l
00216332call caml_shared_try_alloc
00216337mov r12, rax
0021633atest rax, rax
0021633dje 0x2163ac
0021633fmov eax, 1
00216344movdqu x2, [rbp+128]
0021634cmovq x1, rbx
00216351mov rdx, [rbp+272]
00216358movq x0, rax
0021635dpunpcklqdq x1, x1
00216361mov rax, 0xcccccccccccccccd
0021636bpunpcklqdq x0, x0
0021636fmul rdx
00216372paddq x0, x2
00216376paddq x0, x1
0021637amovhlps x3, x0
0021637dshr rdx, 2
00216381movups [rbp+128], x0
00216388movq rcx, x3
0021638dcmp rdx, rcx
00216390jb 0x2163c0
00216392lea r13, [r12+8]
00216397lea rdx, [rbx+1]
0021639bxor ecx, ecx
0021639dmov rsi, rbx
002163a0mov rdi, r13
002163a3call caml_memprof_sample_block
002163a8add rsp, 8
002163ac
002163acloc_2163ac:
002163acmov rax, r13
002163afpop rbx
002163b0pop rbp
002163b1pop r12
002163b3pop r13
002163b5ret
002163b6db 0x5c
002163b7pop r13
002163b9ret
002163ba
002163ba 66 0f 1f 44 00 00 f..D..
002163c0
002163c0loc_2163c0:
002163c0mov esi, 1
002163c5mov edi, 6
002163cacall caml_ev_counter
002163cfmov edi, 1
002163d4call caml_request_major_slice
002163d9jmp 0x216396
002163db
002163db 0f 1f 44 00 00 ..D..
002163e0
002163e0loc_2163e0:
002163e0call caml_bad_caml_state
00216300
00216300caml_alloc_shr_noexc:
00216300push r13
00216302push r12
00216304push rbp
00216305push rbx
00216306sub rsp, 8
0021630amov rax, [rip+0x5fcd3]
00216311mov rbp, [rax]
00216315test rbp, rbp
00216318je 0x2163e0
0021631emov rbx, rdi
00216321mov rdi, [rbp+280]
00216328mov edx, esi
0021632axor ecx, ecx
0021632cmov rsi, rbx
0021632fxor r13l, r13l
00216332call caml_shared_try_alloc
00216337mov r12, rax
0021633atest rax, rax
0021633dje 0x2163ac
0021633fmov eax, 1
00216344movdqu x2, [rbp+128]
0021634cmovq x1, rbx
00216351mov rdx, [rbp+272]
00216358movq x0, rax
0021635dpunpcklqdq x1, x1
00216361mov rax, 0xcccccccccccccccd
0021636bpunpcklqdq x0, x0
0021636fmul rdx
00216372paddq x0, x2
00216376paddq x0, x1
0021637amovhlps x3, x0
0021637dshr rdx, 2
00216381movups [rbp+128], x0
00216388movq rcx, x3
0021638dcmp rdx, rcx
00216390jb 0x2163c0
00216392lea r13, [r12+8]
00216397lea rdx, [rbx+1]
0021639bxor ecx, ecx
0021639dmov rsi, rbx
002163a0mov rdi, r13
002163a3call caml_memprof_sample_block
002163a8add rsp, 8
002163ac
002163acloc_2163ac:
002163acmov rax, r13
002163afpop rbx
002163b0pop rbp
002163b1pop r12
002163b3pop r13
002163b5ret
002163b6db 0x5c
002163b7pop r13
002163b9ret
002163ba
002163ba 66 0f 1f 44 00 00 f..D..
002163c0
002163c0loc_2163c0:
002163c0mov esi, 1
002163c5mov edi, 6
002163cacall caml_ev_counter
002163cfmov edi, 1
002163d4call caml_request_major_slice
002163d9jmp 0x216396
002163db
002163db 0f 1f 44 00 00 ..D..
002163e0
002163e0loc_2163e0:
002163e0call caml_bad_caml_state
00216300
002163e5
002163e5 // align 0x10
002163e5 // align 0x10
002163f0
002163f0caml_stat_create_pool:
002163f0cmp [rip+0x16278c], 0
002163f8je 0x216400
002163faret
002163fbdb 0x00
002163fcje 0x216400
002163feret
002163ff
002163ff 90 .
00216400
00216400loc_216400:
00216400sub rsp, 8
00216404mov edi, 16
00216409call fn_f4250
0021640emovq x0, rax
00216413mov [rip+0x16276e], rax
0021641apunpcklqdq x0, x0
0021641etest rax, rax
00216421je 0x21642b
00216423movaps [rax], x0
00216426add rsp, 8
0021642aret
0021642b
0021642bloc_21642b:
0021642blea rdi, [rip+0x18de2]
00216432call caml_fatal_error
002163f0
002163f0caml_stat_create_pool:
002163f0cmp [rip+0x16278c], 0
002163f8je 0x216400
002163faret
002163fbdb 0x00
002163fcje 0x216400
002163feret
002163ff
002163ff 90 .
00216400
00216400loc_216400:
00216400sub rsp, 8
00216404mov edi, 16
00216409call fn_f4250
0021640emovq x0, rax
00216413mov [rip+0x16276e], rax
0021641apunpcklqdq x0, x0
0021641etest rax, rax
00216421je 0x21642b
00216423movaps [rax], x0
00216426add rsp, 8
0021642aret
0021642b
0021642bloc_21642b:
0021642blea rdi, [rip+0x18de2]
00216432call caml_fatal_error
002163f0
00216437
00216437 // align 0x10
00216437 // align 0x10
00216440
00216440caml_stat_destroy_pool:
00216440push rbp
00216441lea rbp, [rip+0x162714]
00216448push rbx
00216449mov rdi, rbp
0021644csub rsp, 8
00216450call fn_f4710
00216455test eax, eax
00216457jne 0x2164aa
00216459mov rbx, [rip+0x162724]
00216460test rbx, rbx
00216463je 0x216497
00216465mov rax, [rbx+8]
00216469mov [rax], 0
00216470nop [rax+rax]
0021647bnop
0021647cmov rdi, rbx
0021647fmov rbx, [rbx]
00216482call fn_f4370
00216487mov [rip+0x1626f6], rbx
0021648etest rbx, rbx
00216491jne 0x216480
00216493mov rdi, rbp
00216496call fn_f47c0
0021649btest eax, eax
0021649djne 0x2164b8
0021649fadd rsp, 8
002164a3pop rbx
002164a4pop rbp
002164a5ret
002164a6mov esi, eax
002164a8lea rdi, [rip+0x1905c]
002164afcall caml_plat_fatal_error
002164b4mov esi, eax
002164b6lea rdi, [rip+0x19059]
002164bdcall caml_plat_fatal_error
002164c2db 0x0a
002164c3push rbp
002164c4add [rax], al
00216440
00216440caml_stat_destroy_pool:
00216440push rbp
00216441lea rbp, [rip+0x162714]
00216448push rbx
00216449mov rdi, rbp
0021644csub rsp, 8
00216450call fn_f4710
00216455test eax, eax
00216457jne 0x2164aa
00216459mov rbx, [rip+0x162724]
00216460test rbx, rbx
00216463je 0x216497
00216465mov rax, [rbx+8]
00216469mov [rax], 0
00216470nop [rax+rax]
0021647bnop
0021647cmov rdi, rbx
0021647fmov rbx, [rbx]
00216482call fn_f4370
00216487mov [rip+0x1626f6], rbx
0021648etest rbx, rbx
00216491jne 0x216480
00216493mov rdi, rbp
00216496call fn_f47c0
0021649btest eax, eax
0021649djne 0x2164b8
0021649fadd rsp, 8
002164a3pop rbx
002164a4pop rbp
002164a5ret
002164a6mov esi, eax
002164a8lea rdi, [rip+0x1905c]
002164afcall caml_plat_fatal_error
002164b4mov esi, eax
002164b6lea rdi, [rip+0x19059]
002164bdcall caml_plat_fatal_error
002164c2db 0x0a
002164c3push rbp
002164c4add [rax], al
00216440
002164c6
002164c6 // align 0x10
002164c6 // align 0x10
002164d0
002164d0caml_stat_alloc_noexc:
002164d0cmp [rip+0x1626ac], 0
002164d8je 0x216508
002164dapush rbx
002164dbadd rdi, 16
002164dfcall fn_f4250
002164e4mov rbx, rax
002164e7test rax, rax
002164eaje 0x2164fc
002164ecmov rdi, rax
002164efadd rbx, 16
002164f3call fn_2159d0
002164f8mov rax, rbx
002164fbpop rbx
002164fc
002164fcloc_2164fc:
002164fcret
002164fddb 0x89
002164fefcomp [rbx-61]
00216501
00216501 0f 1f 80 00 00 00 00 .......
00216508
00216508loc_216508:
00216508jmp 0xf4250
002164d0
002164d0caml_stat_alloc_noexc:
002164d0cmp [rip+0x1626ac], 0
002164d8je 0x216508
002164dapush rbx
002164dbadd rdi, 16
002164dfcall fn_f4250
002164e4mov rbx, rax
002164e7test rax, rax
002164eaje 0x2164fc
002164ecmov rdi, rax
002164efadd rbx, 16
002164f3call fn_2159d0
002164f8mov rax, rbx
002164fbpop rbx
002164fc
002164fcloc_2164fc:
002164fcret
002164fddb 0x89
002164fefcomp [rbx-61]
00216501
00216501 0f 1f 80 00 00 00 00 .......
00216508
00216508loc_216508:
00216508jmp 0xf4250
002164d0
0021650d
0021650d // align 0x10
0021650d // align 0x10
00216510
00216510caml_stat_alloc_aligned_noexc:
00216510cmp [rip+0x16266c], 0
00216518push r12
0021651amov r12, rdx
0021651dpush rbp
0021651emovsxd rbp, esi
00216521push rbx
00216522je 0x216568
00216524add rdi, 4112
0021652bcall fn_f4250
00216530mov rbx, rax
00216533test rax, rax
00216536je 0x21657c
00216538mov rdi, rax
0021653badd rbx, 16
0021653fcall fn_2159d0
00216544mov [r12], rbx
00216548
00216548loc_216548:
00216548add rbx, rbp
0021654band rbx, -4096
00216552lea rax, [rbx+4096]
00216559sub rax, rbp
0021655cpop rbx
0021655dpop rbp
0021655epop r12
00216560
00216560loc_216560:
00216560ret
00216561db 0x5d
00216562pop r12
00216564ret
00216565
00216565 0f 1f 00 ...
00216568
00216568loc_216568:
00216568add rdi, 4096
0021656fcall fn_f4250
00216574mov rbx, rax
00216577test rax, rax
0021657ajne 0x216548
0021657c
0021657cloc_21657c:
0021657cxor eax, eax
0021657ejmp 0x216560
00216510
00216510caml_stat_alloc_aligned_noexc:
00216510cmp [rip+0x16266c], 0
00216518push r12
0021651amov r12, rdx
0021651dpush rbp
0021651emovsxd rbp, esi
00216521push rbx
00216522je 0x216568
00216524add rdi, 4112
0021652bcall fn_f4250
00216530mov rbx, rax
00216533test rax, rax
00216536je 0x21657c
00216538mov rdi, rax
0021653badd rbx, 16
0021653fcall fn_2159d0
00216544mov [r12], rbx
00216548
00216548loc_216548:
00216548add rbx, rbp
0021654band rbx, -4096
00216552lea rax, [rbx+4096]
00216559sub rax, rbp
0021655cpop rbx
0021655dpop rbp
0021655epop r12
00216560
00216560loc_216560:
00216560ret
00216561db 0x5d
00216562pop r12
00216564ret
00216565
00216565 0f 1f 00 ...
00216568
00216568loc_216568:
00216568add rdi, 4096
0021656fcall fn_f4250
00216574mov rbx, rax
00216577test rax, rax
0021657ajne 0x216548
0021657c
0021657cloc_21657c:
0021657cxor eax, eax
0021657ejmp 0x216560
00216510
00216580
00216580caml_stat_alloc_aligned:
00216580push r13
00216582mov r13, rdx
00216585push r12
00216587movsxd r12, esi
0021658apush rbp
0021658bmov rbp, rdi
0021658epush rbx
0021658fsub rsp, 8
00216593cmp [rip+0x1625e9], 0
0021659bje 0x216600
0021659dlea rdi, [rdi+4112]
002165a4call fn_f4250
002165a9mov rbx, rax
002165actest rax, rax
002165afje 0x216614
002165b1mov rdi, rax
002165b4add rbx, 16
002165b8call fn_2159d0
002165bdmov [r13], rbx
002165c1
002165c1loc_2165c1:
002165c1add rbx, r12
002165c4and rbx, -4096
002165cblea rax, [rbx+4096]
002165d2mov rdx, rax
002165d5sub rdx, r12
002165d8cmp r12, rax
002165dbsete al
002165detest rbp, rbp
002165e1je 0x2165eb
002165e3test al, al
002165e5jne 0x21661d
002165e7add rsp, 8
002165eb
002165ebloc_2165eb:
002165ebmov rax, rdx
002165eepop rbx
002165efpop rbp
002165f0pop r12
002165f2pop r13
002165f4ret
002165f5db 0x5c
002165f6pop r13
002165f8ret
002165f9
002165f9 0f 1f 80 00 00 00 00 .......
00216600
00216600loc_216600:
00216600lea rdi, [rdi+4096]
00216607call fn_f4250
0021660cmov rbx, rax
0021660ftest rax, rax
00216612jne 0x2165c1
00216614
00216614loc_216614:
00216614mov eax, 1
00216619xor edx, edx
0021661bjmp 0x2165e2
0021661d
0021661dloc_21661d:
0021661dcall caml_raise_out_of_memory
00216580
00216580caml_stat_alloc_aligned:
00216580push r13
00216582mov r13, rdx
00216585push r12
00216587movsxd r12, esi
0021658apush rbp
0021658bmov rbp, rdi
0021658epush rbx
0021658fsub rsp, 8
00216593cmp [rip+0x1625e9], 0
0021659bje 0x216600
0021659dlea rdi, [rdi+4112]
002165a4call fn_f4250
002165a9mov rbx, rax
002165actest rax, rax
002165afje 0x216614
002165b1mov rdi, rax
002165b4add rbx, 16
002165b8call fn_2159d0
002165bdmov [r13], rbx
002165c1
002165c1loc_2165c1:
002165c1add rbx, r12
002165c4and rbx, -4096
002165cblea rax, [rbx+4096]
002165d2mov rdx, rax
002165d5sub rdx, r12
002165d8cmp r12, rax
002165dbsete al
002165detest rbp, rbp
002165e1je 0x2165eb
002165e3test al, al
002165e5jne 0x21661d
002165e7add rsp, 8
002165eb
002165ebloc_2165eb:
002165ebmov rax, rdx
002165eepop rbx
002165efpop rbp
002165f0pop r12
002165f2pop r13
002165f4ret
002165f5db 0x5c
002165f6pop r13
002165f8ret
002165f9
002165f9 0f 1f 80 00 00 00 00 .......
00216600
00216600loc_216600:
00216600lea rdi, [rdi+4096]
00216607call fn_f4250
0021660cmov rbx, rax
0021660ftest rax, rax
00216612jne 0x2165c1
00216614
00216614loc_216614:
00216614mov eax, 1
00216619xor edx, edx
0021661bjmp 0x2165e2
0021661d
0021661dloc_21661d:
0021661dcall caml_raise_out_of_memory
00216580
00216622
00216622 // align 0x10
00216622 // align 0x10
00216630
00216630caml_stat_alloc:
00216630push rbp
00216631mov rbp, rdi
00216634push rbx
00216635sub rsp, 8
00216639cmp [rip+0x162543], 0
00216641je 0x216670
00216643lea rdi, [rdi+16]
00216647call fn_f4250
0021664cmov rbx, rax
0021664ftest rax, rax
00216652je 0x21667d
00216654mov rdi, rax
00216657add rbx, 16
0021665bcall fn_2159d0
00216660add rsp, 8
00216664
00216664loc_216664:
00216664mov rax, rbx
00216667pop rbx
00216668pop rbp
00216669ret
0021666adb 0xd8
0021666bpop rbx
0021666cpop rbp
0021666dret
0021666e
0021666e 66 90 f.
00216670
00216670loc_216670:
00216670call fn_f4250
00216675mov rbx, rax
00216678test rax, rax
0021667bjne 0x216664
0021667d
0021667dloc_21667d:
0021667dtest rbp, rbp
00216680je 0x216664
00216682call caml_raise_out_of_memory
00216630
00216630caml_stat_alloc:
00216630push rbp
00216631mov rbp, rdi
00216634push rbx
00216635sub rsp, 8
00216639cmp [rip+0x162543], 0
00216641je 0x216670
00216643lea rdi, [rdi+16]
00216647call fn_f4250
0021664cmov rbx, rax
0021664ftest rax, rax
00216652je 0x21667d
00216654mov rdi, rax
00216657add rbx, 16
0021665bcall fn_2159d0
00216660add rsp, 8
00216664
00216664loc_216664:
00216664mov rax, rbx
00216667pop rbx
00216668pop rbp
00216669ret
0021666adb 0xd8
0021666bpop rbx
0021666cpop rbp
0021666dret
0021666e
0021666e 66 90 f.
00216670
00216670loc_216670:
00216670call fn_f4250
00216675mov rbx, rax
00216678test rax, rax
0021667bjne 0x216664
0021667d
0021667dloc_21667d:
0021667dtest rbp, rbp
00216680je 0x216664
00216682call caml_raise_out_of_memory
00216630
00216687
00216687 // align 0x10
00216687 // align 0x10
00216690
00216690caml_stat_free:
00216690cmp [rip+0x1624ec], 0
00216698push r12
0021669apush rbp
0021669bpush rbx
0021669cmov rbx, rdi
0021669fje 0x2166f0
002166a1test rdi, rdi
002166a4je 0x216700
002166a6lea r12, [rip+0x1624af]
002166adlea rbp, [rdi-16]
002166b1mov rdi, r12
002166b4call fn_f4710
002166b9test eax, eax
002166bbjne 0x216705
002166bdmov rdx, [rbx-8]
002166c1mov rax, [rbx-16]
002166c5mov rdi, r12
002166c8mov [rdx], rax
002166cbmov rdx, [rbx-8]
002166cfmov [rax+8], rdx
002166d3call fn_f47c0
002166d8test eax, eax
002166dajne 0x216713
002166dcpop rbx
002166ddmov rdi, rbp
002166e0pop rbp
002166e1pop r12
002166e3jmp 0xf4370
002166e8db 0x84
002166e9fsub f5, f0
002166ebdb 0xff
002166ec
002166ec 0f 1f 40 00 ..@.
002166f0
002166f0loc_2166f0:
002166f0pop rbx
002166f1pop rbp
002166f2pop r12
002166f4jmp 0xf4370
002166f9
002166f9 0f 1f 80 00 00 00 00 .......
00216700
00216700loc_216700:
00216700pop rbx
00216701pop rbp
00216702pop r12
00216704ret
00216705
00216705loc_216705:
00216705mov esi, eax
00216707lea rdi, [rip+0x18e01]
0021670ecall caml_plat_fatal_error
00216713
00216713loc_216713:
00216713mov esi, eax
00216715lea rdi, [rip+0x18dfe]
0021671ccall caml_plat_fatal_error
00216690
00216690caml_stat_free:
00216690cmp [rip+0x1624ec], 0
00216698push r12
0021669apush rbp
0021669bpush rbx
0021669cmov rbx, rdi
0021669fje 0x2166f0
002166a1test rdi, rdi
002166a4je 0x216700
002166a6lea r12, [rip+0x1624af]
002166adlea rbp, [rdi-16]
002166b1mov rdi, r12
002166b4call fn_f4710
002166b9test eax, eax
002166bbjne 0x216705
002166bdmov rdx, [rbx-8]
002166c1mov rax, [rbx-16]
002166c5mov rdi, r12
002166c8mov [rdx], rax
002166cbmov rdx, [rbx-8]
002166cfmov [rax+8], rdx
002166d3call fn_f47c0
002166d8test eax, eax
002166dajne 0x216713
002166dcpop rbx
002166ddmov rdi, rbp
002166e0pop rbp
002166e1pop r12
002166e3jmp 0xf4370
002166e8db 0x84
002166e9fsub f5, f0
002166ebdb 0xff
002166ec
002166ec 0f 1f 40 00 ..@.
002166f0
002166f0loc_2166f0:
002166f0pop rbx
002166f1pop rbp
002166f2pop r12
002166f4jmp 0xf4370
002166f9
002166f9 0f 1f 80 00 00 00 00 .......
00216700
00216700loc_216700:
00216700pop rbx
00216701pop rbp
00216702pop r12
00216704ret
00216705
00216705loc_216705:
00216705mov esi, eax
00216707lea rdi, [rip+0x18e01]
0021670ecall caml_plat_fatal_error
00216713
00216713loc_216713:
00216713mov esi, eax
00216715lea rdi, [rip+0x18dfe]
0021671ccall caml_plat_fatal_error
00216690
00216721
00216721 // align 0x10
00216721 // align 0x10
00216730
00216730caml_stat_resize_noexc:
00216730push r13
00216732push r12
00216734push rbp
00216735mov rbp, rsi
00216738push rbx
00216739sub rsp, 8
0021673dmov rax, [rip+0x162440]
00216744test rdi, rdi
00216747je 0x2167d0
0021674dmov rbx, rdi
00216750test rax, rax
00216753je 0x2167c0
00216755lea r13, [rip+0x162400]
0021675clea r12, [rdi-16]
00216760mov rdi, r13
00216763call fn_f4710
00216768test eax, eax
0021676ajne 0x216810
00216770mov rdx, [rbx-8]
00216774mov rax, [rbx-16]
00216778mov rdi, r13
0021677bmov [rdx], rax
0021677emov rdx, [rbx-8]
00216782mov [rax+8], rdx
00216786call fn_f47c0
0021678btest eax, eax
0021678djne 0x216802
0021678flea rsi, [rbp+16]
00216793mov rdi, r12
00216796call fn_f4720
0021679bmov rbx, rax
0021679etest rax, rax
002167a1je 0x21681e
002167a3mov rdi, rbx
002167a6call fn_2159d0
002167ablea rax, [rbx+16]
002167afadd rsp, 8
002167b3
002167b3loc_2167b3:
002167b3pop rbx
002167b4pop rbp
002167b5pop r12
002167b7pop r13
002167b9ret
002167badb 0x5c
002167bbpop r13
002167bdret
002167be
002167be 66 90 f.
002167c0
002167c0loc_2167c0:
002167c0add rsp, 8
002167c4pop rbx
002167c5pop rbp
002167c6pop r12
002167c8pop r13
002167cajmp 0xf4720
002167cf
002167cf 90 .
002167d0
002167d0loc_2167d0:
002167d0test rax, rax
002167d3je 0x2167f0
002167d5lea rdi, [rsi+16]
002167d9call fn_f4250
002167demov rbx, rax
002167e1test rax, rax
002167e4jne 0x2167a7
002167e6xor eax, eax
002167e8jmp 0x2167b3
002167ea
002167ea 66 0f 1f 44 00 00 f..D..
002167f0
002167f0loc_2167f0:
002167f0add rsp, 8
002167f4mov rdi, rsi
002167f7pop rbx
002167f8pop rbp
002167f9pop r12
002167fbpop r13
002167fdjmp 0xf4250
00216802
00216802loc_216802:
00216802mov esi, eax
00216804lea rdi, [rip+0x18d0f]
0021680bcall caml_plat_fatal_error
00216810
00216810loc_216810:
00216810mov esi, eax
00216812lea rdi, [rip+0x18cf6]
00216819call caml_plat_fatal_error
0021681e
0021681eloc_21681e:
0021681emov rdi, r12
00216821call fn_2159d0
00216826xor eax, eax
00216828jmp 0x2167b3
00216730
00216730caml_stat_resize_noexc:
00216730push r13
00216732push r12
00216734push rbp
00216735mov rbp, rsi
00216738push rbx
00216739sub rsp, 8
0021673dmov rax, [rip+0x162440]
00216744test rdi, rdi
00216747je 0x2167d0
0021674dmov rbx, rdi
00216750test rax, rax
00216753je 0x2167c0
00216755lea r13, [rip+0x162400]
0021675clea r12, [rdi-16]
00216760mov rdi, r13
00216763call fn_f4710
00216768test eax, eax
0021676ajne 0x216810
00216770mov rdx, [rbx-8]
00216774mov rax, [rbx-16]
00216778mov rdi, r13
0021677bmov [rdx], rax
0021677emov rdx, [rbx-8]
00216782mov [rax+8], rdx
00216786call fn_f47c0
0021678btest eax, eax
0021678djne 0x216802
0021678flea rsi, [rbp+16]
00216793mov rdi, r12
00216796call fn_f4720
0021679bmov rbx, rax
0021679etest rax, rax
002167a1je 0x21681e
002167a3mov rdi, rbx
002167a6call fn_2159d0
002167ablea rax, [rbx+16]
002167afadd rsp, 8
002167b3
002167b3loc_2167b3:
002167b3pop rbx
002167b4pop rbp
002167b5pop r12
002167b7pop r13
002167b9ret
002167badb 0x5c
002167bbpop r13
002167bdret
002167be
002167be 66 90 f.
002167c0
002167c0loc_2167c0:
002167c0add rsp, 8
002167c4pop rbx
002167c5pop rbp
002167c6pop r12
002167c8pop r13
002167cajmp 0xf4720
002167cf
002167cf 90 .
002167d0
002167d0loc_2167d0:
002167d0test rax, rax
002167d3je 0x2167f0
002167d5lea rdi, [rsi+16]
002167d9call fn_f4250
002167demov rbx, rax
002167e1test rax, rax
002167e4jne 0x2167a7
002167e6xor eax, eax
002167e8jmp 0x2167b3
002167ea
002167ea 66 0f 1f 44 00 00 f..D..
002167f0
002167f0loc_2167f0:
002167f0add rsp, 8
002167f4mov rdi, rsi
002167f7pop rbx
002167f8pop rbp
002167f9pop r12
002167fbpop r13
002167fdjmp 0xf4250
00216802
00216802loc_216802:
00216802mov esi, eax
00216804lea rdi, [rip+0x18d0f]
0021680bcall caml_plat_fatal_error
00216810
00216810loc_216810:
00216810mov esi, eax
00216812lea rdi, [rip+0x18cf6]
00216819call caml_plat_fatal_error
0021681e
0021681eloc_21681e:
0021681emov rdi, r12
00216821call fn_2159d0
00216826xor eax, eax
00216828jmp 0x2167b3
00216730
0021682a
0021682a // align 0x10
0021682a // align 0x10
00216830
00216830caml_stat_resize:
00216830sub rsp, 8
00216834call caml_stat_resize_noexc
00216839test rax, rax
0021683cje 0x216847
0021683eadd rsp, 8
00216842ret
00216843call caml_raise_out_of_memory
00216848db 0xf4
00216849add edi, edi
0021684bdb 0xff
00216830
00216830caml_stat_resize:
00216830sub rsp, 8
00216834call caml_stat_resize_noexc
00216839test rax, rax
0021683cje 0x216847
0021683eadd rsp, 8
00216842ret
00216843call caml_raise_out_of_memory
00216848db 0xf4
00216849add edi, edi
0021684bdb 0xff
00216830
0021684c
0021684c // align 0x10
0021684c // align 0x10
00216850
00216850caml_stat_calloc_noexc:
00216850mov rax, rsi
00216853mul rdi
00216856jo 0x2168d0
00216858push rbp
00216859mov rbp, rax
0021685cpush rbx
0021685dsub rsp, 8
00216861cmp [rip+0x16231b], 0
00216869je 0x2168b0
0021686blea rdi, [rax+16]
0021686fcall fn_f4250
00216874mov rbx, rax
00216877test rax, rax
0021687aje 0x2168c0
0021687cmov rdi, rax
0021687fcall fn_2159d0
00216884lea rcx, [rbx+16]
00216888mov rdx, rbp
0021688bmov rdi, rcx
0021688exor esi, esi
00216890call fn_f40e0
00216895add rsp, 8
00216899mov rcx, rax
0021689cpop rbx
0021689dpop rbp
0021689emov rax, rcx
002168a1ret
002168a2db 0x48
002168a3mov eax, ecx
002168a5ret
002168a6
002168a6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002168b0
002168b0loc_2168b0:
002168b0mov rdi, rax
002168b3call fn_f4250
002168b8mov rcx, rax
002168bbtest rax, rax
002168bejne 0x21688c
002168c0
002168c0loc_2168c0:
002168c0add rsp, 8
002168c4xor ecx, ecx
002168c6mov rax, rcx
002168c9pop rbx
002168capop rbp
002168cbret
002168cc
002168cc 0f 1f 40 00 ..@.
002168d0
002168d0loc_2168d0:
002168d0xor eax, eax
002168d2ret
00216850
00216850caml_stat_calloc_noexc:
00216850mov rax, rsi
00216853mul rdi
00216856jo 0x2168d0
00216858push rbp
00216859mov rbp, rax
0021685cpush rbx
0021685dsub rsp, 8
00216861cmp [rip+0x16231b], 0
00216869je 0x2168b0
0021686blea rdi, [rax+16]
0021686fcall fn_f4250
00216874mov rbx, rax
00216877test rax, rax
0021687aje 0x2168c0
0021687cmov rdi, rax
0021687fcall fn_2159d0
00216884lea rcx, [rbx+16]
00216888mov rdx, rbp
0021688bmov rdi, rcx
0021688exor esi, esi
00216890call fn_f40e0
00216895add rsp, 8
00216899mov rcx, rax
0021689cpop rbx
0021689dpop rbp
0021689emov rax, rcx
002168a1ret
002168a2db 0x48
002168a3mov eax, ecx
002168a5ret
002168a6
002168a6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002168b0
002168b0loc_2168b0:
002168b0mov rdi, rax
002168b3call fn_f4250
002168b8mov rcx, rax
002168bbtest rax, rax
002168bejne 0x21688c
002168c0
002168c0loc_2168c0:
002168c0add rsp, 8
002168c4xor ecx, ecx
002168c6mov rax, rcx
002168c9pop rbx
002168capop rbp
002168cbret
002168cc
002168cc 0f 1f 40 00 ..@.
002168d0
002168d0loc_2168d0:
002168d0xor eax, eax
002168d2ret
00216850
002168d3
002168d3 // align 0x10
002168d3 // align 0x10
002168e0
002168e0caml_stat_strdup_noexc:
002168e0push r12
002168e2push rbp
002168e3mov rbp, rdi
002168e6push rbx
002168e7call fn_f43a0
002168eccmp [rip+0x162290], 0
002168f4lea r12, [rax+1]
002168f8je 0x216938
002168falea rdi, [rax+17]
002168fecall fn_f4250
00216903mov rbx, rax
00216906test rax, rax
00216909je 0x216948
0021690bmov rdi, rax
0021690eadd rbx, 16
00216912call fn_2159d0
00216917mov rdx, r12
0021691amov rsi, rbp
0021691dmov rdi, rbx
00216920call fn_f47d0
00216925mov rax, rbx
00216928pop rbx
00216929pop rbp
0021692apop r12
0021692cret
0021692ddb 0x5d
0021692epop r12
00216930ret
00216931
00216931 0f 1f 80 00 00 00 00 .......
00216938
00216938loc_216938:
00216938mov rdi, r12
0021693bcall fn_f4250
00216940mov rbx, rax
00216943test rax, rax
00216946jne 0x21691b
00216948
00216948loc_216948:
00216948xor ebx, ebx
0021694amov rax, rbx
0021694dpop rbx
0021694epop rbp
0021694fpop r12
00216951ret
002168e0
002168e0caml_stat_strdup_noexc:
002168e0push r12
002168e2push rbp
002168e3mov rbp, rdi
002168e6push rbx
002168e7call fn_f43a0
002168eccmp [rip+0x162290], 0
002168f4lea r12, [rax+1]
002168f8je 0x216938
002168falea rdi, [rax+17]
002168fecall fn_f4250
00216903mov rbx, rax
00216906test rax, rax
00216909je 0x216948
0021690bmov rdi, rax
0021690eadd rbx, 16
00216912call fn_2159d0
00216917mov rdx, r12
0021691amov rsi, rbp
0021691dmov rdi, rbx
00216920call fn_f47d0
00216925mov rax, rbx
00216928pop rbx
00216929pop rbp
0021692apop r12
0021692cret
0021692ddb 0x5d
0021692epop r12
00216930ret
00216931
00216931 0f 1f 80 00 00 00 00 .......
00216938
00216938loc_216938:
00216938mov rdi, r12
0021693bcall fn_f4250
00216940mov rbx, rax
00216943test rax, rax
00216946jne 0x21691b
00216948
00216948loc_216948:
00216948xor ebx, ebx
0021694amov rax, rbx
0021694dpop rbx
0021694epop rbp
0021694fpop r12
00216951ret
002168e0
00216952
00216952 // align 0x10
00216952 // align 0x10
00216960
00216960caml_stat_strdup:
00216960push r12
00216962push rbp
00216963mov rbp, rdi
00216966push rbx
00216967call fn_f43a0
0021696ccmp [rip+0x162210], 0
00216974lea r12, [rax+1]
00216978je 0x2169b0
0021697alea rdi, [rax+17]
0021697ecall fn_f4250
00216983mov rbx, rax
00216986test rax, rax
00216989je 0x2169c0
0021698bmov rdi, rax
0021698eadd rbx, 16
00216992call fn_2159d0
00216997mov rdx, r12
0021699amov rsi, rbp
0021699dmov rdi, rbx
002169a0call fn_f47d0
002169a5pop rbx
002169a6pop rbp
002169a7pop r12
002169a9ret
002169aadb 0x5d
002169abpop r12
002169adret
002169ae
002169ae 66 90 f.
002169b0
002169b0loc_2169b0:
002169b0mov rdi, r12
002169b3call fn_f4250
002169b8mov rbx, rax
002169bbtest rax, rax
002169bejne 0x21699b
002169c0
002169c0loc_2169c0:
002169c0call caml_raise_out_of_memory
00216960
00216960caml_stat_strdup:
00216960push r12
00216962push rbp
00216963mov rbp, rdi
00216966push rbx
00216967call fn_f43a0
0021696ccmp [rip+0x162210], 0
00216974lea r12, [rax+1]
00216978je 0x2169b0
0021697alea rdi, [rax+17]
0021697ecall fn_f4250
00216983mov rbx, rax
00216986test rax, rax
00216989je 0x2169c0
0021698bmov rdi, rax
0021698eadd rbx, 16
00216992call fn_2159d0
00216997mov rdx, r12
0021699amov rsi, rbp
0021699dmov rdi, rbx
002169a0call fn_f47d0
002169a5pop rbx
002169a6pop rbp
002169a7pop r12
002169a9ret
002169aadb 0x5d
002169abpop r12
002169adret
002169ae
002169ae 66 90 f.
002169b0
002169b0loc_2169b0:
002169b0mov rdi, r12
002169b3call fn_f4250
002169b8mov rbx, rax
002169bbtest rax, rax
002169bejne 0x21699b
002169c0
002169c0loc_2169c0:
002169c0call caml_raise_out_of_memory
00216960
002169c5
002169c5 // align 0x10
002169c5 // align 0x10
002169d0
002169d0caml_stat_strconcat:
002169d0push r15
002169d2push r14
002169d4push r13
002169d6push r12
002169d8mov r12l, edi
002169dbpush rbp
002169dcpush rbx
002169ddsub rsp, 88
002169e1mov [rsp+40], rsi
002169e6mov [rsp+48], rdx
002169ebmov [rsp+56], rcx
002169f0mov [rsp+64], r8
002169f5mov [rsp+72], r9
002169famov rax, [0x28]
00216a03mov [rsp+24], rax
00216a08xor eax, eax
00216a0alea rax, [rsp+144]
00216a12mov [rsp], 8
00216a19mov [rsp+8], rax
00216a1elea rax, [rsp+32]
00216a23mov [rsp+16], rax
00216a28test edi, edi
00216a2ajle 0x216b88
00216a30mov rbp, rax
00216a33xor r13l, r13l
00216a36xor ebx, ebx
00216a38jmp 0x216a5f
00216a3adb 0x31
00216a3bfucomi f3
00216a3ddb 0x21
00216a3e
00216a3e 66 90 f.
00216a40
00216a40loc_216a40:
00216a40mov edx, eax
00216a42add eax, 8
00216a45mov [rsp], eax
00216a48add rdx, rbp
00216a4b
00216a4bloc_216a4b:
00216a4bmov rdi, [rdx]
00216a4eadd r13l, 1
00216a52call fn_f43a0
00216a57add rbx, rax
00216a5acmp r12l, r13l
00216a5dje 0x216a80
00216a5f
00216a5floc_216a5f:
00216a5fmov eax, [rsp]
00216a62cmp eax, 47
00216a65jbe 0x216a40
00216a67mov rdx, [rsp+8]
00216a6clea rax, [rdx+8]
00216a70mov [rsp+8], rax
00216a75jmp 0x216a4b
00216a77
00216a77 66 0f 1f 84 00 00 00 00 00 f........
00216a80
00216a80loc_216a80:
00216a80lea rbp, [rbx+1]
00216a84
00216a84loc_216a84:
00216a84cmp [rip+0x1620fc], 0
00216a8cje 0x216b60
00216a92lea rdi, [rbx+17]
00216a96call fn_f4250
00216a9bmov r13, rax
00216a9etest rax, rax
00216aa1je 0x216b74
00216aa7mov rdi, rax
00216aaaadd r13, 16
00216aaecall fn_2159d0
00216ab3
00216ab3loc_216ab3:
00216ab3lea rax, [rsp+144]
00216abbmov [rsp], 8
00216ac2mov rbp, r13
00216ac5mov [rsp+8], rax
00216acalea rax, [rsp+32]
00216acfmov [rsp+16], rax
00216ad4test r12l, r12l
00216ad7jle 0x216b30
00216ad9xor r14l, r14l
00216adcjmp 0x216b15
00216ade
00216ade 66 90 f.
00216ae0
00216ae0loc_216ae0:
00216ae0mov edx, eax
00216ae2add eax, 8
00216ae5add rdx, [rsp+16]
00216aeamov [rsp], eax
00216aed
00216aedloc_216aed:
00216aedmov r15, [rdx]
00216af0add r14l, 1
00216af4mov rdi, r15
00216af7call fn_f43a0
00216afcmov rdi, rbp
00216affmov rsi, r15
00216b02mov rbx, rax
00216b05mov rdx, rax
00216b08call fn_f47d0
00216b0dadd rbp, rbx
00216b10cmp r12l, r14l
00216b13je 0x216b30
00216b15
00216b15loc_216b15:
00216b15mov eax, [rsp]
00216b18cmp eax, 47
00216b1bjbe 0x216ae0
00216b1dmov rdx, [rsp+8]
00216b22lea rax, [rdx+8]
00216b26mov [rsp+8], rax
00216b2bjmp 0x216aed
00216b2d
00216b2d 0f 1f 00 ...
00216b30
00216b30loc_216b30:
00216b30mov [rbp], 0
00216b34mov rax, [rsp+24]
00216b39sub rax, [0x28]
00216b42jne 0x216b94
00216b44add rsp, 88
00216b48mov rax, r13
00216b4bpop rbx
00216b4cpop rbp
00216b4dpop r12
00216b4fpop r13
00216b51pop r14
00216b53pop r15
00216b55ret
00216b56
00216b56 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216b60
00216b60loc_216b60:
00216b60mov rdi, rbp
00216b63call fn_f4250
00216b68mov r13, rax
00216b6btest rax, rax
00216b6ejne 0x216ab3
00216b74
00216b74loc_216b74:
00216b74test rbp, rbp
00216b77je 0x216ab3
00216b7dcall caml_raise_out_of_memory
00216b82nop [rax+rax]
00216b88
00216b88loc_216b88:
00216b88mov ebp, 1
00216b8dxor ebx, ebx
00216b8fjmp 0x216a84
00216b94
00216b94loc_216b94:
00216b94call fn_f4590
002169d0
002169d0caml_stat_strconcat:
002169d0push r15
002169d2push r14
002169d4push r13
002169d6push r12
002169d8mov r12l, edi
002169dbpush rbp
002169dcpush rbx
002169ddsub rsp, 88
002169e1mov [rsp+40], rsi
002169e6mov [rsp+48], rdx
002169ebmov [rsp+56], rcx
002169f0mov [rsp+64], r8
002169f5mov [rsp+72], r9
002169famov rax, [0x28]
00216a03mov [rsp+24], rax
00216a08xor eax, eax
00216a0alea rax, [rsp+144]
00216a12mov [rsp], 8
00216a19mov [rsp+8], rax
00216a1elea rax, [rsp+32]
00216a23mov [rsp+16], rax
00216a28test edi, edi
00216a2ajle 0x216b88
00216a30mov rbp, rax
00216a33xor r13l, r13l
00216a36xor ebx, ebx
00216a38jmp 0x216a5f
00216a3adb 0x31
00216a3bfucomi f3
00216a3ddb 0x21
00216a3e
00216a3e 66 90 f.
00216a40
00216a40loc_216a40:
00216a40mov edx, eax
00216a42add eax, 8
00216a45mov [rsp], eax
00216a48add rdx, rbp
00216a4b
00216a4bloc_216a4b:
00216a4bmov rdi, [rdx]
00216a4eadd r13l, 1
00216a52call fn_f43a0
00216a57add rbx, rax
00216a5acmp r12l, r13l
00216a5dje 0x216a80
00216a5f
00216a5floc_216a5f:
00216a5fmov eax, [rsp]
00216a62cmp eax, 47
00216a65jbe 0x216a40
00216a67mov rdx, [rsp+8]
00216a6clea rax, [rdx+8]
00216a70mov [rsp+8], rax
00216a75jmp 0x216a4b
00216a77
00216a77 66 0f 1f 84 00 00 00 00 00 f........
00216a80
00216a80loc_216a80:
00216a80lea rbp, [rbx+1]
00216a84
00216a84loc_216a84:
00216a84cmp [rip+0x1620fc], 0
00216a8cje 0x216b60
00216a92lea rdi, [rbx+17]
00216a96call fn_f4250
00216a9bmov r13, rax
00216a9etest rax, rax
00216aa1je 0x216b74
00216aa7mov rdi, rax
00216aaaadd r13, 16
00216aaecall fn_2159d0
00216ab3
00216ab3loc_216ab3:
00216ab3lea rax, [rsp+144]
00216abbmov [rsp], 8
00216ac2mov rbp, r13
00216ac5mov [rsp+8], rax
00216acalea rax, [rsp+32]
00216acfmov [rsp+16], rax
00216ad4test r12l, r12l
00216ad7jle 0x216b30
00216ad9xor r14l, r14l
00216adcjmp 0x216b15
00216ade
00216ade 66 90 f.
00216ae0
00216ae0loc_216ae0:
00216ae0mov edx, eax
00216ae2add eax, 8
00216ae5add rdx, [rsp+16]
00216aeamov [rsp], eax
00216aed
00216aedloc_216aed:
00216aedmov r15, [rdx]
00216af0add r14l, 1
00216af4mov rdi, r15
00216af7call fn_f43a0
00216afcmov rdi, rbp
00216affmov rsi, r15
00216b02mov rbx, rax
00216b05mov rdx, rax
00216b08call fn_f47d0
00216b0dadd rbp, rbx
00216b10cmp r12l, r14l
00216b13je 0x216b30
00216b15
00216b15loc_216b15:
00216b15mov eax, [rsp]
00216b18cmp eax, 47
00216b1bjbe 0x216ae0
00216b1dmov rdx, [rsp+8]
00216b22lea rax, [rdx+8]
00216b26mov [rsp+8], rax
00216b2bjmp 0x216aed
00216b2d
00216b2d 0f 1f 00 ...
00216b30
00216b30loc_216b30:
00216b30mov [rbp], 0
00216b34mov rax, [rsp+24]
00216b39sub rax, [0x28]
00216b42jne 0x216b94
00216b44add rsp, 88
00216b48mov rax, r13
00216b4bpop rbx
00216b4cpop rbp
00216b4dpop r12
00216b4fpop r13
00216b51pop r14
00216b53pop r15
00216b55ret
00216b56
00216b56 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216b60
00216b60loc_216b60:
00216b60mov rdi, rbp
00216b63call fn_f4250
00216b68mov r13, rax
00216b6btest rax, rax
00216b6ejne 0x216ab3
00216b74
00216b74loc_216b74:
00216b74test rbp, rbp
00216b77je 0x216ab3
00216b7dcall caml_raise_out_of_memory
00216b82nop [rax+rax]
00216b88
00216b88loc_216b88:
00216b88mov ebp, 1
00216b8dxor ebx, ebx
00216b8fjmp 0x216a84
00216b94
00216b94loc_216b94:
00216b94call fn_f4590
002169d0
00216b99
00216b99 // align 0x10
00216b99 // align 0x10
00216ba0
00216ba0fn_216ba0:
00216ba0sub rsp, 536
00216ba7pxor x5, x5
00216babmov rsi, [0x28]
00216bb4mov [rsp+520], rsi
00216bbcmov rsi, rdi
00216bbfmov rdx, rsp
00216bc2mov rdi, rsp
00216bc5lea rcx, [rsp+256]
00216bcdmov rax, [rsi+64]
00216bd1mov rax, [rax+16]
00216bd5cvtsd2ss x5, [rax]
00216bd9lea rax, [rsi+120]
00216bddnop [rax]
00216be0
00216be0loc_216be0:
00216be0movdqu x4, [rax+768]
00216be8movdqu x1, [rax]
00216becadd rdx, 16
00216bf0add rax, 16
00216bf4movdqu x0, [rax+240]
00216bfcmovdqu x3, [rax+496]
00216c04movdqa x2, x4
00216c08pxor x2, x0
00216c0cpxor x3, x1
00216c10movdqa x6, x0
00216c14pslld x0, 9
00216c19pxor x6, x3
00216c1dpxor x0, x3
00216c21movups [rax+240], x6
00216c28movdqa x6, x1
00216c2cpaddd x1, x4
00216c30movups [rax+496], x0
00216c37movdqa x0, x2
00216c3bpxor x6, x2
00216c3fpsrld x0, 21
00216c44pslld x2, 11
00216c49movups [rax-16], x6
00216c4dpor x0, x2
00216c51movups [rax+752], x0
00216c58movaps [rdx-16], x1
00216c5ccmp rdx, rcx
00216c5fjne 0x216be0
00216c65mov edx, 65535
00216c6axor eax, eax
00216c6cshufps x5, x5, 0
00216c70movss x13, [rip+0x1338f]
00216c79movd x4, edx
00216c7dmov edx, 0x7fffff
00216c82movss x12, [rip+0x13381]
00216c8bmovss x11, [rip+0x1337c]
00216c94movd x3, edx
00216c98mov edx, 0x3f800000
00216c9dmovss x10, [rip+0x1336e]
00216ca6movss x9, [rip+0x13369]
00216cafmovd x2, edx
00216cb3shufps x13, x13, 0
00216cb8shufps x12, x12, 0
00216cbdmovss x8, [rip+0x13356]
00216cc6shufps x11, x11, 0
00216ccbshufps x10, x10, 0
00216cd0shufps x9, x9, 0
00216cd5movss x7, [rip+0x13343]
00216cddshufps x8, x8, 0
00216ce2pshufd x4, x4, 0
00216ce7pshufd x3, x3, 0
00216cecmovss x6, [rip+0x13330]
00216cf4shufps x7, x7, 0
00216cf8pshufd x2, x2, 0
00216cfdshufps x6, x6, 0
00216d01nop [rax+rax]
00216d0cnop [rax]
00216d10
00216d10loc_216d10:
00216d10movdqa x0, [rdi+rax]
00216d15movdqa x14, x3
00216d1amovdqa x1, x0
00216d1epsrld x0, 16
00216d23cvtdq2ps x0, x0
00216d26mulps x0, x13
00216d2apand x1, x4
00216d2ecvtdq2ps x1, x1
00216d31addps x1, x0
00216d34movaps x0, x11
00216d38addps x1, x12
00216d3cpand x14, x1
00216d41psrad x1, 23
00216d46por x14, x2
00216d4bcvtdq2ps x1, x1
00216d4emulps x0, x14
00216d52mulps x1, x7
00216d55addps x0, x10
00216d59mulps x0, x14
00216d5daddps x0, x9
00216d61mulps x0, x14
00216d65addps x0, x8
00216d69addps x0, x1
00216d6cmulps x0, x5
00216d6faddps x0, x6
00216d72movaps [rcx+rax], x0
00216d76add rax, 16
00216d7acmp rax, 256
00216d80jne 0x216d10
00216d82movss x1, [rip+0x132a2]
00216d8axor eax, eax
00216d8cmov rdi, 0x8000000000000000
00216d96jmp 0x216db7
00216d98
00216d98 0f 1f 84 00 00 00 00 00 ........
00216da0
00216da0loc_216da0:
00216da0cvttss2si rdx, x0
00216da5
00216da5loc_216da5:
00216da5mov [rsi+8*rax+1144], rdx
00216dadadd rax, 1
00216db1cmp rax, 64
00216db5je 0x216df0
00216db7
00216db7loc_216db7:
00216db7mov rdx, 0x3fffffffffffffff
00216dc1movss x0, [rcx+4*rax]
00216dc6comiss x0, [rip+0x1325b]
00216dcdjae 0x216da5
00216dcfcomiss x0, [rip+0x13256]
00216dd6jb 0x216da0
00216dd8subss x0, x1
00216ddccvttss2si rdx, x0
00216de1xor rdx, rdi
00216de4jmp 0x216da5
00216de6
00216de6 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216df0
00216df0loc_216df0:
00216df0mov [rsi+1656], 0
00216dfamov rax, [rsp+520]
00216e02sub rax, [0x28]
00216e0bjne 0x216e15
00216e0dadd rsp, 536
00216e14ret
00216e15
00216e15loc_216e15:
00216e15call fn_f4590
00216ba0
00216ba0fn_216ba0:
00216ba0sub rsp, 536
00216ba7pxor x5, x5
00216babmov rsi, [0x28]
00216bb4mov [rsp+520], rsi
00216bbcmov rsi, rdi
00216bbfmov rdx, rsp
00216bc2mov rdi, rsp
00216bc5lea rcx, [rsp+256]
00216bcdmov rax, [rsi+64]
00216bd1mov rax, [rax+16]
00216bd5cvtsd2ss x5, [rax]
00216bd9lea rax, [rsi+120]
00216bddnop [rax]
00216be0
00216be0loc_216be0:
00216be0movdqu x4, [rax+768]
00216be8movdqu x1, [rax]
00216becadd rdx, 16
00216bf0add rax, 16
00216bf4movdqu x0, [rax+240]
00216bfcmovdqu x3, [rax+496]
00216c04movdqa x2, x4
00216c08pxor x2, x0
00216c0cpxor x3, x1
00216c10movdqa x6, x0
00216c14pslld x0, 9
00216c19pxor x6, x3
00216c1dpxor x0, x3
00216c21movups [rax+240], x6
00216c28movdqa x6, x1
00216c2cpaddd x1, x4
00216c30movups [rax+496], x0
00216c37movdqa x0, x2
00216c3bpxor x6, x2
00216c3fpsrld x0, 21
00216c44pslld x2, 11
00216c49movups [rax-16], x6
00216c4dpor x0, x2
00216c51movups [rax+752], x0
00216c58movaps [rdx-16], x1
00216c5ccmp rdx, rcx
00216c5fjne 0x216be0
00216c65mov edx, 65535
00216c6axor eax, eax
00216c6cshufps x5, x5, 0
00216c70movss x13, [rip+0x1338f]
00216c79movd x4, edx
00216c7dmov edx, 0x7fffff
00216c82movss x12, [rip+0x13381]
00216c8bmovss x11, [rip+0x1337c]
00216c94movd x3, edx
00216c98mov edx, 0x3f800000
00216c9dmovss x10, [rip+0x1336e]
00216ca6movss x9, [rip+0x13369]
00216cafmovd x2, edx
00216cb3shufps x13, x13, 0
00216cb8shufps x12, x12, 0
00216cbdmovss x8, [rip+0x13356]
00216cc6shufps x11, x11, 0
00216ccbshufps x10, x10, 0
00216cd0shufps x9, x9, 0
00216cd5movss x7, [rip+0x13343]
00216cddshufps x8, x8, 0
00216ce2pshufd x4, x4, 0
00216ce7pshufd x3, x3, 0
00216cecmovss x6, [rip+0x13330]
00216cf4shufps x7, x7, 0
00216cf8pshufd x2, x2, 0
00216cfdshufps x6, x6, 0
00216d01nop [rax+rax]
00216d0cnop [rax]
00216d10
00216d10loc_216d10:
00216d10movdqa x0, [rdi+rax]
00216d15movdqa x14, x3
00216d1amovdqa x1, x0
00216d1epsrld x0, 16
00216d23cvtdq2ps x0, x0
00216d26mulps x0, x13
00216d2apand x1, x4
00216d2ecvtdq2ps x1, x1
00216d31addps x1, x0
00216d34movaps x0, x11
00216d38addps x1, x12
00216d3cpand x14, x1
00216d41psrad x1, 23
00216d46por x14, x2
00216d4bcvtdq2ps x1, x1
00216d4emulps x0, x14
00216d52mulps x1, x7
00216d55addps x0, x10
00216d59mulps x0, x14
00216d5daddps x0, x9
00216d61mulps x0, x14
00216d65addps x0, x8
00216d69addps x0, x1
00216d6cmulps x0, x5
00216d6faddps x0, x6
00216d72movaps [rcx+rax], x0
00216d76add rax, 16
00216d7acmp rax, 256
00216d80jne 0x216d10
00216d82movss x1, [rip+0x132a2]
00216d8axor eax, eax
00216d8cmov rdi, 0x8000000000000000
00216d96jmp 0x216db7
00216d98
00216d98 0f 1f 84 00 00 00 00 00 ........
00216da0
00216da0loc_216da0:
00216da0cvttss2si rdx, x0
00216da5
00216da5loc_216da5:
00216da5mov [rsi+8*rax+1144], rdx
00216dadadd rax, 1
00216db1cmp rax, 64
00216db5je 0x216df0
00216db7
00216db7loc_216db7:
00216db7mov rdx, 0x3fffffffffffffff
00216dc1movss x0, [rcx+4*rax]
00216dc6comiss x0, [rip+0x1325b]
00216dcdjae 0x216da5
00216dcfcomiss x0, [rip+0x13256]
00216dd6jb 0x216da0
00216dd8subss x0, x1
00216ddccvttss2si rdx, x0
00216de1xor rdx, rdi
00216de4jmp 0x216da5
00216de6
00216de6 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216df0
00216df0loc_216df0:
00216df0mov [rsi+1656], 0
00216dfamov rax, [rsp+520]
00216e02sub rax, [0x28]
00216e0bjne 0x216e15
00216e0dadd rsp, 536
00216e14ret
00216e15
00216e15loc_216e15:
00216e15call fn_f4590
00216ba0
00216e1a
00216e1a // align 0x10
00216e1a // align 0x10
00216e20
00216e20fn_216e20:
00216e20mov rcx, [rdi+56]
00216e24mov rax, [rsi]
00216e27lea rdx, [rdi+56]
00216e2bmov rdi, [rsi+16]
00216e2fmov rsi, rcx
00216e32jmp rax
00216e34db 0x89
00216e35db 0xce
00216e36jmp rax
00216e20
00216e20fn_216e20:
00216e20mov rcx, [rdi+56]
00216e24mov rax, [rsi]
00216e27lea rdx, [rdi+56]
00216e2bmov rdi, [rsi+16]
00216e2fmov rsi, rcx
00216e32jmp rax
00216e34db 0x89
00216e35db 0xce
00216e36jmp rax
00216e20
00216e38
00216e38 // align 0x10
00216e38 // align 0x10
00216e40
00216e40fn_216e40:
00216e40mov rax, [rdi+24]
00216e44mov [rdi+32], rax
00216e48ret
00216e49db 0x89
00216e4aand r11b, r8b
00216e40
00216e40fn_216e40:
00216e40mov rax, [rdi+24]
00216e44mov [rdi+32], rax
00216e48ret
00216e49db 0x89
00216e4aand r11b, r8b
00216e40
00216e4d
00216e4d // align 0x10
00216e4d // align 0x10
00216e50
00216e50fn_216e50:
00216e50test [rdi+40], 4
00216e54jne 0x216ea0
00216e56mov rax, [rdi]
00216e59test al, 1
00216e5bjne 0x216ea0
00216e5dcmp rax, [rip+0x161760]
00216e64jae 0x216e73
00216e66cmp [rip+0x16175f], rax
00216e6djb 0x216ea0
00216e6fmov rax, [rax-8]
00216e73
00216e73loc_216e73:
00216e73and eax, 768
00216e78cmp [rip+0x161545], rax
00216e7fjne 0x216ea0
00216e81or [rdi+40], 32
00216e85mov eax, 1
00216e8amov [rdi], 1
00216e91ret
00216e92db 0x00
00216e93add [rax], al
00216e95ret
00216e96
00216e96 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216ea0
00216ea0loc_216ea0:
00216ea0xor eax, eax
00216ea2ret
00216e50
00216e50fn_216e50:
00216e50test [rdi+40], 4
00216e54jne 0x216ea0
00216e56mov rax, [rdi]
00216e59test al, 1
00216e5bjne 0x216ea0
00216e5dcmp rax, [rip+0x161760]
00216e64jae 0x216e73
00216e66cmp [rip+0x16175f], rax
00216e6djb 0x216ea0
00216e6fmov rax, [rax-8]
00216e73
00216e73loc_216e73:
00216e73and eax, 768
00216e78cmp [rip+0x161545], rax
00216e7fjne 0x216ea0
00216e81or [rdi+40], 32
00216e85mov eax, 1
00216e8amov [rdi], 1
00216e91ret
00216e92db 0x00
00216e93add [rax], al
00216e95ret
00216e96
00216e96 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216ea0
00216ea0loc_216ea0:
00216ea0xor eax, eax
00216ea2ret
00216e50
00216ea3
00216ea3 // align 0x10
00216ea3 // align 0x10
00216eb0
00216eb0fn_216eb0:
00216eb0mov rax, [rdi+16]
00216eb4mov rcx, rax
00216eb7or rcx, rsi
00216ebaje 0x216f30
00216ebcpush rbp
00216ebdmov rbp, rdi
00216ec0push rbx
00216ec1sub rsp, 8
00216ec5add rsi, [rdi+24]
00216ec9cmp rax, rsi
00216eccjb 0x216f20
00216ecelea rdx, [4*rsi]
00216ed6cmp rdx, rax
00216ed9jae 0x216f0f
00216edbmov rdx, [rdi+8]
00216edfcmp rax, rdx
00216ee2je 0x216f0f
00216ee4
00216ee4loc_216ee4:
00216ee4add rsi, rsi
00216ee7mov rbx, rdx
00216eeamov rdi, [rbp]
00216eeecmp rsi, rdx
00216ef1cmovae rbx, rsi
00216ef5lea rsi, [rbx+2*rbx]
00216ef9shl rsi, 4
00216efdcall caml_stat_resize_noexc
00216f02test rax, rax
00216f05je 0x216f40
00216f07mov [rbp], rax
00216f0bmov [rbp+16], rbx
00216f0f
00216f0floc_216f0f:
00216f0fmov eax, 1
00216f14
00216f14loc_216f14:
00216f14add rsp, 8
00216f18pop rbx
00216f19pop rbp
00216f1aret
00216f1b
00216f1b 0f 1f 44 00 00 ..D..
00216f20
00216f20loc_216f20:
00216f20mov rdx, [rdi+8]
00216f24jmp 0x216ee4
00216f26
00216f26 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216f30
00216f30loc_216f30:
00216f30mov eax, 1
00216f35ret
00216f36
00216f36 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216f40
00216f40loc_216f40:
00216f40xor eax, eax
00216f42jmp 0x216f14
00216eb0
00216eb0fn_216eb0:
00216eb0mov rax, [rdi+16]
00216eb4mov rcx, rax
00216eb7or rcx, rsi
00216ebaje 0x216f30
00216ebcpush rbp
00216ebdmov rbp, rdi
00216ec0push rbx
00216ec1sub rsp, 8
00216ec5add rsi, [rdi+24]
00216ec9cmp rax, rsi
00216eccjb 0x216f20
00216ecelea rdx, [4*rsi]
00216ed6cmp rdx, rax
00216ed9jae 0x216f0f
00216edbmov rdx, [rdi+8]
00216edfcmp rax, rdx
00216ee2je 0x216f0f
00216ee4
00216ee4loc_216ee4:
00216ee4add rsi, rsi
00216ee7mov rbx, rdx
00216eeamov rdi, [rbp]
00216eeecmp rsi, rdx
00216ef1cmovae rbx, rsi
00216ef5lea rsi, [rbx+2*rbx]
00216ef9shl rsi, 4
00216efdcall caml_stat_resize_noexc
00216f02test rax, rax
00216f05je 0x216f40
00216f07mov [rbp], rax
00216f0bmov [rbp+16], rbx
00216f0f
00216f0floc_216f0f:
00216f0fmov eax, 1
00216f14
00216f14loc_216f14:
00216f14add rsp, 8
00216f18pop rbx
00216f19pop rbp
00216f1aret
00216f1b
00216f1b 0f 1f 44 00 00 ..D..
00216f20
00216f20loc_216f20:
00216f20mov rdx, [rdi+8]
00216f24jmp 0x216ee4
00216f26
00216f26 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216f30
00216f30loc_216f30:
00216f30mov eax, 1
00216f35ret
00216f36
00216f36 66 2e 0f 1f 84 00 00 00 00 00 f.........
00216f40
00216f40loc_216f40:
00216f40xor eax, eax
00216f42jmp 0x216f14
00216eb0
00216f44
00216f44 // align 0x10
00216f44 // align 0x10
00216f50
00216f50fn_216f50:
00216f50mov rdx, [rdi+40]
00216f54cmp rdx, [rdi+24]
00216f58jae 0x216fe1
00216f5elea rcx, [rdx+2*rdx]
00216f62mov rax, rdx
00216f65shl rcx, 4
00216f69nop [rax]
00216f70
00216f70loc_216f70:
00216f70mov rsi, [rdi]
00216f73lea r8, [rsi+rcx]
00216f77test [r8+40], 64
00216f7cjne 0x216fbf
00216f7ecmp rax, rdx
00216f81je 0x216fbb
00216f83lea r9, [rdx+2*rdx]
00216f87movdqu x0, [r8]
00216f8cshl r9, 4
00216f90add rsi, r9
00216f93movups [rsi], x0
00216f96movdqu x0, [r8+16]
00216f9cmovups [rsi+16], x0
00216fa0movdqu x0, [r8+32]
00216fa6movups [rsi+32], x0
00216faamov rsi, [rdi]
00216fadmov rsi, [rsi+rcx+32]
00216fb2test rsi, rsi
00216fb5je 0x216fbb
00216fb7mov [rsi+8], rdx
00216fbb
00216fbbloc_216fbb:
00216fbbadd rdx, 1
00216fbf
00216fbfloc_216fbf:
00216fbfadd rax, 1
00216fc3cmp [rdi+32], rax
00216fc7jne 0x216fcd
00216fc9mov [rdi+32], rdx
00216fcd
00216fcdloc_216fcd:
00216fcdcmp [rdi+48], rax
00216fd1jne 0x216fd7
00216fd3mov [rdi+48], rdx
00216fd7
00216fd7loc_216fd7:
00216fd7add rcx, 48
00216fdbcmp rax, [rdi+24]
00216fdfjb 0x216f70
00216fe1
00216fe1loc_216fe1:
00216fe1mov [rdi+24], rdx
00216fe5xor esi, esi
00216fe7mov [rdi+40], rdx
00216febjmp 0x216eb0
00216f50
00216f50fn_216f50:
00216f50mov rdx, [rdi+40]
00216f54cmp rdx, [rdi+24]
00216f58jae 0x216fe1
00216f5elea rcx, [rdx+2*rdx]
00216f62mov rax, rdx
00216f65shl rcx, 4
00216f69nop [rax]
00216f70
00216f70loc_216f70:
00216f70mov rsi, [rdi]
00216f73lea r8, [rsi+rcx]
00216f77test [r8+40], 64
00216f7cjne 0x216fbf
00216f7ecmp rax, rdx
00216f81je 0x216fbb
00216f83lea r9, [rdx+2*rdx]
00216f87movdqu x0, [r8]
00216f8cshl r9, 4
00216f90add rsi, r9
00216f93movups [rsi], x0
00216f96movdqu x0, [r8+16]
00216f9cmovups [rsi+16], x0
00216fa0movdqu x0, [r8+32]
00216fa6movups [rsi+32], x0
00216faamov rsi, [rdi]
00216fadmov rsi, [rsi+rcx+32]
00216fb2test rsi, rsi
00216fb5je 0x216fbb
00216fb7mov [rsi+8], rdx
00216fbb
00216fbbloc_216fbb:
00216fbbadd rdx, 1
00216fbf
00216fbfloc_216fbf:
00216fbfadd rax, 1
00216fc3cmp [rdi+32], rax
00216fc7jne 0x216fcd
00216fc9mov [rdi+32], rdx
00216fcd
00216fcdloc_216fcd:
00216fcdcmp [rdi+48], rax
00216fd1jne 0x216fd7
00216fd3mov [rdi+48], rdx
00216fd7
00216fd7loc_216fd7:
00216fd7add rcx, 48
00216fdbcmp rax, [rdi+24]
00216fdfjb 0x216f70
00216fe1
00216fe1loc_216fe1:
00216fe1mov [rdi+24], rdx
00216fe5xor esi, esi
00216fe7mov [rdi+40], rdx
00216febjmp 0x216eb0
00216f50
00216ff0
00216ff0fn_216ff0:
00216ff0push rbp
00216ff1lea rdx, [rdi+8]
00216ff5mov rbp, rdi
00216ff8push rbx
00216ff9mov rbx, rsi
00216ffcsub rsp, 8
00217000mov rsi, [rdi+8]
00217004mov rdi, [rbx+16]
00217008call [rbx]
0021700acmp [rbx+24], 0
0021700eje 0x21702d
00217010test [rbp+40], 4
00217014jne 0x21702d
00217016mov rsi, [rbp]
0021701acmp rsi, 1
0021701eje 0x21702d
00217020mov rdi, [rbx+16]
00217024mov rdx, rbp
00217027call [rbx]
00217029add rsp, 8
0021702d
0021702dloc_21702d:
0021702dxor eax, eax
0021702fpop rbx
00217030pop rbp
00217031ret
00217032db 0xc0
00217033pop rbx
00217034pop rbp
00217035ret
00216ff0
00216ff0fn_216ff0:
00216ff0push rbp
00216ff1lea rdx, [rdi+8]
00216ff5mov rbp, rdi
00216ff8push rbx
00216ff9mov rbx, rsi
00216ffcsub rsp, 8
00217000mov rsi, [rdi+8]
00217004mov rdi, [rbx+16]
00217008call [rbx]
0021700acmp [rbx+24], 0
0021700eje 0x21702d
00217010test [rbp+40], 4
00217014jne 0x21702d
00217016mov rsi, [rbp]
0021701acmp rsi, 1
0021701eje 0x21702d
00217020mov rdi, [rbx+16]
00217024mov rdx, rbp
00217027call [rbx]
00217029add rsp, 8
0021702d
0021702dloc_21702d:
0021702dxor eax, eax
0021702fpop rbx
00217030pop rbp
00217031ret
00217032db 0xc0
00217033pop rbx
00217034pop rbp
00217035ret
00216ff0
00217036
00217036 // align 0x10
00217036 // align 0x10
00217040
00217040fn_217040:
00217040movzx edx, [rdi+40]
00217044mov eax, edx
00217046shr al, 2
00217049and eax, 1
0021704cjne 0x217070
0021704emov rcx, [rdi]
00217051test cl, 1
00217054jne 0x21706c
00217056cmp rcx, [rip+0x161567]
0021705djae 0x21706c
0021705fcmp [rip+0x161566], rcx
00217066jb 0x217078
00217068ret
00217069db 0x00
0021706ajb 0x217078
0021706c
0021706cloc_21706c:
0021706cret
0021706d
0021706d 0f 1f 00 ...
00217070
00217070loc_217070:
00217070xor eax, eax
00217072ret
00217073
00217073 0f 1f 44 00 00 ..D..
00217078
00217078loc_217078:
00217078mov rax, [rcx-8]
0021707ctest rax, rax
0021707fjne 0x217098
00217081mov rax, [rcx]
00217084or edx, 16
00217087mov [rdi+40], dl
0021708amov [rdi], rax
0021708d
0021708dloc_21708d:
0021708dmov eax, 1
00217092ret
00217093
00217093 0f 1f 44 00 00 ..D..
00217098
00217098loc_217098:
00217098or edx, 32
0021709bmov [rdi], 1
002170a2mov [rdi+40], dl
002170a5jmp 0x21708d
00217040
00217040fn_217040:
00217040movzx edx, [rdi+40]
00217044mov eax, edx
00217046shr al, 2
00217049and eax, 1
0021704cjne 0x217070
0021704emov rcx, [rdi]
00217051test cl, 1
00217054jne 0x21706c
00217056cmp rcx, [rip+0x161567]
0021705djae 0x21706c
0021705fcmp [rip+0x161566], rcx
00217066jb 0x217078
00217068ret
00217069db 0x00
0021706ajb 0x217078
0021706c
0021706cloc_21706c:
0021706cret
0021706d
0021706d 0f 1f 00 ...
00217070
00217070loc_217070:
00217070xor eax, eax
00217072ret
00217073
00217073 0f 1f 44 00 00 ..D..
00217078
00217078loc_217078:
00217078mov rax, [rcx-8]
0021707ctest rax, rax
0021707fjne 0x217098
00217081mov rax, [rcx]
00217084or edx, 16
00217087mov [rdi+40], dl
0021708amov [rdi], rax
0021708d
0021708dloc_21708d:
0021708dmov eax, 1
00217092ret
00217093
00217093 0f 1f 44 00 00 ..D..
00217098
00217098loc_217098:
00217098or edx, 32
0021709bmov [rdi], 1
002170a2mov [rdi+40], dl
002170a5jmp 0x21708d
00217040
002170a7
002170a7 // align 0x10
002170a7 // align 0x10
002170b0
002170b0fn_2170b0:
002170b0mov rax, [rdi+96]
002170b4cmp [rax], 0
002170b7jne 0x2170e1
002170b9mov rdx, [rdi+32]
002170bdcmp [rdi+56], rdx
002170c1jae 0x2170d0
002170c3
002170c3loc_2170c3:
002170c3mov [rdi+81], 1
002170c7mov rdi, [rdi]
002170cajmp 0x21fcf0
002170cf
002170cf 90 .
002170d0
002170d0loc_2170d0:
002170d0cmp [rax+48], 0
002170d5jne 0x2170c3
002170d7cmp [rdi+80], 0
002170dbjne 0x2170c3
002170ddmov [rdi+81], 0
002170e1
002170e1loc_2170e1:
002170e1ret
002170b0
002170b0fn_2170b0:
002170b0mov rax, [rdi+96]
002170b4cmp [rax], 0
002170b7jne 0x2170e1
002170b9mov rdx, [rdi+32]
002170bdcmp [rdi+56], rdx
002170c1jae 0x2170d0
002170c3
002170c3loc_2170c3:
002170c3mov [rdi+81], 1
002170c7mov rdi, [rdi]
002170cajmp 0x21fcf0
002170cf
002170cf 90 .
002170d0
002170d0loc_2170d0:
002170d0cmp [rax+48], 0
002170d5jne 0x2170c3
002170d7cmp [rdi+80], 0
002170dbjne 0x2170c3
002170ddmov [rdi+81], 0
002170e1
002170e1loc_2170e1:
002170e1ret
002170b0
002170e2
002170e2 // align 0x10
002170e2 // align 0x10
002170f0
002170f0fn_2170f0:
002170f0push rbp
002170f1push rbx
002170f2sub rsp, 8
002170f6mov rax, [rdi+72]
002170fatest rax, rax
002170fdje 0x217160
002170ffnop
00217100
00217100loc_217100:
00217100mov rdx, rax
00217103mov rax, [rax+64]
00217107test rax, rax
0021710ajne 0x217100
0021710clea rbx, [rdx+64]
00217110
00217110loc_217110:
00217110lea rbp, [rip+0x161aa9]
00217117mov rdi, rbp
0021711acall fn_f4710
0021711ftest eax, eax
00217121jne 0x217166
00217123mov rax, [rip+0x161abe]
0021712atest rax, rax
0021712dje 0x217148
0021712fmov [rbx], rax
00217132mov [rip+0x161aab], 0
0021713dmov [rip+0x161a58], 0
00217148
00217148loc_217148:
00217148mov rdi, rbp
0021714bcall fn_f47c0
00217150test eax, eax
00217152jne 0x217174
00217154add rsp, 8
00217158pop rbx
00217159pop rbp
0021715aret
0021715b
0021715b 0f 1f 44 00 00 ..D..
00217160
00217160loc_217160:
00217160lea rbx, [rdi+72]
00217164jmp 0x217110
00217166
00217166loc_217166:
00217166mov esi, eax
00217168lea rdi, [rip+0x183a0]
0021716fcall caml_plat_fatal_error
00217174
00217174loc_217174:
00217174mov esi, eax
00217176lea rdi, [rip+0x1839d]
0021717dcall caml_plat_fatal_error
002170f0
002170f0fn_2170f0:
002170f0push rbp
002170f1push rbx
002170f2sub rsp, 8
002170f6mov rax, [rdi+72]
002170fatest rax, rax
002170fdje 0x217160
002170ffnop
00217100
00217100loc_217100:
00217100mov rdx, rax
00217103mov rax, [rax+64]
00217107test rax, rax
0021710ajne 0x217100
0021710clea rbx, [rdx+64]
00217110
00217110loc_217110:
00217110lea rbp, [rip+0x161aa9]
00217117mov rdi, rbp
0021711acall fn_f4710
0021711ftest eax, eax
00217121jne 0x217166
00217123mov rax, [rip+0x161abe]
0021712atest rax, rax
0021712dje 0x217148
0021712fmov [rbx], rax
00217132mov [rip+0x161aab], 0
0021713dmov [rip+0x161a58], 0
00217148
00217148loc_217148:
00217148mov rdi, rbp
0021714bcall fn_f47c0
00217150test eax, eax
00217152jne 0x217174
00217154add rsp, 8
00217158pop rbx
00217159pop rbp
0021715aret
0021715b
0021715b 0f 1f 44 00 00 ..D..
00217160
00217160loc_217160:
00217160lea rbx, [rdi+72]
00217164jmp 0x217110
00217166
00217166loc_217166:
00217166mov esi, eax
00217168lea rdi, [rip+0x183a0]
0021716fcall caml_plat_fatal_error
00217174
00217174loc_217174:
00217174mov esi, eax
00217176lea rdi, [rip+0x1839d]
0021717dcall caml_plat_fatal_error
002170f0
00217182
00217182 // align 0x10
00217182 // align 0x10
00217190
00217190fn_217190:
00217190push r15
00217192push r14
00217194push r13
00217196mov r13, rdi
00217199xor edi, edi
0021719bpush r12
0021719dpush rbp
0021719emov rbp, rsi
002171a1push rbx
002171a2mov ebx, r8l
002171a5sub rsp, 40
002171a9mov [rsp+8], rdx
002171aemov [rsp+16], rcx
002171b3call caml_atom
002171b8lea rdx, [r13+112]
002171bclea rsi, [r13+104]
002171c0mov rcx, -1
002171c7mov r12, rax
002171camov rax, [r13+64]
002171cemov rdi, [rax+24]
002171d2sar rdi, 1
002171d5movsxd rdi, edi
002171d8call caml_get_callstack
002171ddtest rax, rax
002171e0jne 0x217290
002171e6cmp [r13+112], 256
002171eeja 0x2172f0
002171f4
002171f4loc_2171f4:
002171f4xor r15l, r15l
002171f7cmp rbp, [rip+0x1613ca]
002171fejae 0x21720b
00217200cmp [rip+0x1613c9], rbp
00217207setb r15b
0021720b
0021720bloc_21720b:
0021720bmov r14, [r13+96]
0021720fmov esi, 1
00217214lea rdi, [r14+24]
00217218call fn_216eb0
0021721dtest al, al
0021721fje 0x217277
00217221mov rax, [r14+48]
00217225movzx r15l, r15b
00217229and ebx, 3
0021722cshl r15l, 3
00217230lea rcx, [rax+1]
00217234lea rax, [rax+2*rax]
00217238or ebx, r15l
0021723bshl rax, 4
0021723fadd rax, [r14+24]
00217243mov [r14+48], rcx
00217247mov rcx, [rsp+8]
0021724cmovzx edx, [rax+40]
00217250mov [rax], rbp
00217253mov [rax+8], r12
00217257mov [rax+16], rcx
0021725band dx, -4096
00217260mov rcx, [rsp+16]
00217265or ebx, edx
00217267mov [rax+32], 0
0021726fmov [rax+24], rcx
00217273mov [rax+40], bx
00217277
00217277loc_217277:
00217277add rsp, 40
0021727bmov rdi, r13
0021727epop rbx
0021727fpop rbp
00217280pop r12
00217282pop r13
00217284pop r14
00217286pop r15
00217288jmp 0x2170b0
0021728d
0021728d 0f 1f 00 ...
00217290
00217290loc_217290:
00217290lea r15, [8*rax+8]
00217298mov [rsp+24], rax
0021729dmov rdi, r15
002172a0call caml_stat_alloc_noexc
002172a5mov r14, rax
002172a8test rax, rax
002172abje 0x2172ca
002172admov rdx, [rsp+24]
002172b2lea rdi, [rax+8]
002172b6lea r12, [r14+1]
002172bamov [rax], rdx
002172bdmov rsi, [r13+104]
002172c1lea rdx, [r15-8]
002172c5call fn_f47d0
002172ca
002172caloc_2172ca:
002172camov rax, [r13+112]
002172cecmp rax, 256
002172d4jbe 0x2171f4
002172dasub r15, 8
002172decmp r15, rax
002172e1jae 0x2171f4
002172e7nop [rax+rax]
002172f0
002172f0loc_2172f0:
002172f0mov rdi, [r13+104]
002172f4call caml_stat_free
002172f9mov [r13+104], 0
00217301mov [r13+112], 0
00217309jmp 0x2171f4
00217190
00217190fn_217190:
00217190push r15
00217192push r14
00217194push r13
00217196mov r13, rdi
00217199xor edi, edi
0021719bpush r12
0021719dpush rbp
0021719emov rbp, rsi
002171a1push rbx
002171a2mov ebx, r8l
002171a5sub rsp, 40
002171a9mov [rsp+8], rdx
002171aemov [rsp+16], rcx
002171b3call caml_atom
002171b8lea rdx, [r13+112]
002171bclea rsi, [r13+104]
002171c0mov rcx, -1
002171c7mov r12, rax
002171camov rax, [r13+64]
002171cemov rdi, [rax+24]
002171d2sar rdi, 1
002171d5movsxd rdi, edi
002171d8call caml_get_callstack
002171ddtest rax, rax
002171e0jne 0x217290
002171e6cmp [r13+112], 256
002171eeja 0x2172f0
002171f4
002171f4loc_2171f4:
002171f4xor r15l, r15l
002171f7cmp rbp, [rip+0x1613ca]
002171fejae 0x21720b
00217200cmp [rip+0x1613c9], rbp
00217207setb r15b
0021720b
0021720bloc_21720b:
0021720bmov r14, [r13+96]
0021720fmov esi, 1
00217214lea rdi, [r14+24]
00217218call fn_216eb0
0021721dtest al, al
0021721fje 0x217277
00217221mov rax, [r14+48]
00217225movzx r15l, r15b
00217229and ebx, 3
0021722cshl r15l, 3
00217230lea rcx, [rax+1]
00217234lea rax, [rax+2*rax]
00217238or ebx, r15l
0021723bshl rax, 4
0021723fadd rax, [r14+24]
00217243mov [r14+48], rcx
00217247mov rcx, [rsp+8]
0021724cmovzx edx, [rax+40]
00217250mov [rax], rbp
00217253mov [rax+8], r12
00217257mov [rax+16], rcx
0021725band dx, -4096
00217260mov rcx, [rsp+16]
00217265or ebx, edx
00217267mov [rax+32], 0
0021726fmov [rax+24], rcx
00217273mov [rax+40], bx
00217277
00217277loc_217277:
00217277add rsp, 40
0021727bmov rdi, r13
0021727epop rbx
0021727fpop rbp
00217280pop r12
00217282pop r13
00217284pop r14
00217286pop r15
00217288jmp 0x2170b0
0021728d
0021728d 0f 1f 00 ...
00217290
00217290loc_217290:
00217290lea r15, [8*rax+8]
00217298mov [rsp+24], rax
0021729dmov rdi, r15
002172a0call caml_stat_alloc_noexc
002172a5mov r14, rax
002172a8test rax, rax
002172abje 0x2172ca
002172admov rdx, [rsp+24]
002172b2lea rdi, [rax+8]
002172b6lea r12, [r14+1]
002172bamov [rax], rdx
002172bdmov rsi, [r13+104]
002172c1lea rdx, [r15-8]
002172c5call fn_f47d0
002172ca
002172caloc_2172ca:
002172camov rax, [r13+112]
002172cecmp rax, 256
002172d4jbe 0x2171f4
002172dasub r15, 8
002172decmp r15, rax
002172e1jae 0x2171f4
002172e7nop [rax+rax]
002172f0
002172f0loc_2172f0:
002172f0mov rdi, [r13+104]
002172f4call caml_stat_free
002172f9mov [r13+104], 0
00217301mov [r13+112], 0
00217309jmp 0x2171f4
00217190
0021730e
0021730e // align 0x10
0021730e // align 0x10
00217310
00217310fn_217310:
00217310push rbp
00217311push rbx
00217312mov rbx, rdi
00217315sub rsp, 8
00217319mov rbp, [rdi+88]
0021731dmov rdi, [rdi+24]
00217321test rdi, rdi
00217324je 0x217333
00217326call caml_stat_free
0021732bmov [rbx+24], 0
00217333
00217333loc_217333:
00217333pxor x0, x0
00217337mov [rbx+72], 0
0021733fmov [rbx+80], 1
00217347movups [rbx+40], x0
0021734bmovups [rbx+56], x0
0021734fcmp [rbp+96], rbx
00217353je 0x217388
00217355mov rax, [rbp+88]
00217359cmp rbx, rax
0021735cje 0x217399
0021735enop
00217360
00217360loc_217360:
00217360mov rdx, rax
00217363mov rax, [rax+96]
00217367cmp rbx, rax
0021736ajne 0x217360
0021736cadd rdx, 96
00217370
00217370loc_217370:
00217370mov rax, [rbx+96]
00217374mov rdi, rbx
00217377mov [rdx], rax
0021737aadd rsp, 8
0021737epop rbx
0021737fpop rbp
00217380jmp 0x216690
00217385
00217385 0f 1f 00 ...
00217388
00217388loc_217388:
00217388mov rax, [rbp+88]
0021738cmov [rbp+96], 0
00217394cmp rbx, rax
00217397jne 0x217360
00217399
00217399loc_217399:
00217399lea rdx, [rbp+88]
0021739djmp 0x217370
00217310
00217310fn_217310:
00217310push rbp
00217311push rbx
00217312mov rbx, rdi
00217315sub rsp, 8
00217319mov rbp, [rdi+88]
0021731dmov rdi, [rdi+24]
00217321test rdi, rdi
00217324je 0x217333
00217326call caml_stat_free
0021732bmov [rbx+24], 0
00217333
00217333loc_217333:
00217333pxor x0, x0
00217337mov [rbx+72], 0
0021733fmov [rbx+80], 1
00217347movups [rbx+40], x0
0021734bmovups [rbx+56], x0
0021734fcmp [rbp+96], rbx
00217353je 0x217388
00217355mov rax, [rbp+88]
00217359cmp rbx, rax
0021735cje 0x217399
0021735enop
00217360
00217360loc_217360:
00217360mov rdx, rax
00217363mov rax, [rax+96]
00217367cmp rbx, rax
0021736ajne 0x217360
0021736cadd rdx, 96
00217370
00217370loc_217370:
00217370mov rax, [rbx+96]
00217374mov rdi, rbx
00217377mov [rdx], rax
0021737aadd rsp, 8
0021737epop rbx
0021737fpop rbp
00217380jmp 0x216690
00217385
00217385 0f 1f 00 ...
00217388
00217388loc_217388:
00217388mov rax, [rbp+88]
0021738cmov [rbp+96], 0
00217394cmp rbx, rax
00217397jne 0x217360
00217399
00217399loc_217399:
00217399lea rdx, [rbp+88]
0021739djmp 0x217370
00217310
0021739f
0021739f // align 0x10
0021739f // align 0x10
002173a0
002173a0fn_2173a0:
002173a0mov rax, [rdi+56]
002173a4cmp rax, 1
002173a8je 0x2173b5
002173aamov rdx, [rax]
002173adsar rdx, 1
002173b0cmp edx, 2
002173b3je 0x2173c0
002173b5
002173b5loc_2173b5:
002173b5ret
002173b6
002173b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002173c0
002173c0loc_2173c0:
002173c0mov esi, 1
002173c5sub rsp, 24
002173c9xor edx, edx
002173cbxor eax, eax
002173cdmovq x0, rsi
002173d2cmp [rdi+24], 0
002173d7mov [rdi+56], 1
002173dfpunpcklqdq x0, x0
002173e3jne 0x21740e
002173e5jmp 0x217440
002173e7
002173e7 66 66 2e 0f 1f 84 00 00 00 ff.......
002173f0 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ..ff............
00217400
00217400loc_217400:
00217400add rax, 1
00217404add rdx, 48
00217408cmp rax, [rdi+24]
0021740cjae 0x217440
0021740e
0021740eloc_21740e:
0021740emov rcx, [rdi]
00217411add rcx, rdx
00217414cmp [rcx+32], 0
00217419jne 0x217400
0021741bmovzx esi, [rcx+40]
0021741fmovups [rcx], x0
00217422and esi, -69
00217425or esi, 64
00217428mov [rcx+40], sil
0021742ccmp rax, [rdi+40]
00217430jae 0x217400
00217432mov [rdi+40], rax
00217436jmp 0x217400
00217438
00217438 0f 1f 84 00 00 00 00 00 ........
00217440
00217440loc_217440:
00217440mov [rsp+8], rdi
00217445call fn_216f50
0021744amov rdi, [rsp+8]
0021744fmov rax, [rdi+56]
00217453add rsp, 24
00217457ret
002173a0
002173a0fn_2173a0:
002173a0mov rax, [rdi+56]
002173a4cmp rax, 1
002173a8je 0x2173b5
002173aamov rdx, [rax]
002173adsar rdx, 1
002173b0cmp edx, 2
002173b3je 0x2173c0
002173b5
002173b5loc_2173b5:
002173b5ret
002173b6
002173b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002173c0
002173c0loc_2173c0:
002173c0mov esi, 1
002173c5sub rsp, 24
002173c9xor edx, edx
002173cbxor eax, eax
002173cdmovq x0, rsi
002173d2cmp [rdi+24], 0
002173d7mov [rdi+56], 1
002173dfpunpcklqdq x0, x0
002173e3jne 0x21740e
002173e5jmp 0x217440
002173e7
002173e7 66 66 2e 0f 1f 84 00 00 00 ff.......
002173f0 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ..ff............
00217400
00217400loc_217400:
00217400add rax, 1
00217404add rdx, 48
00217408cmp rax, [rdi+24]
0021740cjae 0x217440
0021740e
0021740eloc_21740e:
0021740emov rcx, [rdi]
00217411add rcx, rdx
00217414cmp [rcx+32], 0
00217419jne 0x217400
0021741bmovzx esi, [rcx+40]
0021741fmovups [rcx], x0
00217422and esi, -69
00217425or esi, 64
00217428mov [rcx+40], sil
0021742ccmp rax, [rdi+40]
00217430jae 0x217400
00217432mov [rdi+40], rax
00217436jmp 0x217400
00217438
00217438 0f 1f 84 00 00 00 00 00 ........
00217440
00217440loc_217440:
00217440mov [rsp+8], rdi
00217445call fn_216f50
0021744amov rdi, [rsp+8]
0021744fmov rax, [rdi+56]
00217453add rsp, 24
00217457ret
002173a0
00217458
00217458 // align 0x10
00217458 // align 0x10
00217460
00217460fn_217460:
00217460push r15
00217462mov r15l, esi
00217465push r14
00217467mov r14, rdi
0021746apush r13
0021746cmov r13, r8
0021746fpush r12
00217471mov r12, rdx
00217474push rbp
00217475mov rbp, rcx
00217478push rbx
00217479sub rsp, 8
0021747dcall fn_2173a0
00217482cmp rax, 1
00217486je 0x2174f0
00217488xor ebx, ebx
0021748atest r15b, r15b
0021748dje 0x2174c3
0021748fmov rbx, [r14+32]
00217493cmp rbx, [r14+24]
00217497jae 0x2174c9
00217499nop [rax]
002174a0
002174a0loc_2174a0:
002174a0lea rdi, [rbx+2*rbx]
002174a4mov rsi, rbp
002174a7shl rdi, 4
002174abadd rdi, [r14]
002174aecall r12
002174b1test al, al
002174b3je 0x2174bf
002174b5cmp rbx, [r14+48]
002174b9jae 0x2174bf
002174bbmov [r14+48], rbx
002174bf
002174bfloc_2174bf:
002174bfadd rbx, 1
002174c3
002174c3loc_2174c3:
002174c3cmp rbx, [r14+24]
002174c7jb 0x2174a0
002174c9
002174c9loc_2174c9:
002174c9test r13, r13
002174ccje 0x2174f0
002174ceadd rsp, 8
002174d2mov rsi, rbp
002174d5mov rdi, r14
002174d8mov rax, r13
002174dbpop rbx
002174dcpop rbp
002174ddpop r12
002174dfpop r13
002174e1pop r14
002174e3pop r15
002174e5jmp rax
002174e7nop [rax+rax]
002174f0
002174f0loc_2174f0:
002174f0add rsp, 8
002174f4pop rbx
002174f5pop rbp
002174f6pop r12
002174f8pop r13
002174fapop r14
002174fcpop r15
002174feret
00217460
00217460fn_217460:
00217460push r15
00217462mov r15l, esi
00217465push r14
00217467mov r14, rdi
0021746apush r13
0021746cmov r13, r8
0021746fpush r12
00217471mov r12, rdx
00217474push rbp
00217475mov rbp, rcx
00217478push rbx
00217479sub rsp, 8
0021747dcall fn_2173a0
00217482cmp rax, 1
00217486je 0x2174f0
00217488xor ebx, ebx
0021748atest r15b, r15b
0021748dje 0x2174c3
0021748fmov rbx, [r14+32]
00217493cmp rbx, [r14+24]
00217497jae 0x2174c9
00217499nop [rax]
002174a0
002174a0loc_2174a0:
002174a0lea rdi, [rbx+2*rbx]
002174a4mov rsi, rbp
002174a7shl rdi, 4
002174abadd rdi, [r14]
002174aecall r12
002174b1test al, al
002174b3je 0x2174bf
002174b5cmp rbx, [r14+48]
002174b9jae 0x2174bf
002174bbmov [r14+48], rbx
002174bf
002174bfloc_2174bf:
002174bfadd rbx, 1
002174c3
002174c3loc_2174c3:
002174c3cmp rbx, [r14+24]
002174c7jb 0x2174a0
002174c9
002174c9loc_2174c9:
002174c9test r13, r13
002174ccje 0x2174f0
002174ceadd rsp, 8
002174d2mov rsi, rbp
002174d5mov rdi, r14
002174d8mov rax, r13
002174dbpop rbx
002174dcpop rbp
002174ddpop r12
002174dfpop r13
002174e1pop r14
002174e3pop r15
002174e5jmp rax
002174e7nop [rax+rax]
002174f0
002174f0loc_2174f0:
002174f0add rsp, 8
002174f4pop rbx
002174f5pop rbp
002174f6pop r12
002174f8pop r13
002174fapop r14
002174fcpop r15
002174feret
00217460
002174ff
002174ff // align 0x10
002174ff // align 0x10
00217500
00217500fn_217500:
00217500push r15
00217502mov r15, rdi
00217505add rdi, 8
00217509push r14
0021750bmov r14, r8
0021750epush r13
00217510mov r13, rcx
00217513push r12
00217515mov r12, rdx
00217518push rbp
00217519movzx ebp, sil
0021751dpush rbx
0021751emov esi, ebp
00217520sub rsp, 8
00217524call fn_217460
00217529mov rbx, [r15+88]
0021752dtest rbx, rbx
00217530je 0x21755d
00217532nop [rax+rax]
0021753dnop [rax]
00217540
00217540loc_217540:
00217540lea rdi, [rbx+24]
00217544mov r8, r14
00217547mov rcx, r13
0021754amov rdx, r12
0021754dmov esi, ebp
0021754fcall fn_217460
00217554mov rbx, [rbx+96]
00217558test rbx, rbx
0021755bjne 0x217540
0021755d
0021755dloc_21755d:
0021755dmov rbx, [r15+72]
00217561test rbx, rbx
00217564je 0x21758c
00217566nop [rax+rax]
00217570
00217570loc_217570:
00217570mov rdi, rbx
00217573mov r8, r14
00217576mov rcx, r13
00217579mov rdx, r12
0021757cmov esi, ebp
0021757ecall fn_217460
00217583mov rbx, [rbx+64]
00217587test rbx, rbx
0021758ajne 0x217570
0021758c
0021758cloc_21758c:
0021758cadd rsp, 8
00217590pop rbx
00217591pop rbp
00217592pop r12
00217594pop r13
00217596pop r14
00217598pop r15
0021759aret
00217500
00217500fn_217500:
00217500push r15
00217502mov r15, rdi
00217505add rdi, 8
00217509push r14
0021750bmov r14, r8
0021750epush r13
00217510mov r13, rcx
00217513push r12
00217515mov r12, rdx
00217518push rbp
00217519movzx ebp, sil
0021751dpush rbx
0021751emov esi, ebp
00217520sub rsp, 8
00217524call fn_217460
00217529mov rbx, [r15+88]
0021752dtest rbx, rbx
00217530je 0x21755d
00217532nop [rax+rax]
0021753dnop [rax]
00217540
00217540loc_217540:
00217540lea rdi, [rbx+24]
00217544mov r8, r14
00217547mov rcx, r13
0021754amov rdx, r12
0021754dmov esi, ebp
0021754fcall fn_217460
00217554mov rbx, [rbx+96]
00217558test rbx, rbx
0021755bjne 0x217540
0021755d
0021755dloc_21755d:
0021755dmov rbx, [r15+72]
00217561test rbx, rbx
00217564je 0x21758c
00217566nop [rax+rax]
00217570
00217570loc_217570:
00217570mov rdi, rbx
00217573mov r8, r14
00217576mov rcx, r13
00217579mov rdx, r12
0021757cmov esi, ebp
0021757ecall fn_217460
00217583mov rbx, [rbx+64]
00217587test rbx, rbx
0021758ajne 0x217570
0021758c
0021758cloc_21758c:
0021758cadd rsp, 8
00217590pop rbx
00217591pop rbp
00217592pop r12
00217594pop r13
00217596pop r14
00217598pop r15
0021759aret
00217500
0021759b
0021759b // align 0x10
0021759b // align 0x10
002175a0
002175a0fn_2175a0:
002175a0push r15
002175a2lea rax, [rdx+2*rdx]
002175a6push r14
002175a8shl rax, 4
002175acpush r13
002175aepush r12
002175b0push rbp
002175b1push rbx
002175b2sub rsp, 40
002175b6add rax, [rsi]
002175b9cmp [rax+32], 0
002175beje 0x2175f8
002175c0
002175c0loc_2175c0:
002175c0xor r12l, r12l
002175c3mov r13l, 1
002175c9mov rsi, 0xffffffff00000000
002175d3mov rcx, r12
002175d6and rcx, rsi
002175d9mov r12, rcx
002175dc
002175dcloc_2175dc:
002175dcadd rsp, 40
002175e0mov eax, r12l
002175e3mov rdx, r13
002175e6pop rbx
002175e7pop rbp
002175e8pop r12
002175eapop r13
002175ecpop r14
002175eepop r15
002175f0ret
002175f1
002175f1 0f 1f 80 00 00 00 00 .......
002175f8
002175f8loc_2175f8:
002175f8mov rbx, rdi
002175fbmov rdi, rcx
002175felea ecx, [r9-1]
00217602mov rbp, r9
00217605mov [rbx+8], rdx
00217609mov edx, 1
0021760eshl edx, cl
00217610mov [rbx+16], rsi
00217614mov rsi, r8
00217617mov ecx, edx
00217619movzx edx, [rax+41]
0021761dmov [rax+32], rbx
00217621mov [rax+8], 1
00217629shr dl, 1
0021762band edx, 7
0021762eor edx, ecx
00217630mov ecx, r9l
00217633shl ecx, 7
00217636shl edx, 9
00217639or edx, ecx
0021763bmovzx ecx, [rax+40]
0021763fand dx, 3968
00217644and cx, -3969
00217649or edx, ecx
0021764bmov [rax+40], dx
0021764fcall caml_callback_res
00217654mov r14, [rbx+16]
00217658mov r15, [rbx+8]
0021765cmov [rbx+16], 0
00217664mov [rsp+28], eax
00217668mov r12, rax
0021766bmov r13, rdx
0021766emov rcx, [r14]
00217671lea rbx, [r15+2*r15]
00217675mov [rsp+8], rdx
0021767amov rdi, r14
0021767dshl rbx, 4
00217681add rcx, rbx
00217684and [rcx+40], -385
0021768amov [rcx+32], 0
00217692mov [rsp+16], rcx
00217697call fn_2173a0
0021769cmov rcx, [rsp+16]
002176a1cmp rax, 1
002176a5je 0x217720
002176a7mov eax, [rsp+28]
002176abtest eax, eax
002176adjne 0x21772c
002176afcmp [rsp+8], 1
002176b5je 0x21772c
002176b7mov rax, [rsp+8]
002176bcmov rax, [rax]
002176bfmov [rcx+8], rax
002176c3test al, 1
002176c5jne 0x2176f0
002176c7cmp rax, [rip+0x160efa]
002176cejae 0x2176f0
002176d0cmp [rip+0x160ef9], rax
002176d7jae 0x2176f0
002176d9cmp r15, [r14+32]
002176ddjae 0x2176f0
002176dfmov [r14+32], r15
002176e3nop [rax+rax]
002176eenop
002176f0
002176f0loc_2176f0:
002176f0cmp r15, [r14+48]
002176f4jae 0x2175c0
002176famovzx eax, [rcx+40]
002176fetest al, 32
00217700jne 0x217714
00217702test al, 16
00217704je 0x2175c0
0021770acmp rbp, 2
0021770eje 0x2175c0
00217714
00217714loc_217714:
00217714mov [r14+48], r15
00217718jmp 0x2175c0
0021771d
0021771d 0f 1f 00 ...
00217720
00217720loc_217720:
00217720mov edx, [rsp+28]
00217724test edx, edx
00217726je 0x2175c0
0021772c
0021772cloc_21772c:
0021772cadd rbx, [r14]
0021772fmovzx eax, [rbx+40]
00217733and eax, -69
00217736or eax, 64
00217739mov [rbx+40], al
0021773cmov eax, 1
00217741movq x0, rax
00217746punpcklqdq x0, x0
0021774amovups [rbx], x0
0021774dcmp r15, [r14+40]
00217751jae 0x2175dc
00217757mov [r14+40], r15
0021775bjmp 0x2175dc
002175a0
002175a0fn_2175a0:
002175a0push r15
002175a2lea rax, [rdx+2*rdx]
002175a6push r14
002175a8shl rax, 4
002175acpush r13
002175aepush r12
002175b0push rbp
002175b1push rbx
002175b2sub rsp, 40
002175b6add rax, [rsi]
002175b9cmp [rax+32], 0
002175beje 0x2175f8
002175c0
002175c0loc_2175c0:
002175c0xor r12l, r12l
002175c3mov r13l, 1
002175c9mov rsi, 0xffffffff00000000
002175d3mov rcx, r12
002175d6and rcx, rsi
002175d9mov r12, rcx
002175dc
002175dcloc_2175dc:
002175dcadd rsp, 40
002175e0mov eax, r12l
002175e3mov rdx, r13
002175e6pop rbx
002175e7pop rbp
002175e8pop r12
002175eapop r13
002175ecpop r14
002175eepop r15
002175f0ret
002175f1
002175f1 0f 1f 80 00 00 00 00 .......
002175f8
002175f8loc_2175f8:
002175f8mov rbx, rdi
002175fbmov rdi, rcx
002175felea ecx, [r9-1]
00217602mov rbp, r9
00217605mov [rbx+8], rdx
00217609mov edx, 1
0021760eshl edx, cl
00217610mov [rbx+16], rsi
00217614mov rsi, r8
00217617mov ecx, edx
00217619movzx edx, [rax+41]
0021761dmov [rax+32], rbx
00217621mov [rax+8], 1
00217629shr dl, 1
0021762band edx, 7
0021762eor edx, ecx
00217630mov ecx, r9l
00217633shl ecx, 7
00217636shl edx, 9
00217639or edx, ecx
0021763bmovzx ecx, [rax+40]
0021763fand dx, 3968
00217644and cx, -3969
00217649or edx, ecx
0021764bmov [rax+40], dx
0021764fcall caml_callback_res
00217654mov r14, [rbx+16]
00217658mov r15, [rbx+8]
0021765cmov [rbx+16], 0
00217664mov [rsp+28], eax
00217668mov r12, rax
0021766bmov r13, rdx
0021766emov rcx, [r14]
00217671lea rbx, [r15+2*r15]
00217675mov [rsp+8], rdx
0021767amov rdi, r14
0021767dshl rbx, 4
00217681add rcx, rbx
00217684and [rcx+40], -385
0021768amov [rcx+32], 0
00217692mov [rsp+16], rcx
00217697call fn_2173a0
0021769cmov rcx, [rsp+16]
002176a1cmp rax, 1
002176a5je 0x217720
002176a7mov eax, [rsp+28]
002176abtest eax, eax
002176adjne 0x21772c
002176afcmp [rsp+8], 1
002176b5je 0x21772c
002176b7mov rax, [rsp+8]
002176bcmov rax, [rax]
002176bfmov [rcx+8], rax
002176c3test al, 1
002176c5jne 0x2176f0
002176c7cmp rax, [rip+0x160efa]
002176cejae 0x2176f0
002176d0cmp [rip+0x160ef9], rax
002176d7jae 0x2176f0
002176d9cmp r15, [r14+32]
002176ddjae 0x2176f0
002176dfmov [r14+32], r15
002176e3nop [rax+rax]
002176eenop
002176f0
002176f0loc_2176f0:
002176f0cmp r15, [r14+48]
002176f4jae 0x2175c0
002176famovzx eax, [rcx+40]
002176fetest al, 32
00217700jne 0x217714
00217702test al, 16
00217704je 0x2175c0
0021770acmp rbp, 2
0021770eje 0x2175c0
00217714
00217714loc_217714:
00217714mov [r14+48], r15
00217718jmp 0x2175c0
0021771d
0021771d 0f 1f 00 ...
00217720
00217720loc_217720:
00217720mov edx, [rsp+28]
00217724test edx, edx
00217726je 0x2175c0
0021772c
0021772cloc_21772c:
0021772cadd rbx, [r14]
0021772fmovzx eax, [rbx+40]
00217733and eax, -69
00217736or eax, 64
00217739mov [rbx+40], al
0021773cmov eax, 1
00217741movq x0, rax
00217746punpcklqdq x0, x0
0021774amovups [rbx], x0
0021774dcmp r15, [r14+40]
00217751jae 0x2175dc
00217757mov [r14+40], r15
0021775bjmp 0x2175dc
002175a0
00217760
00217760fn_217760:
00217760push r14
00217762mov r14, rdi
00217765push r13
00217767push r12
00217769push rbp
0021776apush rbx
0021776bsub rsp, 16
0021776fmov rbx, [rdi+72]
00217773test rbx, rbx
00217776je 0x21789d
0021777cmov eax, 1
00217781lea r13, [rdi+72]
00217785xor r12l, r12l
00217788movq x2, rax
0021778dpunpcklqdq x2, x2
00217791movaps [rsp], x2
00217795jmp 0x2177b7
00217797
00217797 66 0f 1f 84 00 00 00 00 00 f........
002177a0
002177a0loc_2177a0:
002177a0cmp [rbx+48], rax
002177a4lea r13, [rbx+64]
002177a8mov rbx, [rbx+64]
002177acsetb al
002177afor r12l, eax
002177b2test rbx, rbx
002177b5je 0x217816
002177b7
002177b7loc_2177b7:
002177b7mov rdi, rbx
002177bamov rbp, [rbx+64]
002177becall fn_2173a0
002177c3cmp rax, 1
002177c7je 0x217830
002177c9
002177c9loc_2177c9:
002177c9mov rax, [rbx+24]
002177cdtest rax, rax
002177d0jne 0x2177a0
002177d2mov rdi, [rbx]
002177d5test rdi, rdi
002177d8je 0x2177e6
002177dacall caml_stat_free
002177dfmov [rbx], 0
002177e6
002177e6loc_2177e6:
002177e6mov [rbx+48], 0
002177eepxor x0, x0
002177f2mov rdi, rbx
002177f5mov [rbx+56], 1
002177fdmovups [rbx+16], x0
00217801movups [rbx+32], x0
00217805mov rbx, rbp
00217808call caml_stat_free
0021780dmov [r13], rbp
00217811test rbx, rbx
00217814jne 0x2177b7
00217816
00217816loc_217816:
00217816mov [r14+80], r12b
0021781aadd rsp, 16
0021781epop rbx
0021781fpop rbp
00217820pop r12
00217822pop r13
00217824pop r14
00217826ret
00217827
00217827 66 0f 1f 84 00 00 00 00 00 f........
00217830
00217830loc_217830:
00217830xor edx, edx
00217832xor eax, eax
00217834cmp [rbx+24], 0
00217839jne 0x21784e
0021783bjmp 0x217890
0021783d
0021783d 0f 1f 00 ...
00217840
00217840loc_217840:
00217840add rax, 1
00217844add rdx, 48
00217848cmp rax, [rbx+24]
0021784cjae 0x217890
0021784e
0021784eloc_21784e:
0021784emov rcx, [rbx]
00217851add rcx, rdx
00217854cmp [rcx+32], 0
00217859jne 0x217840
0021785bmovzx esi, [rcx+40]
0021785fmovdqa x1, [rsp]
00217864and esi, -69
00217867movups [rcx], x1
0021786aor esi, 64
0021786dmov [rcx+40], sil
00217871cmp rax, [rbx+40]
00217875jae 0x217840
00217877mov [rbx+40], rax
0021787badd rdx, 48
0021787fadd rax, 1
00217883cmp rax, [rbx+24]
00217887jb 0x21784e
00217889nop [rax]
00217890
00217890loc_217890:
00217890mov rdi, rbx
00217893call fn_216f50
00217898jmp 0x2177c9
0021789d
0021789dloc_21789d:
0021789dxor r12l, r12l
002178a0jmp 0x217816
00217760
00217760fn_217760:
00217760push r14
00217762mov r14, rdi
00217765push r13
00217767push r12
00217769push rbp
0021776apush rbx
0021776bsub rsp, 16
0021776fmov rbx, [rdi+72]
00217773test rbx, rbx
00217776je 0x21789d
0021777cmov eax, 1
00217781lea r13, [rdi+72]
00217785xor r12l, r12l
00217788movq x2, rax
0021778dpunpcklqdq x2, x2
00217791movaps [rsp], x2
00217795jmp 0x2177b7
00217797
00217797 66 0f 1f 84 00 00 00 00 00 f........
002177a0
002177a0loc_2177a0:
002177a0cmp [rbx+48], rax
002177a4lea r13, [rbx+64]
002177a8mov rbx, [rbx+64]
002177acsetb al
002177afor r12l, eax
002177b2test rbx, rbx
002177b5je 0x217816
002177b7
002177b7loc_2177b7:
002177b7mov rdi, rbx
002177bamov rbp, [rbx+64]
002177becall fn_2173a0
002177c3cmp rax, 1
002177c7je 0x217830
002177c9
002177c9loc_2177c9:
002177c9mov rax, [rbx+24]
002177cdtest rax, rax
002177d0jne 0x2177a0
002177d2mov rdi, [rbx]
002177d5test rdi, rdi
002177d8je 0x2177e6
002177dacall caml_stat_free
002177dfmov [rbx], 0
002177e6
002177e6loc_2177e6:
002177e6mov [rbx+48], 0
002177eepxor x0, x0
002177f2mov rdi, rbx
002177f5mov [rbx+56], 1
002177fdmovups [rbx+16], x0
00217801movups [rbx+32], x0
00217805mov rbx, rbp
00217808call caml_stat_free
0021780dmov [r13], rbp
00217811test rbx, rbx
00217814jne 0x2177b7
00217816
00217816loc_217816:
00217816mov [r14+80], r12b
0021781aadd rsp, 16
0021781epop rbx
0021781fpop rbp
00217820pop r12
00217822pop r13
00217824pop r14
00217826ret
00217827
00217827 66 0f 1f 84 00 00 00 00 00 f........
00217830
00217830loc_217830:
00217830xor edx, edx
00217832xor eax, eax
00217834cmp [rbx+24], 0
00217839jne 0x21784e
0021783bjmp 0x217890
0021783d
0021783d 0f 1f 00 ...
00217840
00217840loc_217840:
00217840add rax, 1
00217844add rdx, 48
00217848cmp rax, [rbx+24]
0021784cjae 0x217890
0021784e
0021784eloc_21784e:
0021784emov rcx, [rbx]
00217851add rcx, rdx
00217854cmp [rcx+32], 0
00217859jne 0x217840
0021785bmovzx esi, [rcx+40]
0021785fmovdqa x1, [rsp]
00217864and esi, -69
00217867movups [rcx], x1
0021786aor esi, 64
0021786dmov [rcx+40], sil
00217871cmp rax, [rbx+40]
00217875jae 0x217840
00217877mov [rbx+40], rax
0021787badd rdx, 48
0021787fadd rax, 1
00217883cmp rax, [rbx+24]
00217887jb 0x21784e
00217889nop [rax]
00217890
00217890loc_217890:
00217890mov rdi, rbx
00217893call fn_216f50
00217898jmp 0x2177c9
0021789d
0021789dloc_21789d:
0021789dxor r12l, r12l
002178a0jmp 0x217816
00217760
002178a5
002178a5 // align 0x20
002178a5 // align 0x20
002178c0
002178c0fn_2178c0:
002178c0cmp [rdi+24], 0
002178c5je 0x217946
002178c7mov eax, 1
002178ccxor esi, esi
002178cexor edx, edx
002178d0movq x0, rax
002178d5punpcklqdq x0, x0
002178d9jmp 0x21790e
002178db
002178db 0f 1f 44 00 00 ..D..
002178e0
002178e0loc_2178e0:
002178e0and eax, -37
002178e3mov [rcx], 1
002178eaor eax, 32
002178edmov [rcx+40], al
002178f0cmp rdx, [rdi+48]
002178f4jae 0x217900
002178f6mov [rdi+48], rdx
002178fanop [rax+rax]
00217900
00217900loc_217900:
00217900add rdx, 1
00217904add rsi, 48
00217908cmp rdx, [rdi+24]
0021790cjae 0x217946
0021790e
0021790eloc_21790e:
0021790emov rcx, [rdi]
00217911add rcx, rsi
00217914movzx eax, [rcx+40]
00217918test al, 4
0021791aje 0x217900
0021791ctest [rcx+41], 2
00217920jne 0x2178e0
00217922and eax, -69
00217925movups [rcx], x0
00217928or eax, 64
0021792bmov [rcx+40], al
0021792ecmp rdx, [rdi+40]
00217932jae 0x217900
00217934mov [rdi+40], rdx
00217938add rsi, 48
0021793cadd rdx, 1
00217940cmp rdx, [rdi+24]
00217944jb 0x21790e
00217946
00217946loc_217946:
00217946jmp 0x216f50
002178c0
002178c0fn_2178c0:
002178c0cmp [rdi+24], 0
002178c5je 0x217946
002178c7mov eax, 1
002178ccxor esi, esi
002178cexor edx, edx
002178d0movq x0, rax
002178d5punpcklqdq x0, x0
002178d9jmp 0x21790e
002178db
002178db 0f 1f 44 00 00 ..D..
002178e0
002178e0loc_2178e0:
002178e0and eax, -37
002178e3mov [rcx], 1
002178eaor eax, 32
002178edmov [rcx+40], al
002178f0cmp rdx, [rdi+48]
002178f4jae 0x217900
002178f6mov [rdi+48], rdx
002178fanop [rax+rax]
00217900
00217900loc_217900:
00217900add rdx, 1
00217904add rsi, 48
00217908cmp rdx, [rdi+24]
0021790cjae 0x217946
0021790e
0021790eloc_21790e:
0021790emov rcx, [rdi]
00217911add rcx, rsi
00217914movzx eax, [rcx+40]
00217918test al, 4
0021791aje 0x217900
0021791ctest [rcx+41], 2
00217920jne 0x2178e0
00217922and eax, -69
00217925movups [rcx], x0
00217928or eax, 64
0021792bmov [rcx+40], al
0021792ecmp rdx, [rdi+40]
00217932jae 0x217900
00217934mov [rdi+40], rdx
00217938add rsi, 48
0021793cadd rdx, 1
00217940cmp rdx, [rdi+24]
00217944jb 0x21790e
00217946
00217946loc_217946:
00217946jmp 0x216f50
002178c0
0021794b
0021794b // align 0x10
0021794b // align 0x10
00217950
00217950fn_217950:
00217950cmp [rdi+24], 0
00217955jne 0x217960
00217957ret
00217958
00217958 0f 1f 84 00 00 00 00 00 ........
00217960
00217960loc_217960:
00217960push rbp
00217961mov rbp, rsi
00217964push rbx
00217965mov rbx, rdi
00217968sub rsp, 8
0021796ccall fn_2173a0
00217971mov rdi, rbp
00217974call fn_2173a0
00217979mov rsi, [rbx+24]
0021797dmov rdi, rbp
00217980call fn_216eb0
00217985test al, al
00217987je 0x217a40
0021798dmov rdi, [rbp+24]
00217991mov rax, [rbx+24]
00217995add rax, rdi
00217998mov [rbp+24], rax
0021799ccmp [rbx+24], 0
002179a1je 0x217a50
002179a7mov eax, 1
002179aclea r8, [rdi+2*rdi]
002179b0xor ecx, ecx
002179b2xor esi, esi
002179b4movq x1, rax
002179b9shl r8, 4
002179bdpunpcklqdq x1, x1
002179c1jmp 0x217a12
002179c3
002179c3 0f 1f 44 00 00 ..D..
002179c8
002179c8loc_2179c8:
002179c8mov rdx, [rbp]
002179ccmovdqu x0, [rax]
002179d0add rdx, rcx
002179d3add rdx, r8
002179d6movups [rdx], x0
002179d9movdqu x0, [rax+16]
002179demovups [rdx+16], x0
002179e2movdqu x0, [rax+32]
002179e7movups [rdx+32], x0
002179ebmov rax, [rbx]
002179eemov rax, [rax+rcx+32]
002179f3test rax, rax
002179f6je 0x217a04
002179f8lea rdx, [rdi+rsi]
002179fcmov [rax+16], rbp
00217a00mov [rax+8], rdx
00217a04
00217a04loc_217a04:
00217a04add rsi, 1
00217a08add rcx, 48
00217a0ccmp rsi, [rbx+24]
00217a10jae 0x217a50
00217a12
00217a12loc_217a12:
00217a12mov rax, [rbx]
00217a15add rax, rcx
00217a18test [rax+41], 14
00217a1cjne 0x2179c8
00217a1emovzx edx, [rax+40]
00217a22movups [rax], x1
00217a25and edx, -69
00217a28or edx, 64
00217a2bmov [rax+40], dl
00217a2emov rax, [rbx]
00217a31cmp rsi, [rbx+40]
00217a35jae 0x217a3b
00217a37mov [rbx+40], rsi
00217a3b
00217a3bloc_217a3b:
00217a3badd rax, rcx
00217a3ejmp 0x2179c8
00217a40
00217a40loc_217a40:
00217a40add rsp, 8
00217a44pop rbx
00217a45pop rbp
00217a46ret
00217a47
00217a47 66 0f 1f 84 00 00 00 00 00 f........
00217a50
00217a50loc_217a50:
00217a50cmp rdi, [rbp+32]
00217a54jne 0x217a61
00217a56mov rax, [rbx+32]
00217a5aadd rax, rdi
00217a5dmov [rbp+32], rax
00217a61
00217a61loc_217a61:
00217a61cmp rdi, [rbp+40]
00217a65jne 0x217a72
00217a67mov rax, [rbx+40]
00217a6badd rax, rdi
00217a6emov [rbp+40], rax
00217a72
00217a72loc_217a72:
00217a72cmp rdi, [rbp+48]
00217a76jne 0x217a80
00217a78add rdi, [rbx+48]
00217a7cmov [rbp+48], rdi
00217a80
00217a80loc_217a80:
00217a80pxor x0, x0
00217a84mov rdi, rbx
00217a87xor esi, esi
00217a89movups [rbx+24], x0
00217a8dmovups [rbx+40], x0
00217a91add rsp, 8
00217a95pop rbx
00217a96pop rbp
00217a97jmp 0x216eb0
00217950
00217950fn_217950:
00217950cmp [rdi+24], 0
00217955jne 0x217960
00217957ret
00217958
00217958 0f 1f 84 00 00 00 00 00 ........
00217960
00217960loc_217960:
00217960push rbp
00217961mov rbp, rsi
00217964push rbx
00217965mov rbx, rdi
00217968sub rsp, 8
0021796ccall fn_2173a0
00217971mov rdi, rbp
00217974call fn_2173a0
00217979mov rsi, [rbx+24]
0021797dmov rdi, rbp
00217980call fn_216eb0
00217985test al, al
00217987je 0x217a40
0021798dmov rdi, [rbp+24]
00217991mov rax, [rbx+24]
00217995add rax, rdi
00217998mov [rbp+24], rax
0021799ccmp [rbx+24], 0
002179a1je 0x217a50
002179a7mov eax, 1
002179aclea r8, [rdi+2*rdi]
002179b0xor ecx, ecx
002179b2xor esi, esi
002179b4movq x1, rax
002179b9shl r8, 4
002179bdpunpcklqdq x1, x1
002179c1jmp 0x217a12
002179c3
002179c3 0f 1f 44 00 00 ..D..
002179c8
002179c8loc_2179c8:
002179c8mov rdx, [rbp]
002179ccmovdqu x0, [rax]
002179d0add rdx, rcx
002179d3add rdx, r8
002179d6movups [rdx], x0
002179d9movdqu x0, [rax+16]
002179demovups [rdx+16], x0
002179e2movdqu x0, [rax+32]
002179e7movups [rdx+32], x0
002179ebmov rax, [rbx]
002179eemov rax, [rax+rcx+32]
002179f3test rax, rax
002179f6je 0x217a04
002179f8lea rdx, [rdi+rsi]
002179fcmov [rax+16], rbp
00217a00mov [rax+8], rdx
00217a04
00217a04loc_217a04:
00217a04add rsi, 1
00217a08add rcx, 48
00217a0ccmp rsi, [rbx+24]
00217a10jae 0x217a50
00217a12
00217a12loc_217a12:
00217a12mov rax, [rbx]
00217a15add rax, rcx
00217a18test [rax+41], 14
00217a1cjne 0x2179c8
00217a1emovzx edx, [rax+40]
00217a22movups [rax], x1
00217a25and edx, -69
00217a28or edx, 64
00217a2bmov [rax+40], dl
00217a2emov rax, [rbx]
00217a31cmp rsi, [rbx+40]
00217a35jae 0x217a3b
00217a37mov [rbx+40], rsi
00217a3b
00217a3bloc_217a3b:
00217a3badd rax, rcx
00217a3ejmp 0x2179c8
00217a40
00217a40loc_217a40:
00217a40add rsp, 8
00217a44pop rbx
00217a45pop rbp
00217a46ret
00217a47
00217a47 66 0f 1f 84 00 00 00 00 00 f........
00217a50
00217a50loc_217a50:
00217a50cmp rdi, [rbp+32]
00217a54jne 0x217a61
00217a56mov rax, [rbx+32]
00217a5aadd rax, rdi
00217a5dmov [rbp+32], rax
00217a61
00217a61loc_217a61:
00217a61cmp rdi, [rbp+40]
00217a65jne 0x217a72
00217a67mov rax, [rbx+40]
00217a6badd rax, rdi
00217a6emov [rbp+40], rax
00217a72
00217a72loc_217a72:
00217a72cmp rdi, [rbp+48]
00217a76jne 0x217a80
00217a78add rdi, [rbx+48]
00217a7cmov [rbp+48], rdi
00217a80
00217a80loc_217a80:
00217a80pxor x0, x0
00217a84mov rdi, rbx
00217a87xor esi, esi
00217a89movups [rbx+24], x0
00217a8dmovups [rbx+40], x0
00217a91add rsp, 8
00217a95pop rbx
00217a96pop rbp
00217a97jmp 0x216eb0
00217950
00217a9c
00217a9c // align 0x10
00217a9c // align 0x10
00217aa0
00217aa0fn_217aa0:
00217aa0push r13
00217aa2push r12
00217aa4mov r12, rdi
00217aa7push rbp
00217aa8xor ebp, ebp
00217aaapush rbx
00217aabsub rsp, 8
00217aafmov rbx, [rdi+88]
00217ab3test rbx, rbx
00217ab6je 0x217ad6
00217ab8nop [rax+rax]
00217ac0
00217ac0loc_217ac0:
00217ac0lea rdi, [rbx+24]
00217ac4call fn_2178c0
00217ac9add rbp, [rbx+48]
00217acdmov rbx, [rbx+96]
00217ad1test rbx, rbx
00217ad4jne 0x217ac0
00217ad6
00217ad6loc_217ad6:
00217ad6lea rbx, [r12+8]
00217adbmov rdi, rbx
00217adecall fn_216f50
00217ae3add rbp, [r12+32]
00217ae8jne 0x217b00
00217aea
00217aealoc_217aea:
00217aeaadd rsp, 8
00217aeemov eax, 1
00217af3pop rbx
00217af4pop rbp
00217af5pop r12
00217af7pop r13
00217af9ret
00217afa
00217afa 66 0f 1f 44 00 00 f..D..
00217b00
00217b00loc_217b00:
00217b00mov edi, 72
00217b05call caml_stat_alloc
00217b0amov r13, rax
00217b0dtest rax, rax
00217b10je 0x217ba8
00217b16mov rax, [r12+64]
00217b1bmovdqa x0, [rip+0x1263d]
00217b23mov rsi, rbp
00217b26mov rdi, r13
00217b29mov [r13], 0
00217b31mov [r13+56], rax
00217b35movups [r13+8], x0
00217b3apxor x0, x0
00217b3emovups [r13+24], x0
00217b43movups [r13+40], x0
00217b48call fn_216eb0
00217b4dtest al, al
00217b4fje 0x217ba0
00217b51mov rdi, rbx
00217b54mov rsi, r13
00217b57call fn_217950
00217b5cmov rbx, [r12+88]
00217b61test rbx, rbx
00217b64je 0x217b85
00217b66nop [rax+rax]
00217b70
00217b70loc_217b70:
00217b70lea rdi, [rbx+24]
00217b74mov rsi, r13
00217b77call fn_217950
00217b7cmov rbx, [rbx+96]
00217b80test rbx, rbx
00217b83jne 0x217b70
00217b85
00217b85loc_217b85:
00217b85mov rax, [r12+72]
00217b8amov [r13+64], rax
00217b8emov [r12+72], r13
00217b93jmp 0x217aea
00217b98
00217b98 0f 1f 84 00 00 00 00 00 ........
00217ba0
00217ba0loc_217ba0:
00217ba0mov rdi, r13
00217ba3call caml_stat_free
00217ba8
00217ba8loc_217ba8:
00217ba8add rsp, 8
00217bacxor eax, eax
00217baepop rbx
00217bafpop rbp
00217bb0pop r12
00217bb2pop r13
00217bb4ret
00217aa0
00217aa0fn_217aa0:
00217aa0push r13
00217aa2push r12
00217aa4mov r12, rdi
00217aa7push rbp
00217aa8xor ebp, ebp
00217aaapush rbx
00217aabsub rsp, 8
00217aafmov rbx, [rdi+88]
00217ab3test rbx, rbx
00217ab6je 0x217ad6
00217ab8nop [rax+rax]
00217ac0
00217ac0loc_217ac0:
00217ac0lea rdi, [rbx+24]
00217ac4call fn_2178c0
00217ac9add rbp, [rbx+48]
00217acdmov rbx, [rbx+96]
00217ad1test rbx, rbx
00217ad4jne 0x217ac0
00217ad6
00217ad6loc_217ad6:
00217ad6lea rbx, [r12+8]
00217adbmov rdi, rbx
00217adecall fn_216f50
00217ae3add rbp, [r12+32]
00217ae8jne 0x217b00
00217aea
00217aealoc_217aea:
00217aeaadd rsp, 8
00217aeemov eax, 1
00217af3pop rbx
00217af4pop rbp
00217af5pop r12
00217af7pop r13
00217af9ret
00217afa
00217afa 66 0f 1f 44 00 00 f..D..
00217b00
00217b00loc_217b00:
00217b00mov edi, 72
00217b05call caml_stat_alloc
00217b0amov r13, rax
00217b0dtest rax, rax
00217b10je 0x217ba8
00217b16mov rax, [r12+64]
00217b1bmovdqa x0, [rip+0x1263d]
00217b23mov rsi, rbp
00217b26mov rdi, r13
00217b29mov [r13], 0
00217b31mov [r13+56], rax
00217b35movups [r13+8], x0
00217b3apxor x0, x0
00217b3emovups [r13+24], x0
00217b43movups [r13+40], x0
00217b48call fn_216eb0
00217b4dtest al, al
00217b4fje 0x217ba0
00217b51mov rdi, rbx
00217b54mov rsi, r13
00217b57call fn_217950
00217b5cmov rbx, [r12+88]
00217b61test rbx, rbx
00217b64je 0x217b85
00217b66nop [rax+rax]
00217b70
00217b70loc_217b70:
00217b70lea rdi, [rbx+24]
00217b74mov rsi, r13
00217b77call fn_217950
00217b7cmov rbx, [rbx+96]
00217b80test rbx, rbx
00217b83jne 0x217b70
00217b85
00217b85loc_217b85:
00217b85mov rax, [r12+72]
00217b8amov [r13+64], rax
00217b8emov [r12+72], r13
00217b93jmp 0x217aea
00217b98
00217b98 0f 1f 84 00 00 00 00 00 ........
00217ba0
00217ba0loc_217ba0:
00217ba0mov rdi, r13
00217ba3call caml_stat_free
00217ba8
00217ba8loc_217ba8:
00217ba8add rsp, 8
00217bacxor eax, eax
00217baepop rbx
00217bafpop rbp
00217bb0pop r12
00217bb2pop r13
00217bb4ret
00217aa0
00217bb5
00217bb5 // align 0x10
00217bb5 // align 0x10
00217bc0
00217bc0fn_217bc0:
00217bc0push r12
00217bc2push rbp
00217bc3mov rbp, rdi
00217bc6push rbx
00217bc7call fn_217aa0
00217bccmov rax, [rbp+72]
00217bd0test rax, rax
00217bd3je 0x217c3c
00217bd5nop [rax+rax]
00217be0
00217be0loc_217be0:
00217be0mov rbx, rax
00217be3mov rax, [rax+64]
00217be7test rax, rax
00217beajne 0x217be0
00217beclea r12, [rip+0x160fcd]
00217bf3mov rdi, r12
00217bf6call fn_f4710
00217bfbtest eax, eax
00217bfdjne 0x217ca8
00217c03mov rax, [rip+0x160fde]
00217c0amov rdi, r12
00217c0dmov [rbx+64], rax
00217c11mov rax, [rbp+72]
00217c15mov [rip+0x160fcc], rax
00217c1cmov [rip+0x160f79], 1
00217c27call fn_f47c0
00217c2ctest eax, eax
00217c2ejne 0x217cb6
00217c34mov [rbp+72], 0
00217c3c
00217c3cloc_217c3c:
00217c3cmov rbx, [rbp+88]
00217c40test rbx, rbx
00217c43je 0x217c61
00217c45nop [rax+rax]
00217c50
00217c50loc_217c50:
00217c50mov rdi, rbx
00217c53mov rbx, [rbx+96]
00217c57call fn_217310
00217c5ctest rbx, rbx
00217c5fjne 0x217c50
00217c61
00217c61loc_217c61:
00217c61mov rdi, [rbp+8]
00217c65test rdi, rdi
00217c68je 0x217c77
00217c6acall caml_stat_free
00217c6fmov [rbp+8], 0
00217c77
00217c77loc_217c77:
00217c77mov [rbp+56], 0
00217c7fmov rdi, [rbp+104]
00217c83pxor x0, x0
00217c87mov [rbp+64], 1
00217c8fmovups [rbp+24], x0
00217c93movups [rbp+40], x0
00217c97call caml_stat_free
00217c9cpop rbx
00217c9dmov rdi, rbp
00217ca0pop rbp
00217ca1pop r12
00217ca3jmp 0x216690
00217ca8
00217ca8loc_217ca8:
00217ca8mov esi, eax
00217caalea rdi, [rip+0x1785e]
00217cb1call caml_plat_fatal_error
00217cb6
00217cb6loc_217cb6:
00217cb6mov esi, eax
00217cb8lea rdi, [rip+0x1785b]
00217cbfcall caml_plat_fatal_error
00217bc0
00217bc0fn_217bc0:
00217bc0push r12
00217bc2push rbp
00217bc3mov rbp, rdi
00217bc6push rbx
00217bc7call fn_217aa0
00217bccmov rax, [rbp+72]
00217bd0test rax, rax
00217bd3je 0x217c3c
00217bd5nop [rax+rax]
00217be0
00217be0loc_217be0:
00217be0mov rbx, rax
00217be3mov rax, [rax+64]
00217be7test rax, rax
00217beajne 0x217be0
00217beclea r12, [rip+0x160fcd]
00217bf3mov rdi, r12
00217bf6call fn_f4710
00217bfbtest eax, eax
00217bfdjne 0x217ca8
00217c03mov rax, [rip+0x160fde]
00217c0amov rdi, r12
00217c0dmov [rbx+64], rax
00217c11mov rax, [rbp+72]
00217c15mov [rip+0x160fcc], rax
00217c1cmov [rip+0x160f79], 1
00217c27call fn_f47c0
00217c2ctest eax, eax
00217c2ejne 0x217cb6
00217c34mov [rbp+72], 0
00217c3c
00217c3cloc_217c3c:
00217c3cmov rbx, [rbp+88]
00217c40test rbx, rbx
00217c43je 0x217c61
00217c45nop [rax+rax]
00217c50
00217c50loc_217c50:
00217c50mov rdi, rbx
00217c53mov rbx, [rbx+96]
00217c57call fn_217310
00217c5ctest rbx, rbx
00217c5fjne 0x217c50
00217c61
00217c61loc_217c61:
00217c61mov rdi, [rbp+8]
00217c65test rdi, rdi
00217c68je 0x217c77
00217c6acall caml_stat_free
00217c6fmov [rbp+8], 0
00217c77
00217c77loc_217c77:
00217c77mov [rbp+56], 0
00217c7fmov rdi, [rbp+104]
00217c83pxor x0, x0
00217c87mov [rbp+64], 1
00217c8fmovups [rbp+24], x0
00217c93movups [rbp+40], x0
00217c97call caml_stat_free
00217c9cpop rbx
00217c9dmov rdi, rbp
00217ca0pop rbp
00217ca1pop r12
00217ca3jmp 0x216690
00217ca8
00217ca8loc_217ca8:
00217ca8mov esi, eax
00217caalea rdi, [rip+0x1785e]
00217cb1call caml_plat_fatal_error
00217cb6
00217cb6loc_217cb6:
00217cb6mov esi, eax
00217cb8lea rdi, [rip+0x1785b]
00217cbfcall caml_plat_fatal_error
00217bc0
00217cc4
00217cc4 // align 0x20
00217cc4 // align 0x20
00217ce0
00217ce0fn_217ce0:
00217ce0push r15
00217ce2push r14
00217ce4mov r14l, 1
00217ceapush r13
00217cecpush r12
00217ceepush rbp
00217cefpush rbx
00217cf0sub rsp, 120
00217cf4mov rax, [rsi+24]
00217cf8mov [rsp], rdi
00217cfcmov rbx, [0x28]
00217d05mov [rsp+104], rbx
00217d0amov rbx, rsi
00217d0dcmp [rsi+48], rax
00217d11jb 0x217d54
00217d13jmp 0x217d5e
00217d15
00217d15 0f 1f 00 ...
00217d18
00217d18loc_217d18:
00217d18mov rdx, [rax]
00217d1bsar rdx, 1
00217d1ecmp edx, 2
00217d21je 0x217eb0
00217d27
00217d27loc_217d27:
00217d27mov r15, [rbx+48]
00217d2blea rbp, [r15+2*r15]
00217d2fshl rbp, 4
00217d33add rbp, [rbx]
00217d36movzx ecx, [rbp+40]
00217d3atest cl, 64
00217d3djne 0x217d46
00217d3fcmp [rbp+32], 0
00217d44je 0x217da8
00217d46
00217d46loc_217d46:
00217d46lea rax, [r15+1]
00217d4amov [rbx+48], rax
00217d4e
00217d4eloc_217d4e:
00217d4ecmp rax, [rbx+24]
00217d52jae 0x217d5e
00217d54
00217d54loc_217d54:
00217d54mov rax, [rbx+56]
00217d58cmp rax, 1
00217d5cjne 0x217d18
00217d5e
00217d5eloc_217d5e:
00217d5exor ebp, ebp
00217d60
00217d60loc_217d60:
00217d60mov rdi, rbx
00217d63call fn_216f50
00217d68mov rdx, r14
00217d6bmov rax, 0xffffffff00000000
00217d75and r12, rax
00217d78or r12, rbp
00217d7bmov rax, r12
00217d7emov rcx, [rsp+104]
00217d83sub rcx, [0x28]
00217d8cjne 0x2180bb
00217d92add rsp, 120
00217d96pop rbx
00217d97pop rbp
00217d98pop r12
00217d9apop r13
00217d9cpop r14
00217d9epop r15
00217da0ret
00217da1
00217da1 0f 1f 80 00 00 00 00 .......
00217da8
00217da8loc_217da8:
00217da8movzx esi, [rbp+41]
00217dacshr sil, 1
00217dafand esi, 7
00217db2test sil, 1
00217db6jne 0x217f50
00217dbcmov rax, [rax]
00217dbfsar rax, 1
00217dc2test eax, eax
00217dc4jne 0x217fb0
00217dcamov r13, [rbp+8]
00217dcemov rax, [rip+0x5e213]
00217dd5mov [rsp+24], r13
00217ddamov r14, [rax]
00217ddelea rax, [rsp+32]
00217de3mov r8, [r14+160]
00217deamov [r14+160], rax
00217df1mov eax, 1
00217df6movq x0, rax
00217dfblea rax, [rsp+24]
00217e00punpcklqdq x0, x0
00217e04mov [rsp+32], r8
00217e09mov [rsp+56], rax
00217e0emovups [rsp+40], x0
00217e13test r13b, 1
00217e17jne 0x218028
00217e1d
00217e1dloc_217e1d:
00217e1dmov [r14+160], r8
00217e24xor esi, esi
00217e26mov edi, 4
00217e2bmov [rbp+8], r13
00217e2fcall caml_alloc_small
00217e34mov r8, rax
00217e37mov rax, [rbp+16]
00217e3blea rax, [rax+rax+1]
00217e40mov [r8], rax
00217e43mov rax, [rbp+24]
00217e47lea rax, [rax+rax+1]
00217e4cmov [r8+8], rax
00217e50movzx eax, [rbp+40]
00217e54and eax, 3
00217e57lea rax, [rax+rax+1]
00217e5cmov [r8+16], rax
00217e60mov rax, [rbp+8]
00217e64mov [r8+24], rax
00217e68mov rax, [rbx+56]
00217e6ctest [rbp+40], 8
00217e70jne 0x218010
00217e76mov rcx, [rax+40]
00217e7a
00217e7aloc_217e7a:
00217e7amov rdi, [rsp]
00217e7emov rdx, r15
00217e81mov r9l, 1
00217e87mov rsi, rbx
00217e8acall fn_2175a0
00217e8fmov ebp, eax
00217e91mov r12, rax
00217e94mov r14, rdx
00217e97test ebp, ebp
00217e99jne 0x217d60
00217e9f
00217e9floc_217e9f:
00217e9fmov rax, [rbx+48]
00217ea3jmp 0x217d4e
00217ea8
00217ea8 0f 1f 84 00 00 00 00 00 ........
00217eb0
00217eb0loc_217eb0:
00217eb0xor edx, edx
00217eb2xor eax, eax
00217eb4cmp [rbx+24], 0
00217eb9mov [rbx+56], 1
00217ec1jne 0x217eee
00217ec3jmp 0x217f30
00217ec5
00217ec5 66 66 2e 0f 1f 84 00 00 00 00 00 ff.........
00217ed0 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 ff...........D..
00217ee0
00217ee0loc_217ee0:
00217ee0add rax, 1
00217ee4add rdx, 48
00217ee8cmp rax, [rbx+24]
00217eecjae 0x217f30
00217eee
00217eeeloc_217eee:
00217eeemov rcx, [rbx]
00217ef1add rcx, rdx
00217ef4cmp [rcx+32], 0
00217ef9jne 0x217ee0
00217efbmovzx esi, [rcx+40]
00217effmovdqa x1, [rip+0x12249]
00217f07and esi, -69
00217f0amovups [rcx], x1
00217f0dor esi, 64
00217f10mov [rcx+40], sil
00217f14cmp rax, [rbx+40]
00217f18jae 0x217ee0
00217f1amov [rbx+40], rax
00217f1eadd rdx, 48
00217f22add rax, 1
00217f26cmp rax, [rbx+24]
00217f2ajb 0x217eee
00217f2cnop [rax]
00217f30
00217f30loc_217f30:
00217f30mov rdi, rbx
00217f33call fn_216f50
00217f38mov rax, [rbx+56]
00217f3ccmp rax, 1
00217f40jne 0x217d27
00217f46jmp 0x217d5e
00217f4b
00217f4b 0f 1f 44 00 00 ..D..
00217f50
00217f50loc_217f50:
00217f50test cl, 16
00217f53je 0x217fe8
00217f59test sil, 2
00217f5dje 0x218019
00217f63and ecx, 32
00217f66je 0x217d46
00217f6ccmp sil, 3
00217f70ja 0x217d46
00217f76
00217f76loc_217f76:
00217f76mov rcx, [rax+64]
00217f7a
00217f7aloc_217f7a:
00217f7amov r9l, 3
00217f80
00217f80loc_217f80:
00217f80mov r8, [rbp+8]
00217f84mov rdi, [rsp]
00217f88mov rdx, r15
00217f8bmov rsi, rbx
00217f8ecall fn_2175a0
00217f93mov ebp, eax
00217f95mov r12, rax
00217f98mov r14, rdx
00217f9btest ebp, ebp
00217f9dje 0x217e9f
00217fa3jmp 0x217d60
00217fa8
00217fa8 0f 1f 84 00 00 00 00 00 ........
00217fb0
00217fb0loc_217fb0:
00217fb0mov eax, 1
00217fb5and ecx, -69
00217fb8movq x0, rax
00217fbdor ecx, 64
00217fc0punpcklqdq x0, x0
00217fc4mov [rbp+40], cl
00217fc7movups [rbp], x0
00217fcbmov rax, [rbx+48]
00217fcfcmp r15, [rbx+40]
00217fd3jae 0x217d4e
00217fd9mov [rbx+40], r15
00217fddjmp 0x217d4e
00217fe2
00217fe2 66 0f 1f 44 00 00 f..D..
00217fe8
00217fe8loc_217fe8:
00217fe8test cl, 32
00217febje 0x217d46
00217ff1cmp sil, 3
00217ff5ja 0x217d46
00217ffband ecx, 8
00217ffeje 0x217f76
00218004mov rcx, [rax+56]
00218008jmp 0x217f7a
0021800d
0021800d 0f 1f 00 ...
00218010
00218010loc_218010:
00218010mov rcx, [rax+32]
00218014jmp 0x217e7a
00218019
00218019loc_218019:
00218019mov rcx, [rax+48]
0021801dmov r9l, 2
00218023jmp 0x217f80
00218028
00218028loc_218028:
00218028mov rdi, [r13-1]
0021802cxor esi, esi
0021802emov [rsp+8], r8
00218033lea r12, [r13-1]
00218037call caml_alloc
0021803cmov r8, [rsp+8]
00218041mov [rsp+24], rax
00218046cmp [r13-1], 0
0021804bje 0x21809f
0021804dmov rcx, [r12+8]
00218052or rcx, 1
00218056mov [rax], rcx
00218059cmp [r13-1], 1
0021805emov eax, 1
00218063jbe 0x21809f
00218065nop [rax+rax]
00218070nop [rax+rax]
0021807bnop [rax+rax]
00218080
00218080loc_218080:
00218080mov rcx, [rsp+24]
00218085lea rsi, [rcx+8*rax]
00218089mov rcx, [r12+8*rax+8]
0021808eadd rax, 1
00218092or rcx, 1
00218096mov [rsi], rcx
00218099cmp rax, [r12]
0021809djb 0x218080
0021809f
0021809floc_21809f:
0021809fmov rdi, r12
002180a2mov [rsp+8], r8
002180a7call caml_stat_free
002180acmov r13, [rsp+24]
002180b1mov r8, [rsp+8]
002180b6jmp 0x217e1d
002180bb
002180bbloc_2180bb:
002180bbcall fn_f4590
00217ce0
00217ce0fn_217ce0:
00217ce0push r15
00217ce2push r14
00217ce4mov r14l, 1
00217ceapush r13
00217cecpush r12
00217ceepush rbp
00217cefpush rbx
00217cf0sub rsp, 120
00217cf4mov rax, [rsi+24]
00217cf8mov [rsp], rdi
00217cfcmov rbx, [0x28]
00217d05mov [rsp+104], rbx
00217d0amov rbx, rsi
00217d0dcmp [rsi+48], rax
00217d11jb 0x217d54
00217d13jmp 0x217d5e
00217d15
00217d15 0f 1f 00 ...
00217d18
00217d18loc_217d18:
00217d18mov rdx, [rax]
00217d1bsar rdx, 1
00217d1ecmp edx, 2
00217d21je 0x217eb0
00217d27
00217d27loc_217d27:
00217d27mov r15, [rbx+48]
00217d2blea rbp, [r15+2*r15]
00217d2fshl rbp, 4
00217d33add rbp, [rbx]
00217d36movzx ecx, [rbp+40]
00217d3atest cl, 64
00217d3djne 0x217d46
00217d3fcmp [rbp+32], 0
00217d44je 0x217da8
00217d46
00217d46loc_217d46:
00217d46lea rax, [r15+1]
00217d4amov [rbx+48], rax
00217d4e
00217d4eloc_217d4e:
00217d4ecmp rax, [rbx+24]
00217d52jae 0x217d5e
00217d54
00217d54loc_217d54:
00217d54mov rax, [rbx+56]
00217d58cmp rax, 1
00217d5cjne 0x217d18
00217d5e
00217d5eloc_217d5e:
00217d5exor ebp, ebp
00217d60
00217d60loc_217d60:
00217d60mov rdi, rbx
00217d63call fn_216f50
00217d68mov rdx, r14
00217d6bmov rax, 0xffffffff00000000
00217d75and r12, rax
00217d78or r12, rbp
00217d7bmov rax, r12
00217d7emov rcx, [rsp+104]
00217d83sub rcx, [0x28]
00217d8cjne 0x2180bb
00217d92add rsp, 120
00217d96pop rbx
00217d97pop rbp
00217d98pop r12
00217d9apop r13
00217d9cpop r14
00217d9epop r15
00217da0ret
00217da1
00217da1 0f 1f 80 00 00 00 00 .......
00217da8
00217da8loc_217da8:
00217da8movzx esi, [rbp+41]
00217dacshr sil, 1
00217dafand esi, 7
00217db2test sil, 1
00217db6jne 0x217f50
00217dbcmov rax, [rax]
00217dbfsar rax, 1
00217dc2test eax, eax
00217dc4jne 0x217fb0
00217dcamov r13, [rbp+8]
00217dcemov rax, [rip+0x5e213]
00217dd5mov [rsp+24], r13
00217ddamov r14, [rax]
00217ddelea rax, [rsp+32]
00217de3mov r8, [r14+160]
00217deamov [r14+160], rax
00217df1mov eax, 1
00217df6movq x0, rax
00217dfblea rax, [rsp+24]
00217e00punpcklqdq x0, x0
00217e04mov [rsp+32], r8
00217e09mov [rsp+56], rax
00217e0emovups [rsp+40], x0
00217e13test r13b, 1
00217e17jne 0x218028
00217e1d
00217e1dloc_217e1d:
00217e1dmov [r14+160], r8
00217e24xor esi, esi
00217e26mov edi, 4
00217e2bmov [rbp+8], r13
00217e2fcall caml_alloc_small
00217e34mov r8, rax
00217e37mov rax, [rbp+16]
00217e3blea rax, [rax+rax+1]
00217e40mov [r8], rax
00217e43mov rax, [rbp+24]
00217e47lea rax, [rax+rax+1]
00217e4cmov [r8+8], rax
00217e50movzx eax, [rbp+40]
00217e54and eax, 3
00217e57lea rax, [rax+rax+1]
00217e5cmov [r8+16], rax
00217e60mov rax, [rbp+8]
00217e64mov [r8+24], rax
00217e68mov rax, [rbx+56]
00217e6ctest [rbp+40], 8
00217e70jne 0x218010
00217e76mov rcx, [rax+40]
00217e7a
00217e7aloc_217e7a:
00217e7amov rdi, [rsp]
00217e7emov rdx, r15
00217e81mov r9l, 1
00217e87mov rsi, rbx
00217e8acall fn_2175a0
00217e8fmov ebp, eax
00217e91mov r12, rax
00217e94mov r14, rdx
00217e97test ebp, ebp
00217e99jne 0x217d60
00217e9f
00217e9floc_217e9f:
00217e9fmov rax, [rbx+48]
00217ea3jmp 0x217d4e
00217ea8
00217ea8 0f 1f 84 00 00 00 00 00 ........
00217eb0
00217eb0loc_217eb0:
00217eb0xor edx, edx
00217eb2xor eax, eax
00217eb4cmp [rbx+24], 0
00217eb9mov [rbx+56], 1
00217ec1jne 0x217eee
00217ec3jmp 0x217f30
00217ec5
00217ec5 66 66 2e 0f 1f 84 00 00 00 00 00 ff.........
00217ed0 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 ff...........D..
00217ee0
00217ee0loc_217ee0:
00217ee0add rax, 1
00217ee4add rdx, 48
00217ee8cmp rax, [rbx+24]
00217eecjae 0x217f30
00217eee
00217eeeloc_217eee:
00217eeemov rcx, [rbx]
00217ef1add rcx, rdx
00217ef4cmp [rcx+32], 0
00217ef9jne 0x217ee0
00217efbmovzx esi, [rcx+40]
00217effmovdqa x1, [rip+0x12249]
00217f07and esi, -69
00217f0amovups [rcx], x1
00217f0dor esi, 64
00217f10mov [rcx+40], sil
00217f14cmp rax, [rbx+40]
00217f18jae 0x217ee0
00217f1amov [rbx+40], rax
00217f1eadd rdx, 48
00217f22add rax, 1
00217f26cmp rax, [rbx+24]
00217f2ajb 0x217eee
00217f2cnop [rax]
00217f30
00217f30loc_217f30:
00217f30mov rdi, rbx
00217f33call fn_216f50
00217f38mov rax, [rbx+56]
00217f3ccmp rax, 1
00217f40jne 0x217d27
00217f46jmp 0x217d5e
00217f4b
00217f4b 0f 1f 44 00 00 ..D..
00217f50
00217f50loc_217f50:
00217f50test cl, 16
00217f53je 0x217fe8
00217f59test sil, 2
00217f5dje 0x218019
00217f63and ecx, 32
00217f66je 0x217d46
00217f6ccmp sil, 3
00217f70ja 0x217d46
00217f76
00217f76loc_217f76:
00217f76mov rcx, [rax+64]
00217f7a
00217f7aloc_217f7a:
00217f7amov r9l, 3
00217f80
00217f80loc_217f80:
00217f80mov r8, [rbp+8]
00217f84mov rdi, [rsp]
00217f88mov rdx, r15
00217f8bmov rsi, rbx
00217f8ecall fn_2175a0
00217f93mov ebp, eax
00217f95mov r12, rax
00217f98mov r14, rdx
00217f9btest ebp, ebp
00217f9dje 0x217e9f
00217fa3jmp 0x217d60
00217fa8
00217fa8 0f 1f 84 00 00 00 00 00 ........
00217fb0
00217fb0loc_217fb0:
00217fb0mov eax, 1
00217fb5and ecx, -69
00217fb8movq x0, rax
00217fbdor ecx, 64
00217fc0punpcklqdq x0, x0
00217fc4mov [rbp+40], cl
00217fc7movups [rbp], x0
00217fcbmov rax, [rbx+48]
00217fcfcmp r15, [rbx+40]
00217fd3jae 0x217d4e
00217fd9mov [rbx+40], r15
00217fddjmp 0x217d4e
00217fe2
00217fe2 66 0f 1f 44 00 00 f..D..
00217fe8
00217fe8loc_217fe8:
00217fe8test cl, 32
00217febje 0x217d46
00217ff1cmp sil, 3
00217ff5ja 0x217d46
00217ffband ecx, 8
00217ffeje 0x217f76
00218004mov rcx, [rax+56]
00218008jmp 0x217f7a
0021800d
0021800d 0f 1f 00 ...
00218010
00218010loc_218010:
00218010mov rcx, [rax+32]
00218014jmp 0x217e7a
00218019
00218019loc_218019:
00218019mov rcx, [rax+48]
0021801dmov r9l, 2
00218023jmp 0x217f80
00218028
00218028loc_218028:
00218028mov rdi, [r13-1]
0021802cxor esi, esi
0021802emov [rsp+8], r8
00218033lea r12, [r13-1]
00218037call caml_alloc
0021803cmov r8, [rsp+8]
00218041mov [rsp+24], rax
00218046cmp [r13-1], 0
0021804bje 0x21809f
0021804dmov rcx, [r12+8]
00218052or rcx, 1
00218056mov [rax], rcx
00218059cmp [r13-1], 1
0021805emov eax, 1
00218063jbe 0x21809f
00218065nop [rax+rax]
00218070nop [rax+rax]
0021807bnop [rax+rax]
00218080
00218080loc_218080:
00218080mov rcx, [rsp+24]
00218085lea rsi, [rcx+8*rax]
00218089mov rcx, [r12+8*rax+8]
0021808eadd rax, 1
00218092or rcx, 1
00218096mov [rsi], rcx
00218099cmp rax, [r12]
0021809djb 0x218080
0021809f
0021809floc_21809f:
0021809fmov rdi, r12
002180a2mov [rsp+8], r8
002180a7call caml_stat_free
002180acmov r13, [rsp+24]
002180b1mov r8, [rsp+8]
002180b6jmp 0x217e1d
002180bb
002180bbloc_2180bb:
002180bbcall fn_f4590
00217ce0
002180c0
002180c0caml_memprof_scan_roots:
002180c0push r14
002180c2push r13
002180c4mov r13, rdi
002180c7push r12
002180c9mov r12, rdx
002180ccpush rbp
002180cdpush rbx
002180cemov ebx, esi
002180d0sub rsp, 48
002180d4mov r14, [rcx+464]
002180dbmov rbp, [0x28]
002180e4mov [rsp+40], rbp
002180e9mov ebp, r8l
002180ecmov rax, [rip+0x160aa9]
002180f3test rax, rax
002180f6je 0x218104
002180f8mov rdi, r14
002180fbcall fn_2170f0
00218100mov [rsp+8], ebx
00218104
00218104loc_218104:
00218104and ebx, 1
00218107mov rcx, rsp
0021810amov rdi, r14
0021810dmov esi, ebx
0021810flea r8, [rip-4858]
00218116lea rdx, [rip-4401]
0021811dmov [rsp], r13
00218121mov [rsp+16], r12
00218126mov [rsp+24], bpl
0021812bcall fn_217500
00218130mov rax, [rsp+40]
00218135sub rax, [0x28]
0021813ejne 0x218151
00218140add rsp, 48
00218144pop rbx
00218145pop rbp
00218146pop r12
00218148pop r13
0021814apop r14
0021814cret
0021814dcall fn_f4590
00218152db 0x3a
00218153db 0xc4
00218154in eax, dx
00218155db 0xff
002180c0
002180c0caml_memprof_scan_roots:
002180c0push r14
002180c2push r13
002180c4mov r13, rdi
002180c7push r12
002180c9mov r12, rdx
002180ccpush rbp
002180cdpush rbx
002180cemov ebx, esi
002180d0sub rsp, 48
002180d4mov r14, [rcx+464]
002180dbmov rbp, [0x28]
002180e4mov [rsp+40], rbp
002180e9mov ebp, r8l
002180ecmov rax, [rip+0x160aa9]
002180f3test rax, rax
002180f6je 0x218104
002180f8mov rdi, r14
002180fbcall fn_2170f0
00218100mov [rsp+8], ebx
00218104
00218104loc_218104:
00218104and ebx, 1
00218107mov rcx, rsp
0021810amov rdi, r14
0021810dmov esi, ebx
0021810flea r8, [rip-4858]
00218116lea rdx, [rip-4401]
0021811dmov [rsp], r13
00218121mov [rsp+16], r12
00218126mov [rsp+24], bpl
0021812bcall fn_217500
00218130mov rax, [rsp+40]
00218135sub rax, [0x28]
0021813ejne 0x218151
00218140add rsp, 48
00218144pop rbx
00218145pop rbp
00218146pop r12
00218148pop r13
0021814apop r14
0021814cret
0021814dcall fn_f4590
00218152db 0x3a
00218153db 0xc4
00218154in eax, dx
00218155db 0xff
002180c0
00218156
00218156 // align 0x10
00218156 // align 0x10
00218160
00218160caml_memprof_after_minor_gc:
00218160push rbx
00218161mov rbx, [rdi+464]
00218168mov rax, [rip+0x160a2d]
0021816ftest rax, rax
00218172je 0x218180
00218174mov rdi, rbx
00218177call fn_2170f0
0021817cmov rdi, rbx
0021817flea r8, [rip-4938]
00218186xor ecx, ecx
00218188mov esi, 1
0021818dlea rdx, [rip-4440]
00218194call fn_217500
00218199mov rdi, rbx
0021819ccall fn_217760
002181a1mov rdi, rbx
002181a4pop rbx
002181a5jmp 0x2170b0
002181aadb 0x02
002181about dx, eax
002181acdb 0xff
002181addb 0xff
00218160
00218160caml_memprof_after_minor_gc:
00218160push rbx
00218161mov rbx, [rdi+464]
00218168mov rax, [rip+0x160a2d]
0021816ftest rax, rax
00218172je 0x218180
00218174mov rdi, rbx
00218177call fn_2170f0
0021817cmov rdi, rbx
0021817flea r8, [rip-4938]
00218186xor ecx, ecx
00218188mov esi, 1
0021818dlea rdx, [rip-4440]
00218194call fn_217500
00218199mov rdi, rbx
0021819ccall fn_217760
002181a1mov rdi, rbx
002181a4pop rbx
002181a5jmp 0x2170b0
002181aadb 0x02
002181about dx, eax
002181acdb 0xff
002181addb 0xff
00218160
002181ae
002181ae // align 0x10
002181ae // align 0x10
002181b0
002181b0caml_memprof_after_major_gc:
002181b0push rbx
002181b1mov rbx, [rdi+464]
002181b8mov rax, [rip+0x1609dd]
002181bftest rax, rax
002181c2je 0x2181d0
002181c4mov rdi, rbx
002181c7call fn_2170f0
002181ccmov rdi, rbx
002181cfxor r8l, r8l
002181d2xor ecx, ecx
002181d4xor esi, esi
002181d6lea rdx, [rip-5009]
002181ddcall fn_217500
002181e2mov rdi, rbx
002181e5call fn_217760
002181eamov rdi, rbx
002181edpop rbx
002181eejmp 0x2170b0
002181f3db 0xb9
002181f4out dx, al
002181f5db 0xff
002181f6db 0xff
002181b0
002181b0caml_memprof_after_major_gc:
002181b0push rbx
002181b1mov rbx, [rdi+464]
002181b8mov rax, [rip+0x1609dd]
002181bftest rax, rax
002181c2je 0x2181d0
002181c4mov rdi, rbx
002181c7call fn_2170f0
002181ccmov rdi, rbx
002181cfxor r8l, r8l
002181d2xor ecx, ecx
002181d4xor esi, esi
002181d6lea rdx, [rip-5009]
002181ddcall fn_217500
002181e2mov rdi, rbx
002181e5call fn_217760
002181eamov rdi, rbx
002181edpop rbx
002181eejmp 0x2170b0
002181f3db 0xb9
002181f4out dx, al
002181f5db 0xff
002181f6db 0xff
002181b0
002181f7
002181f7 // align 0x10
002181f7 // align 0x10
00218200
00218200caml_memprof_new_domain:
00218200push r12
00218202mov r12, rdi
00218205mov edi, 1672
0021820apush rbp
0021820bmov rbp, rsi
0021820epush rbx
0021820fcall caml_stat_alloc
00218214test rax, rax
00218217je 0x2183ec
0021821dmovdqa x0, [rip+0x11f47]
00218225mov [rax], rbp
00218228mov rbx, rax
0021822bmov edi, 104
00218230mov [rax+8], 0
00218238movups [rax+16], x0
0021823cpxor x0, x0
00218240movups [rax+32], x0
00218244movups [rax+48], x0
00218248mov [rax+64], 1
00218250mov [rax+72], 0
00218258xor eax, eax
0021825amov [rbx+80], ax
0021825emov [rbx+104], 0
00218266mov [rbx+112], 0
0021826emovups [rbx+88], x0
00218272call caml_stat_alloc
00218277pxor x0, x0
0021827bmovq x1, rax
00218280test rax, rax
00218283punpcklqdq x1, x1
00218287je 0x2183e4
0021828dmov [rax], 0
00218290movdqa x2, [rip+0x11ec4]
00218298mov [rax+8], 0
002182a0mov [rax+16], 0
002182a8mov rdx, [rbx+64]
002182acmov [rax+24], 0
002182b4mov [rax+80], rdx
002182b8mov [rax+88], rbx
002182bcmovups [rax+32], x2
002182c0movups [rax+48], x0
002182c4movups [rax+64], x0
002182c8mov rdx, [rbx+88]
002182ccmov [rax+96], rdx
002182d0movups [rbx+88], x1
002182d4mov [rbp+464], rbx
002182dbtest r12, r12
002182deje 0x2182fc
002182e0mov rax, [r12+464]
002182e8mov rdx, [rbx+96]
002182ecmov rax, [rax+64]
002182f0mov [rbx+64], rax
002182f4mov [rdx+80], rax
002182f8movsxd rcx, [rbp+288]
002182fflea rsi, [rbx+120]
00218303mov r9, 0x1bbcdcbfa53e0a80
0021830dmov r11, 0x9e3779b97f4a7c15
00218317mov r8, 0xbf58476d1ce4e5b9
00218321mov rdi, 0x94d049bb133111eb
0021832bmov r10, 0x3c6ef372fe94f82a
00218335add r9, rcx
00218338nop [rax]
0021833clea rdx, [rcx+r11]
00218340
00218340loc_218340:
00218340add rcx, r10
00218343add rsi, 4
00218347mov rax, rdx
0021834ashr rax, 30
0021834exor rax, rdx
00218351imul rax, r8
00218355mov rdx, rax
00218358shr rdx, 27
0021835cxor rdx, rax
0021835fimul rdx, rdi
00218363mov rax, rdx
00218366shr rax, 31
0021836axor rax, rdx
0021836dmov [rsi-4], eax
00218370shr rax, 32
00218374mov [rsi+252], eax
0021837amov rax, rcx
0021837dshr rax, 30
00218381xor rax, rcx
00218384imul rax, r8
00218388mov rdx, rax
0021838bshr rdx, 27
0021838fxor rdx, rax
00218392imul rdx, rdi
00218396mov rax, rdx
00218399shr rax, 31
0021839dxor rax, rdx
002183a0mov [rsi+508], eax
002183a6shr rax, 32
002183aamov [rsi+764], eax
002183b0cmp rcx, r9
002183b3jne 0x218340
002183b5mov [rbx+1656], 64
002183bfmov rax, [rbx+64]
002183c3cmp rax, 1
002183c7je 0x2183df
002183c9mov rax, [rax+16]
002183cdmovsd_xmm x0, [rip+0x1247f]
002183d5ucomisd x0, [rax]
002183d9jbe 0x2183fc
002183dbpop rbx
002183dcpop rbp
002183ddpop r12
002183df
002183dfloc_2183df:
002183dfret
002183e0mov rdi, rbx
002183e3call fn_217bc0
002183e8mov [rbp+464], 0
002183f3pop rbx
002183f4pop rbp
002183f5pop r12
002183f7ret
002183f8mov rdi, rbx
002183fbcall fn_216ba0
00218400mov eax, [rbx+1656]
00218406lea edx, [rax+1]
00218409mov [rbx+1656], edx
0021840fmov rax, [rbx+8*rax+1144]
00218417sub rax, 1
0021841bmov [rbx+1664], rax
00218422pop rbx
00218423pop rbp
00218424pop r12
00218426ret
00218427db 0x5d
00218428pop r12
0021842aret
00218200
00218200caml_memprof_new_domain:
00218200push r12
00218202mov r12, rdi
00218205mov edi, 1672
0021820apush rbp
0021820bmov rbp, rsi
0021820epush rbx
0021820fcall caml_stat_alloc
00218214test rax, rax
00218217je 0x2183ec
0021821dmovdqa x0, [rip+0x11f47]
00218225mov [rax], rbp
00218228mov rbx, rax
0021822bmov edi, 104
00218230mov [rax+8], 0
00218238movups [rax+16], x0
0021823cpxor x0, x0
00218240movups [rax+32], x0
00218244movups [rax+48], x0
00218248mov [rax+64], 1
00218250mov [rax+72], 0
00218258xor eax, eax
0021825amov [rbx+80], ax
0021825emov [rbx+104], 0
00218266mov [rbx+112], 0
0021826emovups [rbx+88], x0
00218272call caml_stat_alloc
00218277pxor x0, x0
0021827bmovq x1, rax
00218280test rax, rax
00218283punpcklqdq x1, x1
00218287je 0x2183e4
0021828dmov [rax], 0
00218290movdqa x2, [rip+0x11ec4]
00218298mov [rax+8], 0
002182a0mov [rax+16], 0
002182a8mov rdx, [rbx+64]
002182acmov [rax+24], 0
002182b4mov [rax+80], rdx
002182b8mov [rax+88], rbx
002182bcmovups [rax+32], x2
002182c0movups [rax+48], x0
002182c4movups [rax+64], x0
002182c8mov rdx, [rbx+88]
002182ccmov [rax+96], rdx
002182d0movups [rbx+88], x1
002182d4mov [rbp+464], rbx
002182dbtest r12, r12
002182deje 0x2182fc
002182e0mov rax, [r12+464]
002182e8mov rdx, [rbx+96]
002182ecmov rax, [rax+64]
002182f0mov [rbx+64], rax
002182f4mov [rdx+80], rax
002182f8movsxd rcx, [rbp+288]
002182fflea rsi, [rbx+120]
00218303mov r9, 0x1bbcdcbfa53e0a80
0021830dmov r11, 0x9e3779b97f4a7c15
00218317mov r8, 0xbf58476d1ce4e5b9
00218321mov rdi, 0x94d049bb133111eb
0021832bmov r10, 0x3c6ef372fe94f82a
00218335add r9, rcx
00218338nop [rax]
0021833clea rdx, [rcx+r11]
00218340
00218340loc_218340:
00218340add rcx, r10
00218343add rsi, 4
00218347mov rax, rdx
0021834ashr rax, 30
0021834exor rax, rdx
00218351imul rax, r8
00218355mov rdx, rax
00218358shr rdx, 27
0021835cxor rdx, rax
0021835fimul rdx, rdi
00218363mov rax, rdx
00218366shr rax, 31
0021836axor rax, rdx
0021836dmov [rsi-4], eax
00218370shr rax, 32
00218374mov [rsi+252], eax
0021837amov rax, rcx
0021837dshr rax, 30
00218381xor rax, rcx
00218384imul rax, r8
00218388mov rdx, rax
0021838bshr rdx, 27
0021838fxor rdx, rax
00218392imul rdx, rdi
00218396mov rax, rdx
00218399shr rax, 31
0021839dxor rax, rdx
002183a0mov [rsi+508], eax
002183a6shr rax, 32
002183aamov [rsi+764], eax
002183b0cmp rcx, r9
002183b3jne 0x218340
002183b5mov [rbx+1656], 64
002183bfmov rax, [rbx+64]
002183c3cmp rax, 1
002183c7je 0x2183df
002183c9mov rax, [rax+16]
002183cdmovsd_xmm x0, [rip+0x1247f]
002183d5ucomisd x0, [rax]
002183d9jbe 0x2183fc
002183dbpop rbx
002183dcpop rbp
002183ddpop r12
002183df
002183dfloc_2183df:
002183dfret
002183e0mov rdi, rbx
002183e3call fn_217bc0
002183e8mov [rbp+464], 0
002183f3pop rbx
002183f4pop rbp
002183f5pop r12
002183f7ret
002183f8mov rdi, rbx
002183fbcall fn_216ba0
00218400mov eax, [rbx+1656]
00218406lea edx, [rax+1]
00218409mov [rbx+1656], edx
0021840fmov rax, [rbx+8*rax+1144]
00218417sub rax, 1
0021841bmov [rbx+1664], rax
00218422pop rbx
00218423pop rbp
00218424pop r12
00218426ret
00218427db 0x5d
00218428pop r12
0021842aret
00218200
Loading..