File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00200080
00200080fn_200080:
00200080push r15
00200082push r14
00200084push r13
00200086push r12
00200088push rbp
00200089mov rbp, rsi
0020008cpush rbx
0020008dmov rbx, rdi
00200090sub rsp, 488
00200097mov r14, [0x28]
002000a0mov [rsp+472], r14
002000a8mov r14l, edx
002000ablea rax, [rsp+56]
002000b0lea r15, [rsp+192]
002000b8movq x3, rax
002000bdlea rdx, [rsp+48]
002000c2movq x0, r15
002000c7mov r8, r15
002000calea rax, [rsp+448]
002000d2movq x2, rdx
002000d7movq x4, rax
002000dcpunpcklqdq x2, x3
002000e0punpcklqdq x0, x4
002000e4movaps [rsp], x2
002000e8movaps [rsp+448], x0
002000f0mov ecx, r14l
002000f3and ecx, 1
002000f6
002000f6loc_2000f6:
002000f6mov r12l, 1023
002000fcnop [rax]
00200100
00200100loc_200100:
00200100cmp rbp, rbx
00200103jne 0x20010d
00200105test cl, cl
00200107jne 0x2001e8
0020010d
0020010dloc_20010d:
0020010dtest bl, 1
00200110je 0x200330
00200116cmp rbp, rbx
00200119je 0x2001e8
0020011ftest bpl, 1
00200123jne 0x2006b0
00200129movzx eax, [rbp-8]
0020012dcmp al, -6
0020012fje 0x200440
00200135cmp al, -1
00200137je 0x200188
00200139
00200139loc_200139:
00200139mov r8, [rsp+448]
00200141mov r13, -1
00200148
00200148loc_200148:
00200148cmp r8, r15
0020014bje 0x200155
0020014dmov rdi, r8
00200150call caml_stat_free
00200155
00200155loc_200155:
00200155mov rax, [rsp+472]
0020015dsub rax, [0x28]
00200166jne 0x200875
0020016cadd rsp, 488
00200173mov rax, r13
00200176pop rbx
00200177pop rbp
00200178pop r12
0020017apop r13
0020017cpop r14
0020017epop r15
00200180ret
00200181nop [rax]
00200188
00200188loc_200188:
00200188mov rax, [rbp]
0020018cmov rax, [rax+48]
00200190test rax, rax
00200193je 0x200139
00200195
00200195loc_200195:
00200195mov r13, [rip+0x75e4c]
0020019cmov [rsp+32], r8
002001a1mov rsi, rbp
002001a4mov rdi, rbx
002001a7mov [rsp+24], cl
002001abmov rdx, [r13]
002001b0mov [rdx+216], 0
002001bbcall rax
002001bdmov rdx, [r13]
002001c2movzx ecx, [rsp+24]
002001c7mov r8, [rsp+32]
002001cccmp [rdx+216], 0
002001d4je 0x2001e0
002001d6test r14b, 1
002001daje 0x2006c9
002001e0
002001e0loc_2001e0:
002001e0test eax, eax
002001e2jne 0x2006a0
002001e8
002001e8loc_2001e8:
002001e8cmp [rsp+448], r8
002001f0je 0x200668
002001f6mov rdx, [r8-16]
002001famov rsi, [r8-32]
002001femov rax, rdx
00200201sar rax, 1
00200204shl rax, 3
00200208add rsi, rax
0020020badd rax, [r8-24]
0020020fmov rbx, [rsi]
00200212mov rbp, [rax]
00200215lea rax, [rdx+2]
00200219mov [r8-16], rax
0020021dcmp rax, [r8-8]
00200221jne 0x200227
00200223sub r8, 32
00200227
00200227loc_200227:
00200227sub r12l, 1
0020022bjne 0x200100
00200231mov [rsp+32], r8
00200236mov [rsp+24], cl
0020023acall caml_check_pending_actions
0020023fmovzx ecx, [rsp+24]
00200244mov r8, [rsp+32]
00200249test eax, eax
0020024bje 0x2000f6
00200251mov [rsp+48], rbx
00200256lea rsi, [rsp+64]
0020025bmovdqa x5, [rsp]
00200260mov rbx, [rip+0x75d81]
00200267mov [rsp+32], cl
0020026bmov [rsp+56], rbp
00200270movdqa x0, [rip+0x29e58]
00200278mov rax, [rbx]
0020027cmov [rsp+128], rsi
00200284mov [rsp+24], r8
00200289mov rdx, [rax+160]
00200290mov [rax+160], rsi
00200297lea rsi, [rsp+128]
0020029fmov [rsp+136], 1
002002abmov [rsp+64], rdx
002002b0mov rdx, [rsp+448]
002002b8mov [rax+160], rsi
002002bfmov rax, r8
002002c2sub rax, rdx
002002c5mov [rsp+152], rdx
002002cdshr rax, 3
002002d1movups [rsp+72], x0
002002d6mov [rsp+144], rax
002002demovups [rsp+88], x5
002002e3call caml_do_pending_actions_res
002002e8mov r8, [rsp+24]
002002edmovzx ecx, [rsp+32]
002002f2mov r12, rax
002002f5mov r13, rdx
002002f8mov rax, [rbx]
002002fcmov rdx, [rsp+128]
00200304test r12l, r12l
00200307mov [rax+160], rdx
0020030ejne 0x200882
00200314mov rdx, [rsp+64]
00200319mov rbx, [rsp+48]
0020031emov rbp, [rsp+56]
00200323mov [rax+160], rdx
0020032ajmp 0x2000f6
0020032fnop
00200330
00200330loc_200330:
00200330mov r13, rbp
00200333lea rdi, [rbx-8]
00200337and r13l, 1
0020033bje 0x200360
0020033dmovzx eax, [rbx-8]
00200341cmp al, -6
00200343je 0x200478
00200349cmp al, -1
0020034bje 0x200450
00200351
00200351loc_200351:
00200351mov r8, [rsp+448]
00200359jmp 0x200148
0020035enop
00200360
00200360loc_200360:
00200360movzx edx, [rbx-8]
00200364movzx esi, [rbp-8]
00200368lea r9, [rbp-8]
0020036cmov r13, rdx
0020036fmov rax, rsi
00200372cmp edx, esi
00200374je 0x200480
0020037acmp edx, 250
00200380je 0x200478
00200386cmp esi, 250
0020038cje 0x200440
00200392cmp edx, 249
00200398je 0x200640
0020039ecmp esi, 249
002003a4jne 0x200655
002003aamov eax, 247
002003afcmp edx, 247
002003b5jne 0x200655
002003bb
002003bbloc_2003bb:
002003bbmov rdi, [rsp+448]
002003c3cmp rdi, r15
002003c6je 0x2003d7
002003c8call caml_stat_free
002003cdxor ecx, ecx
002003cfmov [rsp+448], rcx
002003d7
002003d7loc_2003d7:
002003d7lea rdi, [rip+0x2e991]
002003decall caml_invalid_argument
002003e3nop [rax+rax]
002003e8
002003e8loc_2003e8:
002003e8mov r13, [rdi]
002003ebmov rax, [r9]
002003eeshr r13, 10
002003f2shr rax, 10
002003f6cmp r13, rax
002003f9jne 0x200655
002003fftest r13, r13
00200402je 0x2001e8
00200408cmp r13, 1
0020040cjbe 0x20043b
0020040emov rax, [rsp+456]
00200416cmp r8, rax
00200419jae 0x2006e0
0020041f
0020041floc_20041f:
0020041flea rax, [r13+r13+1]
00200424mov [r8], rbx
00200427add r8, 32
0020042bmov [r8-24], rbp
0020042fmov [r8-8], rax
00200433mov [r8-16], 3
0020043b
0020043bloc_20043b:
0020043bmov rbx, [rbx]
0020043enop
00200440
00200440loc_200440:
00200440mov rbp, [rbp]
00200444jmp 0x200227
00200449nop [rax]
00200450
00200450loc_200450:
00200450mov rax, [rbx]
00200453mov rax, [rax+48]
00200457test rax, rax
0020045ajne 0x200195
00200460
00200460loc_200460:
00200460mov r8, [rsp+448]
00200468mov r13l, 1
0020046ejmp 0x200148
00200473nop [rax+rax]
00200478
00200478loc_200478:
00200478mov rbx, [rbx]
0020047bjmp 0x200227
00200480
00200480loc_200480:
00200480lea edx, [rsi+11]
00200483cmp sil, -11
00200487jb 0x2003e8
0020048dlea rsi, [rip+0x314ec]
00200494movzx edx, dl
00200497movsxd rax, [rsi+4*rdx]
0020049badd rax, rsi
0020049ejmp rax
002004a1movsd_xmm x1, [rbx]
002004a5movsd_xmm x0, [rbp]
002004aacomisd x0, x1
002004aeja 0x200139
002004b4comisd x1, x0
002004b8ja 0x200460
002004baucomisd x1, x0
002004bejp 0x2004c6
002004c0je 0x2001e8
002004c6
002004c6loc_2004c6:
002004c6test r14l, r14l
002004c9je 0x2006c9
002004cfucomisd x1, x1
002004d3jnp 0x200460
002004d5ucomisd x0, x0
002004d9jp 0x2001e8
002004dfjmp 0x200139
002004e4nop [rax]
002004e8cmp rbp, rbx
002004ebje 0x2001e8
002004f1mov rdi, rbx
002004f4mov [rsp+40], r8
002004f9mov [rsp+32], cl
002004fdcall caml_string_length
00200502mov rdi, rbp
00200505mov r13, rax
00200508call caml_string_length
0020050dmov rsi, rbp
00200510mov rdi, rbx
00200513cmp r13, rax
00200516mov rdx, rax
00200519mov [rsp+24], rax
0020051ecmovbe rdx, r13
00200522call fn_f4600
00200527mov r9, [rsp+24]
0020052cmovzx ecx, [rsp+32]
00200531test eax, eax
00200533mov r8, [rsp+40]
00200538js 0x200139
0020053ejg 0x200460
00200544cmp r13, r9
00200547je 0x2001e8
0020054dsub r13, r9
00200550jmp 0x200351
00200555nop [rax]
00200558mov rdx, [rbx]
0020055bmov rsi, [rbp]
0020055fmov rax, [rdx+16]
00200563cmp rax, [rsi+16]
00200567jne 0x20075b
0020056dtest rax, rax
00200570jne 0x200195
00200576mov rdi, [rsp+448]
0020057ecmp rdi, r15
00200581je 0x200592
00200583call caml_stat_free
00200588xor esi, esi
0020058amov [rsp+448], rsi
00200592
00200592loc_200592:
00200592lea rdi, [rip+0x2e7be]
00200599call caml_invalid_argument
0020059enop
002005a0mov r13, [rdi]
002005a3mov rax, [r9]
002005a6shr r13, 10
002005aashr rax, 10
002005aecmp r13, rax
002005b1jne 0x200655
002005b7test r13, r13
002005baje 0x2001e8
002005c0lea rax, [rbx+8*r13]
002005c4sub rbp, rbx
002005c7jmp 0x20060c
002005c9nop [rax]
002005d0
002005d0loc_2005d0:
002005d0comisd x0, x1
002005d4ja 0x200460
002005daucomisd x0, x1
002005dejp 0x2005e2
002005e0je 0x2005ff
002005e2
002005e2loc_2005e2:
002005e2test r14l, r14l
002005e5je 0x2006c9
002005ebucomisd x0, x0
002005efjnp 0x200460
002005f5ucomisd x1, x1
002005f9jnp 0x200139
002005ff
002005ffloc_2005ff:
002005ffadd rbx, 8
00200603cmp rax, rbx
00200606je 0x2001e8
0020060c
0020060cloc_20060c:
0020060cmovsd_xmm x0, [rbx]
00200610movsd_xmm x1, [rbp+rbx]
00200616comisd x1, x0
0020061ajbe 0x2005d0
0020061cjmp 0x200139
00200621mov r13, [rbx+8]
00200625mov rax, [rbp+8]
00200629sar r13, 1
0020062csar rax, 1
0020062fcmp r13, rax
00200632je 0x2001e8
00200638jmp 0x200655
0020063anop [rax+rax]
00200640
00200640loc_200640:
00200640lea edx, [rsi+9]
00200643mov r13l, 247
00200649and edx, 253
0020064fje 0x2003bb
00200655
00200655loc_200655:
00200655mov r8, [rsp+448]
0020065dsub r13, rax
00200660jmp 0x200148
00200665nop [rax]
00200668
00200668loc_200668:
00200668xor r13l, r13l
0020066bjmp 0x200148
00200670mov rdi, [rsp+448]
00200678cmp rdi, r15
0020067bje 0x20068c
0020067dcall caml_stat_free
00200682xor edx, edx
00200684mov [rsp+448], rdx
0020068c
0020068cloc_20068c:
0020068clea rdi, [rip+0x2e6f6]
00200693call caml_invalid_argument
00200698nop [rax+rax]
002006a0
002006a0loc_2006a0:
002006a0mov r8, [rsp+448]
002006a8movsxd r13, eax
002006abjmp 0x200148
002006b0
002006b0loc_2006b0:
002006b0sar rbx, 1
002006b3sar rbp, 1
002006b6mov r8, [rsp+448]
002006besub rbx, rbp
002006c1mov r13, rbx
002006c4jmp 0x200148
002006c9
002006c9loc_2006c9:
002006c9mov r8, [rsp+448]
002006d1mov r13, 0x8000000000000000
002006dbjmp 0x200148
002006e0
002006e0loc_2006e0:
002006e0mov rdi, [rsp+448]
002006e8sub r8, rdi
002006ebmov [rsp+24], r8
002006f0cmp rdi, r15
002006f3je 0x20077e
002006f9sub rax, rdi
002006fcmov [rsp+40], cl
00200700mov rsi, rax
00200703sar rsi, 5
00200707lea rax, [rsi+rsi]
0020070bcmp rax, 0xfffff
00200711ja 0x20087a
00200717shl rsi, 6
0020071bmov [rsp+32], rsi
00200720call caml_stat_resize_noexc
00200725mov rsi, [rsp+32]
0020072amovzx ecx, [rsp+40]
0020072ftest rax, rax
00200732mov r8, rax
00200735je 0x20087a
0020073b
0020073bloc_20073b:
0020073bmov rax, [rsp+24]
00200740add rsi, r8
00200743mov [rsp+448], r8
0020074bmov [rsp+456], rsi
00200753add r8, rax
00200756jmp 0x20041f
0020075b
0020075bloc_20075b:
0020075bmov rsi, [rsi]
0020075emov rdi, [rdx]
00200761call fn_f45a0
00200766mov r8, [rsp+448]
0020076emovsxd r13, eax
00200771sar r13, 63
00200775or r13, 1
00200779jmp 0x200148
0020077e
0020077eloc_20077e:
0020077emov edi, 1024
00200783mov [rsp+32], cl
00200787call caml_stat_alloc_noexc
0020078cmovzx ecx, [rsp+32]
00200791test rax, rax
00200794mov r8, rax
00200797je 0x20087a
0020079dmovdqa x0, [r15]
002007a2mov esi, 1024
002007a7movups [rax], x0
002007aamovdqa x0, [r15+16]
002007b0movups [rax+16], x0
002007b4movdqa x0, [r15+32]
002007bamovups [rax+32], x0
002007bemovdqa x0, [r15+48]
002007c4movups [rax+48], x0
002007c8movdqa x0, [r15+64]
002007cemovups [rax+64], x0
002007d2movdqa x0, [r15+80]
002007d8movups [rax+80], x0
002007dcmovdqa x0, [r15+96]
002007e2movups [rax+96], x0
002007e6movdqa x0, [r15+112]
002007ecmovups [rax+112], x0
002007f0movdqa x0, [r15+128]
002007f9movups [rax+128], x0
00200800movdqa x0, [r15+144]
00200809movups [rax+144], x0
00200810movdqa x0, [r15+160]
00200819movups [rax+160], x0
00200820movdqa x0, [r15+176]
00200829movups [rax+176], x0
00200830movdqa x0, [r15+192]
00200839movups [rax+192], x0
00200840movdqa x0, [r15+208]
00200849movups [rax+208], x0
00200850movdqa x0, [r15+224]
00200859movups [rax+224], x0
00200860movdqa x0, [r15+240]
00200869movups [rax+240], x0
00200870jmp 0x20073b
00200875
00200875loc_200875:
00200875call fn_f4590
0020087a
0020087aloc_20087a:
0020087amov rdi, r15
0020087dcall fn_200040
00200882
00200882loc_200882:
00200882mov rdi, [rsp+448]
0020088acmp rdi, r15
0020088dje 0x20089e
0020088fcall caml_stat_free
00200894xor eax, eax
00200896mov [rsp+448], rax
0020089e
0020089eloc_20089e:
0020089emov rdi, r13
002008a1call caml_raise
00200080
00200080fn_200080:
00200080push r15
00200082push r14
00200084push r13
00200086push r12
00200088push rbp
00200089mov rbp, rsi
0020008cpush rbx
0020008dmov rbx, rdi
00200090sub rsp, 488
00200097mov r14, [0x28]
002000a0mov [rsp+472], r14
002000a8mov r14l, edx
002000ablea rax, [rsp+56]
002000b0lea r15, [rsp+192]
002000b8movq x3, rax
002000bdlea rdx, [rsp+48]
002000c2movq x0, r15
002000c7mov r8, r15
002000calea rax, [rsp+448]
002000d2movq x2, rdx
002000d7movq x4, rax
002000dcpunpcklqdq x2, x3
002000e0punpcklqdq x0, x4
002000e4movaps [rsp], x2
002000e8movaps [rsp+448], x0
002000f0mov ecx, r14l
002000f3and ecx, 1
002000f6
002000f6loc_2000f6:
002000f6mov r12l, 1023
002000fcnop [rax]
00200100
00200100loc_200100:
00200100cmp rbp, rbx
00200103jne 0x20010d
00200105test cl, cl
00200107jne 0x2001e8
0020010d
0020010dloc_20010d:
0020010dtest bl, 1
00200110je 0x200330
00200116cmp rbp, rbx
00200119je 0x2001e8
0020011ftest bpl, 1
00200123jne 0x2006b0
00200129movzx eax, [rbp-8]
0020012dcmp al, -6
0020012fje 0x200440
00200135cmp al, -1
00200137je 0x200188
00200139
00200139loc_200139:
00200139mov r8, [rsp+448]
00200141mov r13, -1
00200148
00200148loc_200148:
00200148cmp r8, r15
0020014bje 0x200155
0020014dmov rdi, r8
00200150call caml_stat_free
00200155
00200155loc_200155:
00200155mov rax, [rsp+472]
0020015dsub rax, [0x28]
00200166jne 0x200875
0020016cadd rsp, 488
00200173mov rax, r13
00200176pop rbx
00200177pop rbp
00200178pop r12
0020017apop r13
0020017cpop r14
0020017epop r15
00200180ret
00200181nop [rax]
00200188
00200188loc_200188:
00200188mov rax, [rbp]
0020018cmov rax, [rax+48]
00200190test rax, rax
00200193je 0x200139
00200195
00200195loc_200195:
00200195mov r13, [rip+0x75e4c]
0020019cmov [rsp+32], r8
002001a1mov rsi, rbp
002001a4mov rdi, rbx
002001a7mov [rsp+24], cl
002001abmov rdx, [r13]
002001b0mov [rdx+216], 0
002001bbcall rax
002001bdmov rdx, [r13]
002001c2movzx ecx, [rsp+24]
002001c7mov r8, [rsp+32]
002001cccmp [rdx+216], 0
002001d4je 0x2001e0
002001d6test r14b, 1
002001daje 0x2006c9
002001e0
002001e0loc_2001e0:
002001e0test eax, eax
002001e2jne 0x2006a0
002001e8
002001e8loc_2001e8:
002001e8cmp [rsp+448], r8
002001f0je 0x200668
002001f6mov rdx, [r8-16]
002001famov rsi, [r8-32]
002001femov rax, rdx
00200201sar rax, 1
00200204shl rax, 3
00200208add rsi, rax
0020020badd rax, [r8-24]
0020020fmov rbx, [rsi]
00200212mov rbp, [rax]
00200215lea rax, [rdx+2]
00200219mov [r8-16], rax
0020021dcmp rax, [r8-8]
00200221jne 0x200227
00200223sub r8, 32
00200227
00200227loc_200227:
00200227sub r12l, 1
0020022bjne 0x200100
00200231mov [rsp+32], r8
00200236mov [rsp+24], cl
0020023acall caml_check_pending_actions
0020023fmovzx ecx, [rsp+24]
00200244mov r8, [rsp+32]
00200249test eax, eax
0020024bje 0x2000f6
00200251mov [rsp+48], rbx
00200256lea rsi, [rsp+64]
0020025bmovdqa x5, [rsp]
00200260mov rbx, [rip+0x75d81]
00200267mov [rsp+32], cl
0020026bmov [rsp+56], rbp
00200270movdqa x0, [rip+0x29e58]
00200278mov rax, [rbx]
0020027cmov [rsp+128], rsi
00200284mov [rsp+24], r8
00200289mov rdx, [rax+160]
00200290mov [rax+160], rsi
00200297lea rsi, [rsp+128]
0020029fmov [rsp+136], 1
002002abmov [rsp+64], rdx
002002b0mov rdx, [rsp+448]
002002b8mov [rax+160], rsi
002002bfmov rax, r8
002002c2sub rax, rdx
002002c5mov [rsp+152], rdx
002002cdshr rax, 3
002002d1movups [rsp+72], x0
002002d6mov [rsp+144], rax
002002demovups [rsp+88], x5
002002e3call caml_do_pending_actions_res
002002e8mov r8, [rsp+24]
002002edmovzx ecx, [rsp+32]
002002f2mov r12, rax
002002f5mov r13, rdx
002002f8mov rax, [rbx]
002002fcmov rdx, [rsp+128]
00200304test r12l, r12l
00200307mov [rax+160], rdx
0020030ejne 0x200882
00200314mov rdx, [rsp+64]
00200319mov rbx, [rsp+48]
0020031emov rbp, [rsp+56]
00200323mov [rax+160], rdx
0020032ajmp 0x2000f6
0020032fnop
00200330
00200330loc_200330:
00200330mov r13, rbp
00200333lea rdi, [rbx-8]
00200337and r13l, 1
0020033bje 0x200360
0020033dmovzx eax, [rbx-8]
00200341cmp al, -6
00200343je 0x200478
00200349cmp al, -1
0020034bje 0x200450
00200351
00200351loc_200351:
00200351mov r8, [rsp+448]
00200359jmp 0x200148
0020035enop
00200360
00200360loc_200360:
00200360movzx edx, [rbx-8]
00200364movzx esi, [rbp-8]
00200368lea r9, [rbp-8]
0020036cmov r13, rdx
0020036fmov rax, rsi
00200372cmp edx, esi
00200374je 0x200480
0020037acmp edx, 250
00200380je 0x200478
00200386cmp esi, 250
0020038cje 0x200440
00200392cmp edx, 249
00200398je 0x200640
0020039ecmp esi, 249
002003a4jne 0x200655
002003aamov eax, 247
002003afcmp edx, 247
002003b5jne 0x200655
002003bb
002003bbloc_2003bb:
002003bbmov rdi, [rsp+448]
002003c3cmp rdi, r15
002003c6je 0x2003d7
002003c8call caml_stat_free
002003cdxor ecx, ecx
002003cfmov [rsp+448], rcx
002003d7
002003d7loc_2003d7:
002003d7lea rdi, [rip+0x2e991]
002003decall caml_invalid_argument
002003e3nop [rax+rax]
002003e8
002003e8loc_2003e8:
002003e8mov r13, [rdi]
002003ebmov rax, [r9]
002003eeshr r13, 10
002003f2shr rax, 10
002003f6cmp r13, rax
002003f9jne 0x200655
002003fftest r13, r13
00200402je 0x2001e8
00200408cmp r13, 1
0020040cjbe 0x20043b
0020040emov rax, [rsp+456]
00200416cmp r8, rax
00200419jae 0x2006e0
0020041f
0020041floc_20041f:
0020041flea rax, [r13+r13+1]
00200424mov [r8], rbx
00200427add r8, 32
0020042bmov [r8-24], rbp
0020042fmov [r8-8], rax
00200433mov [r8-16], 3
0020043b
0020043bloc_20043b:
0020043bmov rbx, [rbx]
0020043enop
00200440
00200440loc_200440:
00200440mov rbp, [rbp]
00200444jmp 0x200227
00200449nop [rax]
00200450
00200450loc_200450:
00200450mov rax, [rbx]
00200453mov rax, [rax+48]
00200457test rax, rax
0020045ajne 0x200195
00200460
00200460loc_200460:
00200460mov r8, [rsp+448]
00200468mov r13l, 1
0020046ejmp 0x200148
00200473nop [rax+rax]
00200478
00200478loc_200478:
00200478mov rbx, [rbx]
0020047bjmp 0x200227
00200480
00200480loc_200480:
00200480lea edx, [rsi+11]
00200483cmp sil, -11
00200487jb 0x2003e8
0020048dlea rsi, [rip+0x314ec]
00200494movzx edx, dl
00200497movsxd rax, [rsi+4*rdx]
0020049badd rax, rsi
0020049ejmp rax
002004a1movsd_xmm x1, [rbx]
002004a5movsd_xmm x0, [rbp]
002004aacomisd x0, x1
002004aeja 0x200139
002004b4comisd x1, x0
002004b8ja 0x200460
002004baucomisd x1, x0
002004bejp 0x2004c6
002004c0je 0x2001e8
002004c6
002004c6loc_2004c6:
002004c6test r14l, r14l
002004c9je 0x2006c9
002004cfucomisd x1, x1
002004d3jnp 0x200460
002004d5ucomisd x0, x0
002004d9jp 0x2001e8
002004dfjmp 0x200139
002004e4nop [rax]
002004e8cmp rbp, rbx
002004ebje 0x2001e8
002004f1mov rdi, rbx
002004f4mov [rsp+40], r8
002004f9mov [rsp+32], cl
002004fdcall caml_string_length
00200502mov rdi, rbp
00200505mov r13, rax
00200508call caml_string_length
0020050dmov rsi, rbp
00200510mov rdi, rbx
00200513cmp r13, rax
00200516mov rdx, rax
00200519mov [rsp+24], rax
0020051ecmovbe rdx, r13
00200522call fn_f4600
00200527mov r9, [rsp+24]
0020052cmovzx ecx, [rsp+32]
00200531test eax, eax
00200533mov r8, [rsp+40]
00200538js 0x200139
0020053ejg 0x200460
00200544cmp r13, r9
00200547je 0x2001e8
0020054dsub r13, r9
00200550jmp 0x200351
00200555nop [rax]
00200558mov rdx, [rbx]
0020055bmov rsi, [rbp]
0020055fmov rax, [rdx+16]
00200563cmp rax, [rsi+16]
00200567jne 0x20075b
0020056dtest rax, rax
00200570jne 0x200195
00200576mov rdi, [rsp+448]
0020057ecmp rdi, r15
00200581je 0x200592
00200583call caml_stat_free
00200588xor esi, esi
0020058amov [rsp+448], rsi
00200592
00200592loc_200592:
00200592lea rdi, [rip+0x2e7be]
00200599call caml_invalid_argument
0020059enop
002005a0mov r13, [rdi]
002005a3mov rax, [r9]
002005a6shr r13, 10
002005aashr rax, 10
002005aecmp r13, rax
002005b1jne 0x200655
002005b7test r13, r13
002005baje 0x2001e8
002005c0lea rax, [rbx+8*r13]
002005c4sub rbp, rbx
002005c7jmp 0x20060c
002005c9nop [rax]
002005d0
002005d0loc_2005d0:
002005d0comisd x0, x1
002005d4ja 0x200460
002005daucomisd x0, x1
002005dejp 0x2005e2
002005e0je 0x2005ff
002005e2
002005e2loc_2005e2:
002005e2test r14l, r14l
002005e5je 0x2006c9
002005ebucomisd x0, x0
002005efjnp 0x200460
002005f5ucomisd x1, x1
002005f9jnp 0x200139
002005ff
002005ffloc_2005ff:
002005ffadd rbx, 8
00200603cmp rax, rbx
00200606je 0x2001e8
0020060c
0020060cloc_20060c:
0020060cmovsd_xmm x0, [rbx]
00200610movsd_xmm x1, [rbp+rbx]
00200616comisd x1, x0
0020061ajbe 0x2005d0
0020061cjmp 0x200139
00200621mov r13, [rbx+8]
00200625mov rax, [rbp+8]
00200629sar r13, 1
0020062csar rax, 1
0020062fcmp r13, rax
00200632je 0x2001e8
00200638jmp 0x200655
0020063anop [rax+rax]
00200640
00200640loc_200640:
00200640lea edx, [rsi+9]
00200643mov r13l, 247
00200649and edx, 253
0020064fje 0x2003bb
00200655
00200655loc_200655:
00200655mov r8, [rsp+448]
0020065dsub r13, rax
00200660jmp 0x200148
00200665nop [rax]
00200668
00200668loc_200668:
00200668xor r13l, r13l
0020066bjmp 0x200148
00200670mov rdi, [rsp+448]
00200678cmp rdi, r15
0020067bje 0x20068c
0020067dcall caml_stat_free
00200682xor edx, edx
00200684mov [rsp+448], rdx
0020068c
0020068cloc_20068c:
0020068clea rdi, [rip+0x2e6f6]
00200693call caml_invalid_argument
00200698nop [rax+rax]
002006a0
002006a0loc_2006a0:
002006a0mov r8, [rsp+448]
002006a8movsxd r13, eax
002006abjmp 0x200148
002006b0
002006b0loc_2006b0:
002006b0sar rbx, 1
002006b3sar rbp, 1
002006b6mov r8, [rsp+448]
002006besub rbx, rbp
002006c1mov r13, rbx
002006c4jmp 0x200148
002006c9
002006c9loc_2006c9:
002006c9mov r8, [rsp+448]
002006d1mov r13, 0x8000000000000000
002006dbjmp 0x200148
002006e0
002006e0loc_2006e0:
002006e0mov rdi, [rsp+448]
002006e8sub r8, rdi
002006ebmov [rsp+24], r8
002006f0cmp rdi, r15
002006f3je 0x20077e
002006f9sub rax, rdi
002006fcmov [rsp+40], cl
00200700mov rsi, rax
00200703sar rsi, 5
00200707lea rax, [rsi+rsi]
0020070bcmp rax, 0xfffff
00200711ja 0x20087a
00200717shl rsi, 6
0020071bmov [rsp+32], rsi
00200720call caml_stat_resize_noexc
00200725mov rsi, [rsp+32]
0020072amovzx ecx, [rsp+40]
0020072ftest rax, rax
00200732mov r8, rax
00200735je 0x20087a
0020073b
0020073bloc_20073b:
0020073bmov rax, [rsp+24]
00200740add rsi, r8
00200743mov [rsp+448], r8
0020074bmov [rsp+456], rsi
00200753add r8, rax
00200756jmp 0x20041f
0020075b
0020075bloc_20075b:
0020075bmov rsi, [rsi]
0020075emov rdi, [rdx]
00200761call fn_f45a0
00200766mov r8, [rsp+448]
0020076emovsxd r13, eax
00200771sar r13, 63
00200775or r13, 1
00200779jmp 0x200148
0020077e
0020077eloc_20077e:
0020077emov edi, 1024
00200783mov [rsp+32], cl
00200787call caml_stat_alloc_noexc
0020078cmovzx ecx, [rsp+32]
00200791test rax, rax
00200794mov r8, rax
00200797je 0x20087a
0020079dmovdqa x0, [r15]
002007a2mov esi, 1024
002007a7movups [rax], x0
002007aamovdqa x0, [r15+16]
002007b0movups [rax+16], x0
002007b4movdqa x0, [r15+32]
002007bamovups [rax+32], x0
002007bemovdqa x0, [r15+48]
002007c4movups [rax+48], x0
002007c8movdqa x0, [r15+64]
002007cemovups [rax+64], x0
002007d2movdqa x0, [r15+80]
002007d8movups [rax+80], x0
002007dcmovdqa x0, [r15+96]
002007e2movups [rax+96], x0
002007e6movdqa x0, [r15+112]
002007ecmovups [rax+112], x0
002007f0movdqa x0, [r15+128]
002007f9movups [rax+128], x0
00200800movdqa x0, [r15+144]
00200809movups [rax+144], x0
00200810movdqa x0, [r15+160]
00200819movups [rax+160], x0
00200820movdqa x0, [r15+176]
00200829movups [rax+176], x0
00200830movdqa x0, [r15+192]
00200839movups [rax+192], x0
00200840movdqa x0, [r15+208]
00200849movups [rax+208], x0
00200850movdqa x0, [r15+224]
00200859movups [rax+224], x0
00200860movdqa x0, [r15+240]
00200869movups [rax+240], x0
00200870jmp 0x20073b
00200875
00200875loc_200875:
00200875call fn_f4590
0020087a
0020087aloc_20087a:
0020087amov rdi, r15
0020087dcall fn_200040
00200882
00200882loc_200882:
00200882mov rdi, [rsp+448]
0020088acmp rdi, r15
0020088dje 0x20089e
0020088fcall caml_stat_free
00200894xor eax, eax
00200896mov [rsp+448], rax
0020089e
0020089eloc_20089e:
0020089emov rdi, r13
002008a1call caml_raise
00200080
002008a6
002008a6 // align 0x10
002008a6 // align 0x10
002008b0
002008b0caml_compare:
002008b0sub rsp, 8
002008b4mov edx, 1
002008b9call fn_200080
002008betest rax, rax
002008c1js 0x2008d7
002008c3setg al
002008c6movzx eax, al
002008c9lea rax, [rax+rax+1]
002008ceadd rsp, 8
002008d2
002008d2loc_2008d2:
002008d2ret
002008d3mov rax, -1
002008dajmp 0x2008d2
002008dcdb 0xff
002008dddb 0xff
002008dejmp 0x2008d2
002008b0
002008b0caml_compare:
002008b0sub rsp, 8
002008b4mov edx, 1
002008b9call fn_200080
002008betest rax, rax
002008c1js 0x2008d7
002008c3setg al
002008c6movzx eax, al
002008c9lea rax, [rax+rax+1]
002008ceadd rsp, 8
002008d2
002008d2loc_2008d2:
002008d2ret
002008d3mov rax, -1
002008dajmp 0x2008d2
002008dcdb 0xff
002008dddb 0xff
002008dejmp 0x2008d2
002008b0
002008e0
002008e0caml_equal:
002008e0sub rsp, 8
002008e4xor edx, edx
002008e6call fn_200080
002008ebcmp rax, 1
002008efsbb rax, rax
002008f2add rsp, 8
002008f6and eax, 2
002008f9add rax, 1
002008fdret
002008fedb 0x83
002008ffrol [rcx], -61
002008e0
002008e0caml_equal:
002008e0sub rsp, 8
002008e4xor edx, edx
002008e6call fn_200080
002008ebcmp rax, 1
002008efsbb rax, rax
002008f2add rsp, 8
002008f6and eax, 2
002008f9add rax, 1
002008fdret
002008fedb 0x83
002008ffrol [rcx], -61
002008e0
00200902
00200902 // align 0x10
00200902 // align 0x10
00200910
00200910caml_notequal:
00200910sub rsp, 8
00200914xor edx, edx
00200916call fn_200080
0020091bcmp rax, 1
0020091fsbb rax, rax
00200922add rsp, 8
00200926and rax, -2
0020092aadd rax, 3
0020092eret
0020092fdb 0x83
00200930rol [rbx], -61
00200910
00200910caml_notequal:
00200910sub rsp, 8
00200914xor edx, edx
00200916call fn_200080
0020091bcmp rax, 1
0020091fsbb rax, rax
00200922add rsp, 8
00200926and rax, -2
0020092aadd rax, 3
0020092eret
0020092fdb 0x83
00200930rol [rbx], -61
00200910
00200933
00200933 // align 0x10
00200933 // align 0x10
00200940
00200940caml_lessthan:
00200940sub rsp, 8
00200944xor edx, edx
00200946call fn_200080
0020094bmov rdx, 0x7fffffffffffffff
00200955add rax, rdx
00200958sub rdx, 1
0020095ccmp rdx, rax
0020095fsetae al
00200962add rsp, 8
00200966movzx eax, al
00200969lea rax, [rax+rax+1]
0020096eret
0020096fdb 0x44
00200970add [rcx], al
00200972ret
00200940
00200940caml_lessthan:
00200940sub rsp, 8
00200944xor edx, edx
00200946call fn_200080
0020094bmov rdx, 0x7fffffffffffffff
00200955add rax, rdx
00200958sub rdx, 1
0020095ccmp rdx, rax
0020095fsetae al
00200962add rsp, 8
00200966movzx eax, al
00200969lea rax, [rax+rax+1]
0020096eret
0020096fdb 0x44
00200970add [rcx], al
00200972ret
00200940
00200973
00200973 // align 0x10
00200973 // align 0x10
00200980
00200980caml_lessequal:
00200980sub rsp, 8
00200984xor edx, edx
00200986call fn_200080
0020098badd rsp, 8
0020098fmov rdx, 0x7fffffffffffffff
00200999add rax, rdx
0020099cnot rax
0020099fshr rax, 63
002009a3lea rax, [rax+rax+1]
002009a8ret
002009a9db 0x44
002009aaadd [rcx], al
002009acret
00200980
00200980caml_lessequal:
00200980sub rsp, 8
00200984xor edx, edx
00200986call fn_200080
0020098badd rsp, 8
0020098fmov rdx, 0x7fffffffffffffff
00200999add rax, rdx
0020099cnot rax
0020099fshr rax, 63
002009a3lea rax, [rax+rax+1]
002009a8ret
002009a9db 0x44
002009aaadd [rcx], al
002009acret
00200980
002009ad
002009ad // align 0x10
002009ad // align 0x10
002009b0
002009b0caml_greaterthan:
002009b0sub rsp, 8
002009b4xor edx, edx
002009b6call fn_200080
002009bbtest rax, rax
002009besetg al
002009c1add rsp, 8
002009c5movzx eax, al
002009c8lea rax, [rax+rax+1]
002009cdret
002009cedb 0x44
002009cfadd [rcx], al
002009d1ret
002009b0
002009b0caml_greaterthan:
002009b0sub rsp, 8
002009b4xor edx, edx
002009b6call fn_200080
002009bbtest rax, rax
002009besetg al
002009c1add rsp, 8
002009c5movzx eax, al
002009c8lea rax, [rax+rax+1]
002009cdret
002009cedb 0x44
002009cfadd [rcx], al
002009d1ret
002009b0
002009d2
002009d2 // align 0x10
002009d2 // align 0x10
002009e0
002009e0caml_greaterequal:
002009e0sub rsp, 8
002009e4xor edx, edx
002009e6call fn_200080
002009ebadd rsp, 8
002009efsar rax, 63
002009f3and rax, -2
002009f7add rax, 3
002009fbret
002009fcdb 0x83
002009fdrol [rbx], -61
002009e0
002009e0caml_greaterequal:
002009e0sub rsp, 8
002009e4xor edx, edx
002009e6call fn_200080
002009ebadd rsp, 8
002009efsar rax, 63
002009f3and rax, -2
002009f7add rax, 3
002009fbret
002009fcdb 0x83
002009fdrol [rbx], -61
002009e0
00200a00
00200a00fn_200a00:
00200a00push r15
00200a02push r14
00200a04push r13
00200a06mov r13, rdi
00200a09lea rdi, [rsi+7]
00200a0dpush r12
00200a0fmov rsi, rdi
00200a12mov r12, rdx
00200a15push rbp
00200a16shr rsi, 3
00200a1apush rbx
00200a1blea rdi, [rsi+1]
00200a1fsub rsp, 120
00200a23mov rax, [rip+0x755be]
00200a2amov rbx, [0x28]
00200a33mov [rsp+104], rbx
00200a38mov rbx, rcx
00200a3bmov r14, [rax]
00200a3flea rax, [rsp+32]
00200a44mov [rsp+24], 1
00200a4dmov rbp, [r14+160]
00200a54mov [r14+160], rax
00200a5bmov eax, 1
00200a60movq x0, rax
00200a65lea rax, [rsp+24]
00200a6apunpcklqdq x0, x0
00200a6emov [rsp+32], rbp
00200a73mov [rsp+56], rax
00200a78movups [rsp+40], x0
00200a7dcmp rdi, 256
00200a84ja 0x200a8f
00200a86cmp [rip+0x177893], rdx
00200a8djae 0x200ae0
00200a8f
00200a8floc_200a8f:
00200a8fmov esi, 255
00200a94call caml_alloc_shr
00200a99mov rdi, r12
00200a9cmov rsi, rbx
00200a9fmov [rsp+24], rax
00200aa4mov [rax], r13
00200aa7call caml_adjust_gc_speed
00200aacmov rdi, [rsp+24]
00200ab1call caml_check_urgent_gc
00200ab6
00200ab6loc_200ab6:
00200ab6mov [r14+160], rbp
00200abdmov rdx, [rsp+104]
00200ac2sub rdx, [0x28]
00200acbjne 0x200b7d
00200ad1add rsp, 120
00200ad5pop rbx
00200ad6pop rbp
00200ad7pop r12
00200ad9pop r13
00200adbpop r14
00200addpop r15
00200adfret
00200ae0
00200ae0loc_200ae0:
00200ae0mov esi, 255
00200ae5mov r15, r8
00200ae8call caml_alloc_small
00200aedmov rdx, r12
00200af0mov [rsp+24], rax
00200af5mov [rax], r13
00200af8or rdx, [r13+8]
00200afcmov rax, [rsp+24]
00200b01je 0x200ab6
00200b03mov rcx, [rip+0x754de]
00200b0amov rcx, [rcx]
00200b0emov r13, [rcx+96]
00200b12mov rcx, [r13+136]
00200b19cmp rcx, [r13+144]
00200b20jae 0x200b50
00200b22
00200b22loc_200b22:
00200b22lea rsi, [rcx+24]
00200b26mov [r13+136], rsi
00200b2dmov [rcx], rax
00200b30mov [rcx+8], r12
00200b34mov [rcx+16], rbx
00200b38test r12, r12
00200b3bjne 0x200b70
00200b3d
00200b3dloc_200b3d:
00200b3dmov rax, [rsp+24]
00200b42jmp 0x200ab6
00200b47
00200b47 66 0f 1f 84 00 00 00 00 00 f........
00200b50
00200b50loc_200b50:
00200b50lea rdi, [r13+112]
00200b54mov [rsp+8], rax
00200b59call caml_realloc_custom_table
00200b5emov rcx, [r13+136]
00200b65mov rax, [rsp+8]
00200b6ajmp 0x200b22
00200b6c
00200b6c 0f 1f 40 00 ..@.
00200b70
00200b70loc_200b70:
00200b70mov rsi, r15
00200b73mov rdi, r12
00200b76call caml_adjust_minor_gc_speed
00200b7bjmp 0x200b3d
00200b7d
00200b7dloc_200b7d:
00200b7dcall fn_f4590
00200a00
00200a00fn_200a00:
00200a00push r15
00200a02push r14
00200a04push r13
00200a06mov r13, rdi
00200a09lea rdi, [rsi+7]
00200a0dpush r12
00200a0fmov rsi, rdi
00200a12mov r12, rdx
00200a15push rbp
00200a16shr rsi, 3
00200a1apush rbx
00200a1blea rdi, [rsi+1]
00200a1fsub rsp, 120
00200a23mov rax, [rip+0x755be]
00200a2amov rbx, [0x28]
00200a33mov [rsp+104], rbx
00200a38mov rbx, rcx
00200a3bmov r14, [rax]
00200a3flea rax, [rsp+32]
00200a44mov [rsp+24], 1
00200a4dmov rbp, [r14+160]
00200a54mov [r14+160], rax
00200a5bmov eax, 1
00200a60movq x0, rax
00200a65lea rax, [rsp+24]
00200a6apunpcklqdq x0, x0
00200a6emov [rsp+32], rbp
00200a73mov [rsp+56], rax
00200a78movups [rsp+40], x0
00200a7dcmp rdi, 256
00200a84ja 0x200a8f
00200a86cmp [rip+0x177893], rdx
00200a8djae 0x200ae0
00200a8f
00200a8floc_200a8f:
00200a8fmov esi, 255
00200a94call caml_alloc_shr
00200a99mov rdi, r12
00200a9cmov rsi, rbx
00200a9fmov [rsp+24], rax
00200aa4mov [rax], r13
00200aa7call caml_adjust_gc_speed
00200aacmov rdi, [rsp+24]
00200ab1call caml_check_urgent_gc
00200ab6
00200ab6loc_200ab6:
00200ab6mov [r14+160], rbp
00200abdmov rdx, [rsp+104]
00200ac2sub rdx, [0x28]
00200acbjne 0x200b7d
00200ad1add rsp, 120
00200ad5pop rbx
00200ad6pop rbp
00200ad7pop r12
00200ad9pop r13
00200adbpop r14
00200addpop r15
00200adfret
00200ae0
00200ae0loc_200ae0:
00200ae0mov esi, 255
00200ae5mov r15, r8
00200ae8call caml_alloc_small
00200aedmov rdx, r12
00200af0mov [rsp+24], rax
00200af5mov [rax], r13
00200af8or rdx, [r13+8]
00200afcmov rax, [rsp+24]
00200b01je 0x200ab6
00200b03mov rcx, [rip+0x754de]
00200b0amov rcx, [rcx]
00200b0emov r13, [rcx+96]
00200b12mov rcx, [r13+136]
00200b19cmp rcx, [r13+144]
00200b20jae 0x200b50
00200b22
00200b22loc_200b22:
00200b22lea rsi, [rcx+24]
00200b26mov [r13+136], rsi
00200b2dmov [rcx], rax
00200b30mov [rcx+8], r12
00200b34mov [rcx+16], rbx
00200b38test r12, r12
00200b3bjne 0x200b70
00200b3d
00200b3dloc_200b3d:
00200b3dmov rax, [rsp+24]
00200b42jmp 0x200ab6
00200b47
00200b47 66 0f 1f 84 00 00 00 00 00 f........
00200b50
00200b50loc_200b50:
00200b50lea rdi, [r13+112]
00200b54mov [rsp+8], rax
00200b59call caml_realloc_custom_table
00200b5emov rcx, [r13+136]
00200b65mov rax, [rsp+8]
00200b6ajmp 0x200b22
00200b6c
00200b6c 0f 1f 40 00 ..@.
00200b70
00200b70loc_200b70:
00200b70mov rsi, r15
00200b73mov rdi, r12
00200b76call caml_adjust_minor_gc_speed
00200b7bjmp 0x200b3d
00200b7d
00200b7dloc_200b7d:
00200b7dcall fn_f4590
00200a00
00200b82
00200b82 // align 0x10
00200b82 // align 0x10
00200b90
00200b90caml_custom_get_max_major:
00200b90sub rsp, 8
00200b94mov rax, [rip+0x75449]
00200b9bmov rax, [rax]
00200b9fmov rdi, [rax+280]
00200ba6call caml_heap_size
00200babmov rdx, 0x6d3a06d3a06d3a07
00200bb5mul rdx
00200bb8mov rax, rdx
00200bbbshr rax, 6
00200bbfimul rax, [rip+0x177765]
00200bc7add rsp, 8
00200bcbret
00200bccdb 0x83
00200bcddb 0xc4
00200bceor bl, al
00200b90
00200b90caml_custom_get_max_major:
00200b90sub rsp, 8
00200b94mov rax, [rip+0x75449]
00200b9bmov rax, [rax]
00200b9fmov rdi, [rax+280]
00200ba6call caml_heap_size
00200babmov rdx, 0x6d3a06d3a06d3a07
00200bb5mul rdx
00200bb8mov rax, rdx
00200bbbshr rax, 6
00200bbfimul rax, [rip+0x177765]
00200bc7add rsp, 8
00200bcbret
00200bccdb 0x83
00200bcddb 0xc4
00200bceor bl, al
00200b90
00200bd0
00200bd0caml_alloc_custom:
00200bd0mov r9, rdx
00200bd3mov r8, rcx
00200bd6test rcx, rcx
00200bd9jne 0x200c15
00200bdbmov rax, [rip+0x75402]
00200be2mov r8, [rip+0x17773b]
00200be9mov rax, [rax]
00200bedmov rdx, [rax+272]
00200bf4mov rax, 0x28f5c28f5c28f5c3
00200bfeshl rdx, 3
00200c02shr rdx, 2
00200c06mul rdx
00200c09shr rdx, 2
00200c0dimul r8, rdx
00200c11mov rdx, r9
00200c14jmp 0x200a00
00200c19db 0xe3
00200c1astd
00200c1bdb 0xff
00200c1cdb 0xff
00200bd0
00200bd0caml_alloc_custom:
00200bd0mov r9, rdx
00200bd3mov r8, rcx
00200bd6test rcx, rcx
00200bd9jne 0x200c15
00200bdbmov rax, [rip+0x75402]
00200be2mov r8, [rip+0x17773b]
00200be9mov rax, [rax]
00200bedmov rdx, [rax+272]
00200bf4mov rax, 0x28f5c28f5c28f5c3
00200bfeshl rdx, 3
00200c02shr rdx, 2
00200c06mul rdx
00200c09shr rdx, 2
00200c0dimul r8, rdx
00200c11mov rdx, r9
00200c14jmp 0x200a00
00200c19db 0xe3
00200c1astd
00200c1bdb 0xff
00200c1cdb 0xff
00200bd0
00200c1d
00200c1d // align 0x10
00200c1d // align 0x10
00200c20
00200c20caml_alloc_custom_mem:
00200c20push rbp
00200c21xor ecx, ecx
00200c23push rbx
00200c24mov rbx, rdx
00200c27sub rsp, 8
00200c2bmov rax, [rip+0x753b2]
00200c32mov rax, [rax]
00200c36mov rdx, [rax+272]
00200c3dmov rax, 0x28f5c28f5c28f5c3
00200c47shl rdx, 3
00200c4bshr rdx, 2
00200c4fmul rdx
00200c52shr rdx, 2
00200c56imul rdx, [rip+0x1776c6]
00200c5emov r8, rdx
00200c61mov rdx, rbx
00200c64call fn_200a00
00200c69lea rsi, [rbx+7]
00200c6dmov ecx, 2
00200c72shr rsi, 3
00200c76mov rdi, rax
00200c79mov rbp, rax
00200c7cmov rdx, rsi
00200c7fcall caml_memprof_sample_block
00200c84add rsp, 8
00200c88mov rax, rbp
00200c8bpop rbx
00200c8cpop rbp
00200c8dret
00200c8edb 0xe8
00200c8fpop rbx
00200c90pop rbp
00200c91ret
00200c20
00200c20caml_alloc_custom_mem:
00200c20push rbp
00200c21xor ecx, ecx
00200c23push rbx
00200c24mov rbx, rdx
00200c27sub rsp, 8
00200c2bmov rax, [rip+0x753b2]
00200c32mov rax, [rax]
00200c36mov rdx, [rax+272]
00200c3dmov rax, 0x28f5c28f5c28f5c3
00200c47shl rdx, 3
00200c4bshr rdx, 2
00200c4fmul rdx
00200c52shr rdx, 2
00200c56imul rdx, [rip+0x1776c6]
00200c5emov r8, rdx
00200c61mov rdx, rbx
00200c64call fn_200a00
00200c69lea rsi, [rbx+7]
00200c6dmov ecx, 2
00200c72shr rsi, 3
00200c76mov rdi, rax
00200c79mov rbp, rax
00200c7cmov rdx, rsi
00200c7fcall caml_memprof_sample_block
00200c84add rsp, 8
00200c88mov rax, rbp
00200c8bpop rbx
00200c8cpop rbp
00200c8dret
00200c8edb 0xe8
00200c8fpop rbx
00200c90pop rbp
00200c91ret
00200c20
00200c92
00200c92 // align 0x10
00200c92 // align 0x10
00200ca0
00200ca0caml_register_custom_operations:
00200ca0push rbx
00200ca1mov rbx, rdi
00200ca4mov edi, 16
00200ca9call caml_stat_alloc
00200caemov [rax], rbx
00200cb1mov rdx, rax
00200cb4mov rax, [rip+0x1778f1]
00200cbbmov [rdx+8], rax
00200cbf
00200cbfloc_200cbf:
00200cbflock cmpxchg [rip+0x1778e4], rdx
00200cc8jne 0x200cbf
00200ccapop rbx
00200ccbret
00200cccdb 0x75
00200ccdint 1
00200ccepop rbx
00200ccfret
00200ca0
00200ca0caml_register_custom_operations:
00200ca0push rbx
00200ca1mov rbx, rdi
00200ca4mov edi, 16
00200ca9call caml_stat_alloc
00200caemov [rax], rbx
00200cb1mov rdx, rax
00200cb4mov rax, [rip+0x1778f1]
00200cbbmov [rdx+8], rax
00200cbf
00200cbfloc_200cbf:
00200cbflock cmpxchg [rip+0x1778e4], rdx
00200cc8jne 0x200cbf
00200ccapop rbx
00200ccbret
00200cccdb 0x75
00200ccdint 1
00200ccepop rbx
00200ccfret
00200ca0
00200cd0
00200cd0caml_find_custom_operations:
00200cd0push r12
00200cd2push rbp
00200cd3push rbx
00200cd4mov rbx, [rip+0x1778d1]
00200cdbtest rbx, rbx
00200cdeje 0x200d18
00200ce0mov r12, rdi
00200ce3jmp 0x200cf9
00200ce5db 0x89
00200ce6cld
00200ce7jmp 0x200cf9
00200ce9
00200ce9 0f 1f 80 00 00 00 00 .......
00200cf0
00200cf0loc_200cf0:
00200cf0mov rbx, [rbx+8]
00200cf4test rbx, rbx
00200cf7je 0x200d18
00200cf9
00200cf9loc_200cf9:
00200cf9mov rbp, [rbx]
00200cfcmov rsi, r12
00200cffmov rdi, [rbp]
00200d03call fn_f45a0
00200d08test eax, eax
00200d0ajne 0x200cf0
00200d0cmov rax, rbp
00200d0fpop rbx
00200d10pop rbp
00200d11pop r12
00200d13ret
00200d14
00200d14 0f 1f 40 00 ..@.
00200d18
00200d18loc_200d18:
00200d18xor ebp, ebp
00200d1apop rbx
00200d1bmov rax, rbp
00200d1epop rbp
00200d1fpop r12
00200d21ret
00200cd0
00200cd0caml_find_custom_operations:
00200cd0push r12
00200cd2push rbp
00200cd3push rbx
00200cd4mov rbx, [rip+0x1778d1]
00200cdbtest rbx, rbx
00200cdeje 0x200d18
00200ce0mov r12, rdi
00200ce3jmp 0x200cf9
00200ce5db 0x89
00200ce6cld
00200ce7jmp 0x200cf9
00200ce9
00200ce9 0f 1f 80 00 00 00 00 .......
00200cf0
00200cf0loc_200cf0:
00200cf0mov rbx, [rbx+8]
00200cf4test rbx, rbx
00200cf7je 0x200d18
00200cf9
00200cf9loc_200cf9:
00200cf9mov rbp, [rbx]
00200cfcmov rsi, r12
00200cffmov rdi, [rbp]
00200d03call fn_f45a0
00200d08test eax, eax
00200d0ajne 0x200cf0
00200d0cmov rax, rbp
00200d0fpop rbx
00200d10pop rbp
00200d11pop r12
00200d13ret
00200d14
00200d14 0f 1f 40 00 ..@.
00200d18
00200d18loc_200d18:
00200d18xor ebp, ebp
00200d1apop rbx
00200d1bmov rax, rbp
00200d1epop rbp
00200d1fpop r12
00200d21ret
00200cd0
00200d22
00200d22 // align 0x20
00200d22 // align 0x20
00200d40
00200d40caml_final_custom_operations:
00200d40push rbp
00200d41mov rbp, rdi
00200d44push rbx
00200d45sub rsp, 8
00200d49mov rax, [rip+0x177854]
00200d50test rax, rax
00200d53jne 0x200d69
00200d55jmp 0x200d80
00200d57db 0x75
00200d58adc bl, ch
00200d5adb 0x25
00200d5b
00200d5b 0f 1f 44 00 00 ..D..
00200d60
00200d60loc_200d60:
00200d60mov rax, [rax+8]
00200d64test rax, rax
00200d67je 0x200d80
00200d69
00200d69loc_200d69:
00200d69mov rbx, [rax]
00200d6ccmp [rbx+8], rbp
00200d70jne 0x200d60
00200d72add rsp, 8
00200d76mov rax, rbx
00200d79pop rbx
00200d7apop rbp
00200d7bret
00200d7c
00200d7c 0f 1f 40 00 ..@.
00200d80
00200d80loc_200d80:
00200d80mov edi, 64
00200d85call caml_stat_alloc
00200d8amov edi, 16
00200d8fmov rbx, rax
00200d92lea rax, [rip+0x2e00c]
00200d99mov [rbx], rax
00200d9cmov [rbx+8], rbp
00200da0mov [rbx+16], 0
00200da8mov [rbx+24], 0
00200db0mov [rbx+32], 0
00200db8mov [rbx+40], 0
00200dc0mov [rbx+48], 0
00200dc8mov [rbx+56], 0
00200dd0call caml_stat_alloc
00200dd5mov [rax], rbx
00200dd8mov rdx, rax
00200ddbmov rax, [rip+0x1777c6]
00200de2
00200de2loc_200de2:
00200de2mov [rdx+8], rax
00200de6lock cmpxchg [rip+0x1777b9], rdx
00200defjne 0x200de2
00200df1add rsp, 8
00200df5mov rax, rbx
00200df8pop rbx
00200df9pop rbp
00200dfaret
00200d40
00200d40caml_final_custom_operations:
00200d40push rbp
00200d41mov rbp, rdi
00200d44push rbx
00200d45sub rsp, 8
00200d49mov rax, [rip+0x177854]
00200d50test rax, rax
00200d53jne 0x200d69
00200d55jmp 0x200d80
00200d57db 0x75
00200d58adc bl, ch
00200d5adb 0x25
00200d5b
00200d5b 0f 1f 44 00 00 ..D..
00200d60
00200d60loc_200d60:
00200d60mov rax, [rax+8]
00200d64test rax, rax
00200d67je 0x200d80
00200d69
00200d69loc_200d69:
00200d69mov rbx, [rax]
00200d6ccmp [rbx+8], rbp
00200d70jne 0x200d60
00200d72add rsp, 8
00200d76mov rax, rbx
00200d79pop rbx
00200d7apop rbp
00200d7bret
00200d7c
00200d7c 0f 1f 40 00 ..@.
00200d80
00200d80loc_200d80:
00200d80mov edi, 64
00200d85call caml_stat_alloc
00200d8amov edi, 16
00200d8fmov rbx, rax
00200d92lea rax, [rip+0x2e00c]
00200d99mov [rbx], rax
00200d9cmov [rbx+8], rbp
00200da0mov [rbx+16], 0
00200da8mov [rbx+24], 0
00200db0mov [rbx+32], 0
00200db8mov [rbx+40], 0
00200dc0mov [rbx+48], 0
00200dc8mov [rbx+56], 0
00200dd0call caml_stat_alloc
00200dd5mov [rax], rbx
00200dd8mov rdx, rax
00200ddbmov rax, [rip+0x1777c6]
00200de2
00200de2loc_200de2:
00200de2mov [rdx+8], rax
00200de6lock cmpxchg [rip+0x1777b9], rdx
00200defjne 0x200de2
00200df1add rsp, 8
00200df5mov rax, rbx
00200df8pop rbx
00200df9pop rbp
00200dfaret
00200d40
00200dfb
00200dfb // align 0x10
00200dfb // align 0x10
00200e00
00200e00caml_init_custom_operations:
00200e00sub rsp, 8
00200e04mov edi, 16
00200e09call caml_stat_alloc
00200e0emov rdx, rax
00200e11lea rax, [rip+0x74aa4]
00200e18mov [rdx], rax
00200e1bmov rax, [rip+0x17778a]
00200e22mov [rdx+8], rax
00200e26
00200e26loc_200e26:
00200e26lock cmpxchg [rip+0x17777d], rdx
00200e2fjne 0x200e26
00200e31mov edi, 16
00200e36call caml_stat_alloc
00200e3bmov rdx, rax
00200e3elea rax, [rip+0x749f7]
00200e45mov [rdx], rax
00200e48mov rax, [rip+0x17775d]
00200e4fmov [rdx+8], rax
00200e53
00200e53loc_200e53:
00200e53lock cmpxchg [rip+0x177750], rdx
00200e5cjne 0x200e53
00200e5emov edi, 16
00200e63call caml_stat_alloc
00200e68mov rdx, rax
00200e6blea rax, [rip+0x74a0a]
00200e72mov [rdx], rax
00200e75mov rax, [rip+0x177730]
00200e7cmov [rdx+8], rax
00200e80
00200e80loc_200e80:
00200e80lock cmpxchg [rip+0x177723], rdx
00200e89jne 0x200e80
00200e8bmov edi, 16
00200e90call caml_stat_alloc
00200e95mov rdx, rax
00200e98lea rax, [rip+0x7495d]
00200e9fmov [rdx], rax
00200ea2mov rax, [rip+0x177703]
00200ea9mov [rdx+8], rax
00200ead
00200eadloc_200ead:
00200eadlock cmpxchg [rip+0x1776f6], rdx
00200eb6jne 0x200ead
00200eb8add rsp, 8
00200ebcret
00200ebddb 0x83
00200ebedb 0xc4
00200ebfor bl, al
00200e00
00200e00caml_init_custom_operations:
00200e00sub rsp, 8
00200e04mov edi, 16
00200e09call caml_stat_alloc
00200e0emov rdx, rax
00200e11lea rax, [rip+0x74aa4]
00200e18mov [rdx], rax
00200e1bmov rax, [rip+0x17778a]
00200e22mov [rdx+8], rax
00200e26
00200e26loc_200e26:
00200e26lock cmpxchg [rip+0x17777d], rdx
00200e2fjne 0x200e26
00200e31mov edi, 16
00200e36call caml_stat_alloc
00200e3bmov rdx, rax
00200e3elea rax, [rip+0x749f7]
00200e45mov [rdx], rax
00200e48mov rax, [rip+0x17775d]
00200e4fmov [rdx+8], rax
00200e53
00200e53loc_200e53:
00200e53lock cmpxchg [rip+0x177750], rdx
00200e5cjne 0x200e53
00200e5emov edi, 16
00200e63call caml_stat_alloc
00200e68mov rdx, rax
00200e6blea rax, [rip+0x74a0a]
00200e72mov [rdx], rax
00200e75mov rax, [rip+0x177730]
00200e7cmov [rdx+8], rax
00200e80
00200e80loc_200e80:
00200e80lock cmpxchg [rip+0x177723], rdx
00200e89jne 0x200e80
00200e8bmov edi, 16
00200e90call caml_stat_alloc
00200e95mov rdx, rax
00200e98lea rax, [rip+0x7495d]
00200e9fmov [rdx], rax
00200ea2mov rax, [rip+0x177703]
00200ea9mov [rdx+8], rax
00200ead
00200eadloc_200ead:
00200eadlock cmpxchg [rip+0x1776f6], rdx
00200eb6jne 0x200ead
00200eb8add rsp, 8
00200ebcret
00200ebddb 0x83
00200ebedb 0xc4
00200ebfor bl, al
00200e00
00200ec1
00200ec1 // align 0x10
00200ec1 // align 0x10
00200ed5
00200ed5 // align 0x10
00200ed5 // align 0x10
00200ee0
00200ee0fn_200ee0:
00200ee0mov [rdi+232], 1
00200eebret
00200eecdb 0x00
00200eedadd [rax], al
00200eefret
00200ee0
00200ee0fn_200ee0:
00200ee0mov [rdi+232], 1
00200eebret
00200eecdb 0x00
00200eedadd [rax], al
00200eefret
00200ee0
00200ef0
00200ef0 // align 0x20
00200ef0 // align 0x20
00200f00
00200f00fn_200f00:
00200f00push r12
00200f02mov rax, [rip+0x1776cf]
00200f09mov esi, 1
00200f0epush rbp
00200f0fmov rbp, [rip+0x74a42]
00200f16push rbx
00200f17lea rbx, [8*rax]
00200f1fmov r12, [rbp+160]
00200f26imul r12, rbx
00200f2amov rdi, r12
00200f2dcall caml_mem_map
00200f32test rax, rax
00200f35je 0x200fba
00200f3blea rdx, [rax+r12]
00200f3fmov [rip+0x17768a], rax
00200f46mov rsi, rax
00200f49xor eax, eax
00200f4blea rdi, [rip+0x2ed06]
00200f52mov [rip+0x17766f], rdx
00200f59call caml_gc_log
00200f5ecmp [rbp+160], 0
00200f66je 0x200fb5
00200f68mov rdi, [rip+0x177691]
00200f6fmov rsi, [rip+0x17765a]
00200f76xor ecx, ecx
00200f78xor eax, eax
00200f7anop [rax+rax]
00200f80
00200f80loc_200f80:
00200f80mov rdx, rax
00200f83add ecx, 1
00200f86shl rdx, 5
00200f8aadd rdx, rax
00200f8dimul rax, rbx
00200f91lea rdx, [rdi+8*rdx]
00200f95add rax, rsi
00200f98mov [rdx+248], rax
00200f9fadd rax, rbx
00200fa2mov [rdx+256], rax
00200fa9movsxd rax, ecx
00200faccmp rax, [rbp+160]
00200fb3jb 0x200f80
00200fb5
00200fb5loc_200fb5:
00200fb5pop rbx
00200fb6pop rbp
00200fb7pop r12
00200fb9ret
00200fba
00200fbaloc_200fba:
00200fbalea rdi, [rip+0x2ec67]
00200fc1xor eax, eax
00200fc3call caml_fatal_error
00200f00
00200f00fn_200f00:
00200f00push r12
00200f02mov rax, [rip+0x1776cf]
00200f09mov esi, 1
00200f0epush rbp
00200f0fmov rbp, [rip+0x74a42]
00200f16push rbx
00200f17lea rbx, [8*rax]
00200f1fmov r12, [rbp+160]
00200f26imul r12, rbx
00200f2amov rdi, r12
00200f2dcall caml_mem_map
00200f32test rax, rax
00200f35je 0x200fba
00200f3blea rdx, [rax+r12]
00200f3fmov [rip+0x17768a], rax
00200f46mov rsi, rax
00200f49xor eax, eax
00200f4blea rdi, [rip+0x2ed06]
00200f52mov [rip+0x17766f], rdx
00200f59call caml_gc_log
00200f5ecmp [rbp+160], 0
00200f66je 0x200fb5
00200f68mov rdi, [rip+0x177691]
00200f6fmov rsi, [rip+0x17765a]
00200f76xor ecx, ecx
00200f78xor eax, eax
00200f7anop [rax+rax]
00200f80
00200f80loc_200f80:
00200f80mov rdx, rax
00200f83add ecx, 1
00200f86shl rdx, 5
00200f8aadd rdx, rax
00200f8dimul rax, rbx
00200f91lea rdx, [rdi+8*rdx]
00200f95add rax, rsi
00200f98mov [rdx+248], rax
00200f9fadd rax, rbx
00200fa2mov [rdx+256], rax
00200fa9movsxd rax, ecx
00200faccmp rax, [rbp+160]
00200fb3jb 0x200f80
00200fb5
00200fb5loc_200fb5:
00200fb5pop rbx
00200fb6pop rbp
00200fb7pop r12
00200fb9ret
00200fba
00200fbaloc_200fba:
00200fbalea rdi, [rip+0x2ec67]
00200fc1xor eax, eax
00200fc3call caml_fatal_error
00200f00
00200fc8
00200fc8 // align 0x10
00200fc8 // align 0x10
00200fd0
00200fd0fn_200fd0:
00200fd0push rbp
00200fd1mov rbp, rdi
00200fd4mov edi, 33
00200fd9push rbx
00200fdasub rsp, 8
00200fdecall caml_ev_begin
00200fe3mov eax, 1
00200fe8lock xadd [rip+0x1776f7], rax
00200ff1movsxd rdx, [rip+0x177720]
00200ff8add rax, 1
00200ffccmp rdx, rax
00200fffje 0x201088
00201005cmp [rip+0x1776fb], 0
0020100dje 0x201058
0020100fmov ebx, 300
00201014jmp 0x20103b
00201016
00201016 66 2e 0f 1f 84 00 00 00 00 00 f.........
00201020
00201020loc_201020:
00201020mov rsi, [rip+0x1776e9]
00201027mov rdi, rbp
0020102acall [rip+0x1776d8]
00201030test eax, eax
00201032je 0x201058
00201034nop
00201036sub ebx, 1
00201039je 0x201058
0020103b
0020103bloc_20103b:
0020103bmov eax, [rip+0x17769f]
00201041test eax, eax
00201043jne 0x201020
00201045
00201045loc_201045:
00201045add rsp, 8
00201049mov edi, 33
0020104epop rbx
0020104fpop rbp
00201050jmp 0x21cae0
00201055
00201055 0f 1f 00 ...
00201058
00201058loc_201058:
00201058mov eax, 1000
0020105djmp 0x201067
0020105f
0020105f 90 .
00201060
00201060loc_201060:
00201060nop
00201062sub eax, 1
00201065je 0x2010a8
00201067
00201067loc_201067:
00201067mov edx, [rip+0x177673]
0020106dtest edx, edx
0020106fjne 0x201060
00201071add rsp, 8
00201075mov edi, 33
0020107apop rbx
0020107bpop rbp
0020107cjmp 0x21cae0
00201081
00201081 0f 1f 80 00 00 00 00 .......
00201088
00201088loc_201088:
00201088lea rdi, [rip+0x177651]
0020108fcall caml_plat_latch_release
00201094add rsp, 8
00201098mov edi, 33
0020109dpop rbx
0020109epop rbp
0020109fjmp 0x21cae0
002010a4
002010a4 0f 1f 40 00 ..@.
002010a8
002010a8loc_2010a8:
002010a8lea rdi, [rip+0x177631]
002010afcall caml_plat_latch_wait
002010b4jmp 0x201045
00200fd0
00200fd0fn_200fd0:
00200fd0push rbp
00200fd1mov rbp, rdi
00200fd4mov edi, 33
00200fd9push rbx
00200fdasub rsp, 8
00200fdecall caml_ev_begin
00200fe3mov eax, 1
00200fe8lock xadd [rip+0x1776f7], rax
00200ff1movsxd rdx, [rip+0x177720]
00200ff8add rax, 1
00200ffccmp rdx, rax
00200fffje 0x201088
00201005cmp [rip+0x1776fb], 0
0020100dje 0x201058
0020100fmov ebx, 300
00201014jmp 0x20103b
00201016
00201016 66 2e 0f 1f 84 00 00 00 00 00 f.........
00201020
00201020loc_201020:
00201020mov rsi, [rip+0x1776e9]
00201027mov rdi, rbp
0020102acall [rip+0x1776d8]
00201030test eax, eax
00201032je 0x201058
00201034nop
00201036sub ebx, 1
00201039je 0x201058
0020103b
0020103bloc_20103b:
0020103bmov eax, [rip+0x17769f]
00201041test eax, eax
00201043jne 0x201020
00201045
00201045loc_201045:
00201045add rsp, 8
00201049mov edi, 33
0020104epop rbx
0020104fpop rbp
00201050jmp 0x21cae0
00201055
00201055 0f 1f 00 ...
00201058
00201058loc_201058:
00201058mov eax, 1000
0020105djmp 0x201067
0020105f
0020105f 90 .
00201060
00201060loc_201060:
00201060nop
00201062sub eax, 1
00201065je 0x2010a8
00201067
00201067loc_201067:
00201067mov edx, [rip+0x177673]
0020106dtest edx, edx
0020106fjne 0x201060
00201071add rsp, 8
00201075mov edi, 33
0020107apop rbx
0020107bpop rbp
0020107cjmp 0x21cae0
00201081
00201081 0f 1f 80 00 00 00 00 .......
00201088
00201088loc_201088:
00201088lea rdi, [rip+0x177651]
0020108fcall caml_plat_latch_release
00201094add rsp, 8
00201098mov edi, 33
0020109dpop rbx
0020109epop rbp
0020109fjmp 0x21cae0
002010a4
002010a4 0f 1f 40 00 ..@.
002010a8
002010a8loc_2010a8:
002010a8lea rdi, [rip+0x177631]
002010afcall caml_plat_latch_wait
002010b4jmp 0x201045
00200fd0
002010b6
002010b6 // align 0x10
002010b6 // align 0x10
002010c5
002010c5 // align 0x10
002010c5 // align 0x10
002010d5
002010d5 // align 0x10
002010d5 // align 0x10
002010e0
002010e0fn_2010e0:
002010e0push r12
002010e2push rbp
002010e3push rbx
002010e4sub rsp, 272
002010ebmov rbp, [0x28]
002010f4mov [rsp+264], rbp
002010fcmov rbp, rdi
002010ffmov rax, [rdi+152]
00201106cmp rax, 3
0020110aje 0x20114c
0020110clea r12, [rdi+152]
00201113lea rbx, [rbp+160]
0020111anop [rax+rax]
00201120
00201120loc_201120:
00201120mov rdi, rbx
00201123call fn_f47c0
00201128test eax, eax
0020112ajne 0x2011d6
00201130nop
00201132mov rdi, rbx
00201135call fn_f4710
0020113atest eax, eax
0020113cjne 0x2011e4
00201142mov rax, [r12]
00201146cmp rax, 3
0020114ajne 0x201120
0020114c
0020114cloc_20114c:
0020114cmov rdi, rsp
0020114flea r12, [rsp+128]
00201157call fn_f4260
0020115cxor edi, edi
0020115emov rdx, r12
00201161mov rsi, rsp
00201164call fn_f4130
00201169xor esi, esi
0020116blea rdi, [rbp+144]
00201172mov rcx, rbp
00201175lea rdx, [rip+5668]
0020117cmov [rbp+152], 1
00201187call fn_f4340
0020118cxor edx, edx
0020118emov rsi, r12
00201191mov edi, 2
00201196mov ebx, eax
00201198call fn_f4130
0020119dtest ebx, ebx
0020119fjne 0x2011f7
002011a1mov [rbp+136], 1
002011abmov rdi, [rbp+144]
002011b2call fn_f44e0
002011b7mov rax, [rsp+264]
002011bfsub rax, [0x28]
002011c8jne 0x2011f2
002011caadd rsp, 272
002011d1pop rbx
002011d2pop rbp
002011d3pop r12
002011d5ret
002011d6
002011d6loc_2011d6:
002011d6mov esi, eax
002011d8lea rdi, [rip+0x2e33b]
002011dfcall caml_plat_fatal_error
002011e4
002011e4loc_2011e4:
002011e4mov esi, eax
002011e6lea rdi, [rip+0x2e322]
002011edcall caml_plat_fatal_error
002011f2
002011f2loc_2011f2:
002011f2call fn_f4590
002011f7
002011f7loc_2011f7:
002011f7lea rdi, [rip+0x2ea82]
002011fecall caml_failwith
002010e0
002010e0fn_2010e0:
002010e0push r12
002010e2push rbp
002010e3push rbx
002010e4sub rsp, 272
002010ebmov rbp, [0x28]
002010f4mov [rsp+264], rbp
002010fcmov rbp, rdi
002010ffmov rax, [rdi+152]
00201106cmp rax, 3
0020110aje 0x20114c
0020110clea r12, [rdi+152]
00201113lea rbx, [rbp+160]
0020111anop [rax+rax]
00201120
00201120loc_201120:
00201120mov rdi, rbx
00201123call fn_f47c0
00201128test eax, eax
0020112ajne 0x2011d6
00201130nop
00201132mov rdi, rbx
00201135call fn_f4710
0020113atest eax, eax
0020113cjne 0x2011e4
00201142mov rax, [r12]
00201146cmp rax, 3
0020114ajne 0x201120
0020114c
0020114cloc_20114c:
0020114cmov rdi, rsp
0020114flea r12, [rsp+128]
00201157call fn_f4260
0020115cxor edi, edi
0020115emov rdx, r12
00201161mov rsi, rsp
00201164call fn_f4130
00201169xor esi, esi
0020116blea rdi, [rbp+144]
00201172mov rcx, rbp
00201175lea rdx, [rip+5668]
0020117cmov [rbp+152], 1
00201187call fn_f4340
0020118cxor edx, edx
0020118emov rsi, r12
00201191mov edi, 2
00201196mov ebx, eax
00201198call fn_f4130
0020119dtest ebx, ebx
0020119fjne 0x2011f7
002011a1mov [rbp+136], 1
002011abmov rdi, [rbp+144]
002011b2call fn_f44e0
002011b7mov rax, [rsp+264]
002011bfsub rax, [0x28]
002011c8jne 0x2011f2
002011caadd rsp, 272
002011d1pop rbx
002011d2pop rbp
002011d3pop r12
002011d5ret
002011d6
002011d6loc_2011d6:
002011d6mov esi, eax
002011d8lea rdi, [rip+0x2e33b]
002011dfcall caml_plat_fatal_error
002011e4
002011e4loc_2011e4:
002011e4mov esi, eax
002011e6lea rdi, [rip+0x2e322]
002011edcall caml_plat_fatal_error
002011f2
002011f2loc_2011f2:
002011f2call fn_f4590
002011f7
002011f7loc_2011f7:
002011f7lea rdi, [rip+0x2ea82]
002011fecall caml_failwith
002010e0
00201203
00201203 // align 0x10
00201203 // align 0x10
00201210
00201210fn_201210:
00201210push rbx
00201211mov rbx, [0xffffffffffffffe0]
0020121alea rdi, [rbx+160]
00201221call caml_plat_mutex_init
00201226lea rdi, [rbx+200]
0020122dcall caml_plat_cond_init
00201232mov rbx, [0xffffffffffffffe0]
0020123blea rdi, [rbx+160]
00201242call fn_f4710
00201247test eax, eax
00201249jne 0x20125e
0020124bmov rax, [rbx+8]
0020124fmov [0xffffffffffffffe8], rax
00201258pop rbx
00201259ret
0020125amov esi, eax
0020125clea rdi, [rip+0x2e2a8]
00201263call caml_plat_fatal_error
00201268db 0x64
00201269cmpsd [rdi], [rsi]
0020126aadd [rax], eax
00201210
00201210fn_201210:
00201210push rbx
00201211mov rbx, [0xffffffffffffffe0]
0020121alea rdi, [rbx+160]
00201221call caml_plat_mutex_init
00201226lea rdi, [rbx+200]
0020122dcall caml_plat_cond_init
00201232mov rbx, [0xffffffffffffffe0]
0020123blea rdi, [rbx+160]
00201242call fn_f4710
00201247test eax, eax
00201249jne 0x20125e
0020124bmov rax, [rbx+8]
0020124fmov [0xffffffffffffffe8], rax
00201258pop rbx
00201259ret
0020125amov esi, eax
0020125clea rdi, [rip+0x2e2a8]
00201263call caml_plat_fatal_error
00201268db 0x64
00201269cmpsd [rdi], [rsi]
0020126aadd [rax], eax
00201210
0020126c
0020126c // align 0x10
0020126c // align 0x10
00201270
00201270fn_201270:
00201270push rbx
00201271lea rdi, [rip+0x2ea30]
00201278xor eax, eax
0020127amov rbx, [0xffffffffffffffe8]
00201283mov rsi, [rbx+272]
0020128ashr rsi, 10
0020128ecall caml_gc_log
00201293mov rax, [0xffffffffffffffe8]
0020129cmov rdx, [0xffffffffffffffe0]
002012a5mov rdi, [rax+24]
002012a9mov rcx, [rdx+248]
002012b0mov rsi, [rax+16]
002012b4mov r9, [rax+272]
002012bbxor eax, eax
002012bdmov r8, [rdx+256]
002012c4mov rdx, rdi
002012c7lea rdi, [rip+0x2ea0a]
002012cecall caml_gc_log
002012d3mov rax, [rbx+272]
002012dalea rsi, [8*rax]
002012e2mov rax, [0xffffffffffffffe0]
002012ebmov rdi, [rax+248]
002012f2call caml_mem_decommit
002012f7pxor x0, x0
002012fbmov [rbx+472], 0
00201306movups [rbx+8], x0
0020130amovups [rbx+24], x0
0020130emov [rbx], 0
00201315pop rbx
00201316ret
00201270
00201270fn_201270:
00201270push rbx
00201271lea rdi, [rip+0x2ea30]
00201278xor eax, eax
0020127amov rbx, [0xffffffffffffffe8]
00201283mov rsi, [rbx+272]
0020128ashr rsi, 10
0020128ecall caml_gc_log
00201293mov rax, [0xffffffffffffffe8]
0020129cmov rdx, [0xffffffffffffffe0]
002012a5mov rdi, [rax+24]
002012a9mov rcx, [rdx+248]
002012b0mov rsi, [rax+16]
002012b4mov r9, [rax+272]
002012bbxor eax, eax
002012bdmov r8, [rdx+256]
002012c4mov rdx, rdi
002012c7lea rdi, [rip+0x2ea0a]
002012cecall caml_gc_log
002012d3mov rax, [rbx+272]
002012dalea rsi, [8*rax]
002012e2mov rax, [0xffffffffffffffe0]
002012ebmov rdi, [rax+248]
002012f2call caml_mem_decommit
002012f7pxor x0, x0
002012fbmov [rbx+472], 0
00201306movups [rbx+8], x0
0020130amovups [rbx+24], x0
0020130emov [rbx], 0
00201315pop rbx
00201316ret
00201270
00201317
00201317 // align 0x10
00201317 // align 0x10
00201320
00201320fn_201320:
00201320lock sub [rip+0x1773c7], 1
00201329je 0x201330
0020132bret
0020132c
0020132c 0f 1f 40 00 ..@.
00201330
00201330loc_201330:
00201330push rbx
00201331lea rbx, [rip+0x177368]
00201338mov rdi, rbx
0020133bcall fn_f4710
00201340test eax, eax
00201342jne 0x201377
00201344lea rdi, [rip+0x177315]
0020134bmov [rip+0x177302], 0
00201356call caml_plat_broadcast
0020135blea rdi, [rip+0x2da4a]
00201362xor eax, eax
00201364call caml_gc_log
00201369mov rdi, rbx
0020136ccall fn_f47c0
00201371test eax, eax
00201373jne 0x201385
00201375pop rbx
00201376ret
00201377
00201377loc_201377:
00201377mov esi, eax
00201379lea rdi, [rip+0x2e18f]
00201380call caml_plat_fatal_error
00201385
00201385loc_201385:
00201385mov esi, eax
00201387lea rdi, [rip+0x2e18c]
0020138ecall caml_plat_fatal_error
00201320
00201320fn_201320:
00201320lock sub [rip+0x1773c7], 1
00201329je 0x201330
0020132bret
0020132c
0020132c 0f 1f 40 00 ..@.
00201330
00201330loc_201330:
00201330push rbx
00201331lea rbx, [rip+0x177368]
00201338mov rdi, rbx
0020133bcall fn_f4710
00201340test eax, eax
00201342jne 0x201377
00201344lea rdi, [rip+0x177315]
0020134bmov [rip+0x177302], 0
00201356call caml_plat_broadcast
0020135blea rdi, [rip+0x2da4a]
00201362xor eax, eax
00201364call caml_gc_log
00201369mov rdi, rbx
0020136ccall fn_f47c0
00201371test eax, eax
00201373jne 0x201385
00201375pop rbx
00201376ret
00201377
00201377loc_201377:
00201377mov esi, eax
00201379lea rdi, [rip+0x2e18f]
00201380call caml_plat_fatal_error
00201385
00201385loc_201385:
00201385mov esi, eax
00201387lea rdi, [rip+0x2e18c]
0020138ecall caml_plat_fatal_error
00201320
00201393
00201393 // align 0x10
00201393 // align 0x10
002013a0
002013a0caml_incoming_interrupts_queued:
002013a0mov rax, [0xffffffffffffffe0]
002013a9mov rax, [rax+128]
002013b0test rax, rax
002013b3setne al
002013b6movzx eax, al
002013b9ret
002013badb 0x0f
002013bbmov dh, 192
002013bdret
002013a0
002013a0caml_incoming_interrupts_queued:
002013a0mov rax, [0xffffffffffffffe0]
002013a9mov rax, [rax+128]
002013b0test rax, rax
002013b3setne al
002013b6movzx eax, al
002013b9ret
002013badb 0x0f
002013bbmov dh, 192
002013bdret
002013a0
002013be
002013be // align 0x10
002013be // align 0x10
002013c0
002013c0caml_send_interrupt:
002013c0push rbp
002013c1lea rbp, [rdi+8]
002013c5push rbx
002013c6mov rbx, rdi
002013c9sub rsp, 8
002013cdmov [rdi+112], 1
002013d5mov rdi, rbp
002013d8call fn_f4710
002013ddtest eax, eax
002013dfjne 0x201410
002013e1lea rdi, [rbx+48]
002013e5call caml_plat_broadcast
002013eamov rdi, rbp
002013edcall fn_f47c0
002013f2test eax, eax
002013f4jne 0x20141e
002013f6mov rax, [rbx]
002013f9mov [rax], -1
00201400add rsp, 8
00201404mov eax, 1
00201409pop rbx
0020140apop rbp
0020140bret
0020140cmov esi, eax
0020140elea rdi, [rip+0x2e0f6]
00201415call caml_plat_fatal_error
0020141amov esi, eax
0020141clea rdi, [rip+0x2e0f3]
00201423call caml_plat_fatal_error
00201428db 0xa4
00201429movsd [rdi], [rsi]
0020142aadd [rax], eax
002013c0
002013c0caml_send_interrupt:
002013c0push rbp
002013c1lea rbp, [rdi+8]
002013c5push rbx
002013c6mov rbx, rdi
002013c9sub rsp, 8
002013cdmov [rdi+112], 1
002013d5mov rdi, rbp
002013d8call fn_f4710
002013ddtest eax, eax
002013dfjne 0x201410
002013e1lea rdi, [rbx+48]
002013e5call caml_plat_broadcast
002013eamov rdi, rbp
002013edcall fn_f47c0
002013f2test eax, eax
002013f4jne 0x20141e
002013f6mov rax, [rbx]
002013f9mov [rax], -1
00201400add rsp, 8
00201404mov eax, 1
00201409pop rbx
0020140apop rbp
0020140bret
0020140cmov esi, eax
0020140elea rdi, [rip+0x2e0f6]
00201415call caml_plat_fatal_error
0020141amov esi, eax
0020141clea rdi, [rip+0x2e0f3]
00201423call caml_plat_fatal_error
00201428db 0xa4
00201429movsd [rdi], [rsi]
0020142aadd [rax], eax
002013c0
0020142c
0020142c // align 0x10
0020142c // align 0x10
00201430
00201430caml_norm_minor_heap_size:
00201430mov eax, 257
00201435sub rsp, 8
00201439cmp rdi, rax
0020143ccmovl rdi, rax
00201440shl rdi, 3
00201444call caml_mem_round_up_pages
00201449add rsp, 8
0020144dshr rax, 3
00201451ret
00201452db 0xc1
00201453db 0xe8
00201454add eax, ebx
00201430
00201430caml_norm_minor_heap_size:
00201430mov eax, 257
00201435sub rsp, 8
00201439cmp rdi, rax
0020143ccmovl rdi, rax
00201440shl rdi, 3
00201444call caml_mem_round_up_pages
00201449add rsp, 8
0020144dshr rax, 3
00201451ret
00201452db 0xc1
00201453db 0xe8
00201454add eax, ebx
00201430
00201456
00201456 // align 0x10
00201456 // align 0x10
00201460
00201460caml_reset_domain_lock:
00201460push rbx
00201461mov rbx, [0xffffffffffffffe0]
0020146alea rdi, [rbx+160]
00201471call caml_plat_mutex_init
00201476lea rdi, [rbx+200]
0020147dpop rbx
0020147ejmp 0x21bb40
00201483db 0xb9
00201484cmpsb [rdi], [rsi]
00201485add [rax], eax
00201460
00201460caml_reset_domain_lock:
00201460push rbx
00201461mov rbx, [0xffffffffffffffe0]
0020146alea rdi, [rbx+160]
00201471call caml_plat_mutex_init
00201476lea rdi, [rbx+200]
0020147dpop rbx
0020147ejmp 0x21bb40
00201483db 0xb9
00201484cmpsb [rdi], [rsi]
00201485add [rax], eax
00201460
00201487
00201487 // align 0x10
00201487 // align 0x10
00201490
00201490caml_init_domain_self:
00201490movsxd rdi, edi
00201493mov rdx, [rip+0x177162]
0020149amov rax, rdi
0020149dshl rax, 5
002014a1add rax, rdi
002014a4lea rax, [rdx+8*rax]
002014a8mov [0xffffffffffffffe0], rax
002014b1mov rax, [rax+8]
002014b5mov [0xffffffffffffffe8], rax
002014beret
002014bfdb 0xff
002014c0db 0xff
002014c1inc ebx
00201490
00201490caml_init_domain_self:
00201490movsxd rdi, edi
00201493mov rdx, [rip+0x177162]
0020149amov rax, rdi
0020149dshl rax, 5
002014a1add rax, rdi
002014a4lea rax, [rdx+8*rax]
002014a8mov [0xffffffffffffffe0], rax
002014b1mov rax, [rax+8]
002014b5mov [0xffffffffffffffe8], rax
002014beret
002014bfdb 0xff
002014c0db 0xff
002014c1inc ebx
00201490
002014c3
002014c3 // align 0x10
002014c3 // align 0x10
002014d0
002014d0caml_ml_domain_id:
002014d0mov rax, [0xffffffffffffffe0]
002014d9mov rax, [rax+120]
002014ddlea rax, [rax+rax+1]
002014e2ret
002014e3db 0x44
002014e4add [rcx], al
002014e6ret
002014d0
002014d0caml_ml_domain_id:
002014d0mov rax, [0xffffffffffffffe0]
002014d9mov rax, [rax+120]
002014ddlea rax, [rax+rax+1]
002014e2ret
002014e3db 0x44
002014e4add [rcx], al
002014e6ret
002014d0
002014e7
002014e7 // align 0x10
002014e7 // align 0x10
002014f0
002014f0caml_ml_domain_index:
002014f0mov rax, [0xffffffffffffffe0]
002014f9movsxd rax, [rax]
002014fclea rax, [rax+rax+1]
00201501ret
00201502db 0x44
00201503add [rcx], al
00201505ret
002014f0
002014f0caml_ml_domain_index:
002014f0mov rax, [0xffffffffffffffe0]
002014f9movsxd rax, [rax]
002014fclea rax, [rax+rax+1]
00201501ret
00201502db 0x44
00201503add [rcx], al
00201505ret
002014f0
00201506
00201506 // align 0x10
00201506 // align 0x10
00201510
00201510caml_enter_global_barrier:
00201510mov eax, 1
00201515lock xadd [rip+0x177206], rax
0020151eadd rax, 1
00201522movsxd rdx, edi
00201525mov rsi, rax
00201528and rax, 0xffffffffffefffff
0020152eand esi, 0x100000
00201534cmp rax, rdx
00201537je 0x201578
00201539cmp edi, 2
0020153cmov ecx, 300
00201541mov eax, 1000
00201546cmove ecx, eax
00201549xor edx, edx
0020154bnop
0020154cmov eax, [rip+0x1771ca]
00201552and eax, 0x100000
00201557cmp rsi, rax
0020155ajne 0x201588
0020155cnop
0020155eadd edx, 1
00201561cmp edx, ecx
00201563jne 0x201550
00201565lea rdi, [rip+0x1771b0]
0020156cjmp 0x21bde0
00201571db 0x6b
00201572test al, 1
00201574db 0x00
00201575
00201575 0f 1f 00 ...
00201578
00201578loc_201578:
00201578lea rdi, [rip+0x1771a1]
0020157fjmp 0x21bd90
00201584
00201584 0f 1f 40 00 ..@.
00201588
00201588loc_201588:
00201588ret
00201510
00201510caml_enter_global_barrier:
00201510mov eax, 1
00201515lock xadd [rip+0x177206], rax
0020151eadd rax, 1
00201522movsxd rdx, edi
00201525mov rsi, rax
00201528and rax, 0xffffffffffefffff
0020152eand esi, 0x100000
00201534cmp rax, rdx
00201537je 0x201578
00201539cmp edi, 2
0020153cmov ecx, 300
00201541mov eax, 1000
00201546cmove ecx, eax
00201549xor edx, edx
0020154bnop
0020154cmov eax, [rip+0x1771ca]
00201552and eax, 0x100000
00201557cmp rsi, rax
0020155ajne 0x201588
0020155cnop
0020155eadd edx, 1
00201561cmp edx, ecx
00201563jne 0x201550
00201565lea rdi, [rip+0x1771b0]
0020156cjmp 0x21bde0
00201571db 0x6b
00201572test al, 1
00201574db 0x00
00201575
00201575 0f 1f 00 ...
00201578
00201578loc_201578:
00201578lea rdi, [rip+0x1771a1]
0020157fjmp 0x21bd90
00201584
00201584 0f 1f 40 00 ..@.
00201588
00201588loc_201588:
00201588ret
00201510
00201589
00201589 // align 0x10
00201589 // align 0x10
00201590
00201590caml_global_barrier_and_check_final:
00201590mov eax, 1
00201595lock xadd [rip+0x177186], rax
0020159eadd rax, 1
002015a2movsxd rdx, edi
002015a5mov rcx, rax
002015a8and rcx, 0xffffffffffefffff
002015afcmp rcx, rdx
002015b2jne 0x2015c0
002015b4ret
002015b5db 0xd1
002015b6jne 0x2015c0
002015b8ret
002015b9
002015b9 0f 1f 80 00 00 00 00 .......
002015c0
002015c0loc_2015c0:
002015c0and eax, 0x100000
002015c5mov esi, 300
002015cacmp edi, 2
002015cdmov edx, 1000
002015d2cmove esi, edx
002015d5xor ecx, ecx
002015d7nop [rax+rax]
002015e0
002015e0loc_2015e0:
002015e0mov edx, [rip+0x17713a]
002015e6and edx, 0x100000
002015eccmp rax, rdx
002015efjne 0x201618
002015f1nop
002015f3add ecx, 1
002015f6cmp ecx, esi
002015f8jne 0x2015e0
002015fasub rsp, 8
002015femov rsi, rax
00201601lea rdi, [rip+0x177118]
00201608call caml_plat_barrier_wait_sense
0020160dxor eax, eax
0020160fadd rsp, 8
00201613ret
00201614
00201614 0f 1f 40 00 ..@.
00201618
00201618loc_201618:
00201618xor eax, eax
0020161aret
00201590
00201590caml_global_barrier_and_check_final:
00201590mov eax, 1
00201595lock xadd [rip+0x177186], rax
0020159eadd rax, 1
002015a2movsxd rdx, edi
002015a5mov rcx, rax
002015a8and rcx, 0xffffffffffefffff
002015afcmp rcx, rdx
002015b2jne 0x2015c0
002015b4ret
002015b5db 0xd1
002015b6jne 0x2015c0
002015b8ret
002015b9
002015b9 0f 1f 80 00 00 00 00 .......
002015c0
002015c0loc_2015c0:
002015c0and eax, 0x100000
002015c5mov esi, 300
002015cacmp edi, 2
002015cdmov edx, 1000
002015d2cmove esi, edx
002015d5xor ecx, ecx
002015d7nop [rax+rax]
002015e0
002015e0loc_2015e0:
002015e0mov edx, [rip+0x17713a]
002015e6and edx, 0x100000
002015eccmp rax, rdx
002015efjne 0x201618
002015f1nop
002015f3add ecx, 1
002015f6cmp ecx, esi
002015f8jne 0x2015e0
002015fasub rsp, 8
002015femov rsi, rax
00201601lea rdi, [rip+0x177118]
00201608call caml_plat_barrier_wait_sense
0020160dxor eax, eax
0020160fadd rsp, 8
00201613ret
00201614
00201614 0f 1f 40 00 ..@.
00201618
00201618loc_201618:
00201618xor eax, eax
0020161aret
00201590
0020161b
0020161b // align 0x10
0020161b // align 0x10
00201620
00201620caml_global_barrier_release_as_final:
00201620mov rsi, rdi
00201623lea rdi, [rip+0x1770f2]
0020162aand esi, 0x100000
00201630jmp 0x21bd90
00201635db 0x57
00201636cmpsd [rdi], [rsi]
00201637add [rax], eax
00201620
00201620caml_global_barrier_release_as_final:
00201620mov rsi, rdi
00201623lea rdi, [rip+0x1770f2]
0020162aand esi, 0x100000
00201630jmp 0x21bd90
00201635db 0x57
00201636cmpsd [rdi], [rsi]
00201637add [rax], eax
00201620
00201639
00201639 // align 0x10
00201639 // align 0x10
00201640
00201640caml_global_barrier_num_participating:
00201640mov eax, [rip+0x1770ce]
00201646ret
00201647db 0x70
00201648db 0x17
00201649add bl, al
00201640
00201640caml_global_barrier_num_participating:
00201640mov eax, [rip+0x1770ce]
00201646ret
00201647db 0x70
00201648db 0x17
00201649add bl, al
00201640
0020164b
0020164b // align 0x10
0020164b // align 0x10
00201650
00201650caml_interrupt_self:
00201650mov rax, [0xffffffffffffffe8]
00201659mov [rax], -1
00201660ret
00201661db 0xff
00201662db 0xff
00201663inc ebx
00201650
00201650caml_interrupt_self:
00201650mov rax, [0xffffffffffffffe8]
00201659mov [rax], -1
00201660ret
00201661db 0xff
00201662db 0xff
00201663inc ebx
00201650
00201665
00201665 // align 0x20
00201665 // align 0x20
00201680
00201680caml_interrupt_all_signal_safe:
00201680mov rsi, [rip+0x742cd]
00201687mov rax, [rip+0x176f6e]
0020168emov rcx, [rsi+160]
00201695mov rdx, rcx
00201698shl rdx, 5
0020169cadd rdx, rcx
0020169flea rdx, [rax+8*rdx]
002016a3cmp rax, rdx
002016a6jb 0x2016f2
002016a8ret
002016a9db 0xd0
002016aajb 0x2016f2
002016acret
002016ad
002016ad 66 66 2e ff.
002016b0 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
002016c0
002016c0loc_2016c0:
002016c0mov rdx, [rax+16]
002016c4add rax, 264
002016camov [rdx], -1
002016d1mov rcx, [rsi+160]
002016d8mov rdx, rcx
002016dbshl rdx, 5
002016dfadd rdx, rcx
002016e2mov rcx, [rip+0x176f17]
002016e9lea rdx, [rcx+8*rdx]
002016edcmp rax, rdx
002016f0jae 0x2016fb
002016f2
002016f2loc_2016f2:
002016f2mov rdx, [rax+16]
002016f6test rdx, rdx
002016f9jne 0x2016c0
002016fb
002016fbloc_2016fb:
002016fbret
00201680
00201680caml_interrupt_all_signal_safe:
00201680mov rsi, [rip+0x742cd]
00201687mov rax, [rip+0x176f6e]
0020168emov rcx, [rsi+160]
00201695mov rdx, rcx
00201698shl rdx, 5
0020169cadd rdx, rcx
0020169flea rdx, [rax+8*rdx]
002016a3cmp rax, rdx
002016a6jb 0x2016f2
002016a8ret
002016a9db 0xd0
002016aajb 0x2016f2
002016acret
002016ad
002016ad 66 66 2e ff.
002016b0 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
002016c0
002016c0loc_2016c0:
002016c0mov rdx, [rax+16]
002016c4add rax, 264
002016camov [rdx], -1
002016d1mov rcx, [rsi+160]
002016d8mov rdx, rcx
002016dbshl rdx, 5
002016dfadd rdx, rcx
002016e2mov rcx, [rip+0x176f17]
002016e9lea rdx, [rcx+8*rdx]
002016edcmp rax, rdx
002016f0jae 0x2016fb
002016f2
002016f2loc_2016f2:
002016f2mov rdx, [rax+16]
002016f6test rdx, rdx
002016f9jne 0x2016c0
002016fb
002016fbloc_2016fb:
002016fbret
00201680
002016fc
002016fc // align 0x10
002016fc // align 0x10
00201700
00201700caml_reset_young_limit:
00201700mov rax, [rdi+472]
00201707mov rdx, [rdi+32]
0020170bcmp rax, rdx
0020170ecmovb rax, rdx
00201712xchg [rdi], rax
00201715movsxd rdx, [rdi+288]
0020171cmov rax, rdx
0020171fshl rax, 5
00201723add rax, rdx
00201726mov rdx, [rip+0x176ecf]
0020172dlea rax, [rdx+8*rax]
00201731mov rax, [rax+128]
00201738test rax, rax
0020173bjne 0x20174b
0020173dcmp [rdi+248], 0
00201745je 0x201760
00201747mov [rdi], -1
0020174ejmp 0x21fcf0
00201753db 0x99
00201754in eax, 1
00201756db 0x00
00201757
00201757 66 0f 1f 84 00 00 00 00 00 f........
00201760
00201760loc_201760:
00201760cmp [rdi+232], 0
00201768jne 0x20174b
0020176amov rdx, [rdi+152]
00201771mov rax, [rip+0x177478]
00201778cmp rdx, rax
0020177bjb 0x20174b
0020177djmp 0x201752
00201700
00201700caml_reset_young_limit:
00201700mov rax, [rdi+472]
00201707mov rdx, [rdi+32]
0020170bcmp rax, rdx
0020170ecmovb rax, rdx
00201712xchg [rdi], rax
00201715movsxd rdx, [rdi+288]
0020171cmov rax, rdx
0020171fshl rax, 5
00201723add rax, rdx
00201726mov rdx, [rip+0x176ecf]
0020172dlea rax, [rdx+8*rax]
00201731mov rax, [rax+128]
00201738test rax, rax
0020173bjne 0x20174b
0020173dcmp [rdi+248], 0
00201745je 0x201760
00201747mov [rdi], -1
0020174ejmp 0x21fcf0
00201753db 0x99
00201754in eax, 1
00201756db 0x00
00201757
00201757 66 0f 1f 84 00 00 00 00 00 f........
00201760
00201760loc_201760:
00201760cmp [rdi+232], 0
00201768jne 0x20174b
0020176amov rdx, [rdi+152]
00201771mov rax, [rip+0x177478]
00201778cmp rdx, rax
0020177bjb 0x20174b
0020177djmp 0x201752
00201700
0020177f
0020177f // align 0x10
0020177f // align 0x10
00201780
00201780fn_201780:
00201780push r13
00201782push r12
00201784push rbp
00201785lea rbp, [rip+0x2e54c]
0020178cpush rbx
0020178dmov rbx, rdi
00201790mov rdi, rbp
00201793sub rsp, 8
00201797mov r12, [0xffffffffffffffe8]
002017a0mov rax, [0xffffffffffffffe0]
002017a9mov rdx, [r12+24]
002017aemov rcx, [rax+248]
002017b5mov r8, [rax+256]
002017bcmov rsi, [r12+16]
002017c1xor eax, eax
002017c3mov r9, [r12+272]
002017cbcall caml_gc_log
002017d0mov eax, 257
002017d5cmp rbx, rax
002017d8cmovge rax, rbx
002017dcmov rdi, rax
002017dfshl rdi, 3
002017e3call caml_mem_round_up_pages
002017e8lea rdi, [rip+0x2e559]
002017efmov rsi, rax
002017f2mov rbx, rax
002017f5mov r13, rax
002017f8xor eax, eax
002017fashr rsi, 13
002017feand rbx, -8
00201802shr r13, 3
00201806call caml_gc_log
0020180bmov rsi, rbx
0020180emov rax, [0xffffffffffffffe0]
00201817mov rdi, [rax+248]
0020181ecall caml_mem_commit
00201823test rax, rax
00201826je 0x2018d0
0020182cmov [r12+272], r13
00201834mov rdi, r12
00201837mov rdx, [0xffffffffffffffe0]
00201840mov rax, [rdx+248]
00201847mov [r12+16], rax
0020184cadd rbx, [rdx+248]
00201853mov [r12+24], rbx
00201858mov [r12+8], rbx
0020185dsub rbx, rax
00201860mov rdx, rbx
00201863shr rbx, 63
00201867sar rdx, 3
0020186badd rbx, rdx
0020186esar rbx, 1
00201871lea rax, [rax+8*rbx]
00201875mov [r12+32], rax
0020187acall caml_memprof_set_trigger
0020187fmov rdi, r12
00201882call caml_reset_young_limit
00201887mov rax, [0xffffffffffffffe8]
00201890mov rdx, [0xffffffffffffffe0]
00201899mov rdi, [rax+24]
0020189dmov rcx, [rdx+248]
002018a4mov rsi, [rax+16]
002018a8mov r9, [rax+272]
002018afxor eax, eax
002018b1mov r8, [rdx+256]
002018b8mov rdx, rdi
002018bbmov rdi, rbp
002018becall caml_gc_log
002018c3xor eax, eax
002018c5
002018c5loc_2018c5:
002018c5add rsp, 8
002018c9pop rbx
002018capop rbp
002018cbpop r12
002018cdpop r13
002018cfret
002018d0
002018d0loc_2018d0:
002018d0mov eax, -1
002018d5jmp 0x2018c5
00201780
00201780fn_201780:
00201780push r13
00201782push r12
00201784push rbp
00201785lea rbp, [rip+0x2e54c]
0020178cpush rbx
0020178dmov rbx, rdi
00201790mov rdi, rbp
00201793sub rsp, 8
00201797mov r12, [0xffffffffffffffe8]
002017a0mov rax, [0xffffffffffffffe0]
002017a9mov rdx, [r12+24]
002017aemov rcx, [rax+248]
002017b5mov r8, [rax+256]
002017bcmov rsi, [r12+16]
002017c1xor eax, eax
002017c3mov r9, [r12+272]
002017cbcall caml_gc_log
002017d0mov eax, 257
002017d5cmp rbx, rax
002017d8cmovge rax, rbx
002017dcmov rdi, rax
002017dfshl rdi, 3
002017e3call caml_mem_round_up_pages
002017e8lea rdi, [rip+0x2e559]
002017efmov rsi, rax
002017f2mov rbx, rax
002017f5mov r13, rax
002017f8xor eax, eax
002017fashr rsi, 13
002017feand rbx, -8
00201802shr r13, 3
00201806call caml_gc_log
0020180bmov rsi, rbx
0020180emov rax, [0xffffffffffffffe0]
00201817mov rdi, [rax+248]
0020181ecall caml_mem_commit
00201823test rax, rax
00201826je 0x2018d0
0020182cmov [r12+272], r13
00201834mov rdi, r12
00201837mov rdx, [0xffffffffffffffe0]
00201840mov rax, [rdx+248]
00201847mov [r12+16], rax
0020184cadd rbx, [rdx+248]
00201853mov [r12+24], rbx
00201858mov [r12+8], rbx
0020185dsub rbx, rax
00201860mov rdx, rbx
00201863shr rbx, 63
00201867sar rdx, 3
0020186badd rbx, rdx
0020186esar rbx, 1
00201871lea rax, [rax+8*rbx]
00201875mov [r12+32], rax
0020187acall caml_memprof_set_trigger
0020187fmov rdi, r12
00201882call caml_reset_young_limit
00201887mov rax, [0xffffffffffffffe8]
00201890mov rdx, [0xffffffffffffffe0]
00201899mov rdi, [rax+24]
0020189dmov rcx, [rdx+248]
002018a4mov rsi, [rax+16]
002018a8mov r9, [rax+272]
002018afxor eax, eax
002018b1mov r8, [rdx+256]
002018b8mov rdx, rdi
002018bbmov rdi, rbp
002018becall caml_gc_log
002018c3xor eax, eax
002018c5
002018c5loc_2018c5:
002018c5add rsp, 8
002018c9pop rbx
002018capop rbp
002018cbpop r12
002018cdpop r13
002018cfret
002018d0
002018d0loc_2018d0:
002018d0mov eax, -1
002018d5jmp 0x2018c5
00201780
002018d7
002018d7 // align 0x10
002018d7 // align 0x10
002018e0
002018e0caml_reallocate_minor_heap:
002018e0push rbx
002018e1mov rbx, rdi
002018e4call fn_201270
002018e9mov rdi, rbx
002018ecpop rbx
002018edjmp 0x201780
002018f2db 0x8a
002018f3db 0xfe
002018f4db 0xff
002018f5db 0xff
002018e0
002018e0caml_reallocate_minor_heap:
002018e0push rbx
002018e1mov rbx, rdi
002018e4call fn_201270
002018e9mov rdi, rbx
002018ecpop rbx
002018edjmp 0x201780
002018f2db 0x8a
002018f3db 0xfe
002018f4db 0xff
002018f5db 0xff
002018e0
002018f6
002018f6 // align 0x10
002018f6 // align 0x10
00201900
00201900fn_201900:
00201900push r15
00201902push r14
00201904push r13
00201906push r12
00201908mov r12, rdi
0020190bpush rbp
0020190cmov rbp, rsi
0020190fpush rbx
00201910lea rbx, [rip+0x176d89]
00201917sub rsp, 24
0020191bcall caml_get_init_stack_wsize
00201920mov rdi, rbx
00201923mov [rsp+8], rax
00201928call fn_f4710
0020192dtest eax, eax
0020192fjne 0x201cc3
00201935mov rax, [rip+0x176d1c]
0020193ctest rax, rax
0020193fje 0x201995
00201941lea r14, [rip+0x176d18]
00201948mov rsi, rbx
0020194bmov rdi, r14
0020194ecall caml_plat_wait
00201953mov rax, [rip+0x176cfe]
0020195atest rax, rax
0020195dje 0x201995
0020195fadd [rip+0x176ce9], 1
00201967nop [rax+rax]
00201970
00201970loc_201970:
00201970mov rsi, rbx
00201973mov rdi, r14
00201976call caml_plat_wait
0020197bmov rax, [rip+0x176cd6]
00201982test rax, rax
00201985jne 0x201970
00201987sub [rip+0x176cc1], 1
0020198fje 0x201c78
00201995
00201995loc_201995:
00201995mov rcx, [rip+0x73fbc]
0020199cmovsxd rax, [rip+0x176c4d]
002019a3cmp rax, [rcx+160]
002019aaje 0x201c00
002019b0mov rdx, [rip+0x176c41]
002019b7mov r13, [rdx+8*rax]
002019bbtest r13, r13
002019beje 0x201c00
002019c4mov r14, [r13+8]
002019c8test r14, r14
002019cbje 0x201c90
002019d1
002019d1loc_2019d1:
002019d1lea rdi, [r13+160]
002019d8call fn_f4710
002019ddtest eax, eax
002019dfjne 0x201cc3
002019e5mov [0xffffffffffffffe0], r13
002019eexor r15l, r15l
002019f1mov [0xffffffffffffffe8], r14
002019famov rax, r15
002019fdxchg [r14], rax
00201a00mov rsi, r14
00201a03mov rdi, rbp
00201a06mov [r13+16], r14
00201a0amov eax, [r13]
00201a0emov [r14+288], eax
00201a15call caml_memprof_new_domain
00201a1acmp [r14+464], 0
00201a22je 0x201c63
00201a28mov [r14+360], 0
00201a33pxor x1, x1
00201a37pxor x0, x0
00201a3bmovups [r14+312], x0
00201a43movups [r14+328], x1
00201a4bmovups [r14+8], x1
00201a50movups [r14+24], x1
00201a55call caml_alloc_minor_tables
00201a5amov [r14+96], rax
00201a5etest rax, rax
00201a61je 0x201c5b
00201a67mov rbp, [r13+8]
00201a6bcall caml_init_shared_heap
00201a70mov [rbp+280], rax
00201a77mov rax, [r13+8]
00201a7bcmp [rax+280], 0
00201a83je 0x201c4a
00201a89mov rdi, r14
00201a8ccall caml_init_major_gc
00201a91test eax, eax
00201a93js 0x201c3a
00201a99call fn_201270
00201a9emov rdi, r12
00201aa1call fn_201780
00201aa6test eax, eax
00201aa8js 0x201c35
00201aaemov [r14+304], 1
00201ab9lea rbp, [r14+304]
00201ac0mov rdi, rbp
00201ac3call caml_register_generational_global_root
00201ac8call caml_alloc_stack_cache
00201acdmov [r14+72], rax
00201ad1test rax, rax
00201ad4je 0x201c2d
00201adapxor x1, x1
00201ademov rdi, [rsp+8]
00201ae3movups [r14+368], x1
00201aebcall caml_alloc_main_stack
00201af0mov [r14+40], rax
00201af4test rax, rax
00201af7je 0x201c2d
00201afdmov rsi, [rip+0x176ae4]
00201b04mov edi, 1
00201b09lea rax, [rsi+1]
00201b0dmov [r13+120], rsi
00201b11test rax, rax
00201b14mov [r14+296], esi
00201b1bcmove rax, rdi
00201b1fmov [r13+112], 1
00201b27mov [rip+0x176aba], rax
00201b2elock add [rip+0x176aa9], 1
00201b37pxor x1, x1
00201b3bmov [r14+64], 0
00201b43lea rdi, [r14+208]
00201b4amov [r14+48], 0
00201b52mov [r14+56], 0
00201b5amov [r14+144], 0
00201b65mov [r14+160], 0
00201b70mov [r14+200], 0
00201b7bmov [r14+208], 1
00201b86mov [r14+192], 0
00201b91movups [r14+80], x1
00201b96movups [r14+128], x1
00201b9ecall caml_register_generational_global_root
00201ba3pxor x1, x1
00201ba7mov [r14+216], 0
00201bb2mov [r14+248], 0
00201bbdmov [r14+152], 0
00201bc8movups [r14+224], x1
00201bd0xchg [r14+256], r15
00201bd7mov rax, [rip+0x73d7a]
00201bdemov [r14+264], 0
00201be9cmp [rax+128], 0
00201bf1jne 0x201cb4
00201bf7
00201bf7loc_201bf7:
00201bf7add [rip+0x1769f2], 1
00201bfenop
00201c00
00201c00loc_201c00:
00201c00lea rdi, [rip+0x2d1b9]
00201c07xor eax, eax
00201c09call caml_gc_log
00201c0emov rdi, rbx
00201c11call fn_f47c0
00201c16test eax, eax
00201c18jne 0x201cd1
00201c1eadd rsp, 24
00201c22pop rbx
00201c23pop rbp
00201c24pop r12
00201c26pop r13
00201c28pop r14
00201c2apop r15
00201c2cret
00201c2d
00201c2dloc_201c2d:
00201c2dmov rdi, rbp
00201c30call caml_remove_generational_global_root
00201c35
00201c35loc_201c35:
00201c35call caml_teardown_major_gc
00201c3a
00201c3aloc_201c3a:
00201c3amov rax, [r13+8]
00201c3emov rdi, [rax+280]
00201c45call caml_teardown_shared_heap
00201c4a
00201c4aloc_201c4a:
00201c4amov rdi, [r14+96]
00201c4ecall caml_free_minor_tables
00201c53mov [r14+96], 0
00201c5b
00201c5bloc_201c5b:
00201c5bmov rdi, r14
00201c5ecall caml_memprof_delete_domain
00201c63
00201c63loc_201c63:
00201c63mov [0xffffffffffffffe0], 0
00201c70jmp 0x201c00
00201c72
00201c72 66 0f 1f 44 00 00 f..D..
00201c78
00201c78loc_201c78:
00201c78lea rdi, [rip+0x1769a1]
00201c7fcall caml_plat_broadcast
00201c84jmp 0x201995
00201c89
00201c89 0f 1f 80 00 00 00 00 .......
00201c90
00201c90loc_201c90:
00201c90mov esi, 992
00201c95mov edi, 1
00201c9acall caml_stat_calloc_noexc
00201c9fmov r14, rax
00201ca2test rax, rax
00201ca5je 0x201c00
00201cabmov [r13+8], rax
00201cafjmp 0x2019d1
00201cb4
00201cb4loc_201cb4:
00201cb4mov edi, 1
00201cb9call caml_record_backtraces
00201cbejmp 0x201bf7
00201cc3
00201cc3loc_201cc3:
00201cc3mov esi, eax
00201cc5lea rdi, [rip+0x2d843]
00201ccccall caml_plat_fatal_error
00201cd1
00201cd1loc_201cd1:
00201cd1mov esi, eax
00201cd3lea rdi, [rip+0x2d840]
00201cdacall caml_plat_fatal_error
00201900
00201900fn_201900:
00201900push r15
00201902push r14
00201904push r13
00201906push r12
00201908mov r12, rdi
0020190bpush rbp
0020190cmov rbp, rsi
0020190fpush rbx
00201910lea rbx, [rip+0x176d89]
00201917sub rsp, 24
0020191bcall caml_get_init_stack_wsize
00201920mov rdi, rbx
00201923mov [rsp+8], rax
00201928call fn_f4710
0020192dtest eax, eax
0020192fjne 0x201cc3
00201935mov rax, [rip+0x176d1c]
0020193ctest rax, rax
0020193fje 0x201995
00201941lea r14, [rip+0x176d18]
00201948mov rsi, rbx
0020194bmov rdi, r14
0020194ecall caml_plat_wait
00201953mov rax, [rip+0x176cfe]
0020195atest rax, rax
0020195dje 0x201995
0020195fadd [rip+0x176ce9], 1
00201967nop [rax+rax]
00201970
00201970loc_201970:
00201970mov rsi, rbx
00201973mov rdi, r14
00201976call caml_plat_wait
0020197bmov rax, [rip+0x176cd6]
00201982test rax, rax
00201985jne 0x201970
00201987sub [rip+0x176cc1], 1
0020198fje 0x201c78
00201995
00201995loc_201995:
00201995mov rcx, [rip+0x73fbc]
0020199cmovsxd rax, [rip+0x176c4d]
002019a3cmp rax, [rcx+160]
002019aaje 0x201c00
002019b0mov rdx, [rip+0x176c41]
002019b7mov r13, [rdx+8*rax]
002019bbtest r13, r13
002019beje 0x201c00
002019c4mov r14, [r13+8]
002019c8test r14, r14
002019cbje 0x201c90
002019d1
002019d1loc_2019d1:
002019d1lea rdi, [r13+160]
002019d8call fn_f4710
002019ddtest eax, eax
002019dfjne 0x201cc3
002019e5mov [0xffffffffffffffe0], r13
002019eexor r15l, r15l
002019f1mov [0xffffffffffffffe8], r14
002019famov rax, r15
002019fdxchg [r14], rax
00201a00mov rsi, r14
00201a03mov rdi, rbp
00201a06mov [r13+16], r14
00201a0amov eax, [r13]
00201a0emov [r14+288], eax
00201a15call caml_memprof_new_domain
00201a1acmp [r14+464], 0
00201a22je 0x201c63
00201a28mov [r14+360], 0
00201a33pxor x1, x1
00201a37pxor x0, x0
00201a3bmovups [r14+312], x0
00201a43movups [r14+328], x1
00201a4bmovups [r14+8], x1
00201a50movups [r14+24], x1
00201a55call caml_alloc_minor_tables
00201a5amov [r14+96], rax
00201a5etest rax, rax
00201a61je 0x201c5b
00201a67mov rbp, [r13+8]
00201a6bcall caml_init_shared_heap
00201a70mov [rbp+280], rax
00201a77mov rax, [r13+8]
00201a7bcmp [rax+280], 0
00201a83je 0x201c4a
00201a89mov rdi, r14
00201a8ccall caml_init_major_gc
00201a91test eax, eax
00201a93js 0x201c3a
00201a99call fn_201270
00201a9emov rdi, r12
00201aa1call fn_201780
00201aa6test eax, eax
00201aa8js 0x201c35
00201aaemov [r14+304], 1
00201ab9lea rbp, [r14+304]
00201ac0mov rdi, rbp
00201ac3call caml_register_generational_global_root
00201ac8call caml_alloc_stack_cache
00201acdmov [r14+72], rax
00201ad1test rax, rax
00201ad4je 0x201c2d
00201adapxor x1, x1
00201ademov rdi, [rsp+8]
00201ae3movups [r14+368], x1
00201aebcall caml_alloc_main_stack
00201af0mov [r14+40], rax
00201af4test rax, rax
00201af7je 0x201c2d
00201afdmov rsi, [rip+0x176ae4]
00201b04mov edi, 1
00201b09lea rax, [rsi+1]
00201b0dmov [r13+120], rsi
00201b11test rax, rax
00201b14mov [r14+296], esi
00201b1bcmove rax, rdi
00201b1fmov [r13+112], 1
00201b27mov [rip+0x176aba], rax
00201b2elock add [rip+0x176aa9], 1
00201b37pxor x1, x1
00201b3bmov [r14+64], 0
00201b43lea rdi, [r14+208]
00201b4amov [r14+48], 0
00201b52mov [r14+56], 0
00201b5amov [r14+144], 0
00201b65mov [r14+160], 0
00201b70mov [r14+200], 0
00201b7bmov [r14+208], 1
00201b86mov [r14+192], 0
00201b91movups [r14+80], x1
00201b96movups [r14+128], x1
00201b9ecall caml_register_generational_global_root
00201ba3pxor x1, x1
00201ba7mov [r14+216], 0
00201bb2mov [r14+248], 0
00201bbdmov [r14+152], 0
00201bc8movups [r14+224], x1
00201bd0xchg [r14+256], r15
00201bd7mov rax, [rip+0x73d7a]
00201bdemov [r14+264], 0
00201be9cmp [rax+128], 0
00201bf1jne 0x201cb4
00201bf7
00201bf7loc_201bf7:
00201bf7add [rip+0x1769f2], 1
00201bfenop
00201c00
00201c00loc_201c00:
00201c00lea rdi, [rip+0x2d1b9]
00201c07xor eax, eax
00201c09call caml_gc_log
00201c0emov rdi, rbx
00201c11call fn_f47c0
00201c16test eax, eax
00201c18jne 0x201cd1
00201c1eadd rsp, 24
00201c22pop rbx
00201c23pop rbp
00201c24pop r12
00201c26pop r13
00201c28pop r14
00201c2apop r15
00201c2cret
00201c2d
00201c2dloc_201c2d:
00201c2dmov rdi, rbp
00201c30call caml_remove_generational_global_root
00201c35
00201c35loc_201c35:
00201c35call caml_teardown_major_gc
00201c3a
00201c3aloc_201c3a:
00201c3amov rax, [r13+8]
00201c3emov rdi, [rax+280]
00201c45call caml_teardown_shared_heap
00201c4a
00201c4aloc_201c4a:
00201c4amov rdi, [r14+96]
00201c4ecall caml_free_minor_tables
00201c53mov [r14+96], 0
00201c5b
00201c5bloc_201c5b:
00201c5bmov rdi, r14
00201c5ecall caml_memprof_delete_domain
00201c63
00201c63loc_201c63:
00201c63mov [0xffffffffffffffe0], 0
00201c70jmp 0x201c00
00201c72
00201c72 66 0f 1f 44 00 00 f..D..
00201c78
00201c78loc_201c78:
00201c78lea rdi, [rip+0x1769a1]
00201c7fcall caml_plat_broadcast
00201c84jmp 0x201995
00201c89
00201c89 0f 1f 80 00 00 00 00 .......
00201c90
00201c90loc_201c90:
00201c90mov esi, 992
00201c95mov edi, 1
00201c9acall caml_stat_calloc_noexc
00201c9fmov r14, rax
00201ca2test rax, rax
00201ca5je 0x201c00
00201cabmov [r13+8], rax
00201cafjmp 0x2019d1
00201cb4
00201cb4loc_201cb4:
00201cb4mov edi, 1
00201cb9call caml_record_backtraces
00201cbejmp 0x201bf7
00201cc3
00201cc3loc_201cc3:
00201cc3mov esi, eax
00201cc5lea rdi, [rip+0x2d843]
00201ccccall caml_plat_fatal_error
00201cd1
00201cd1loc_201cd1:
00201cd1mov esi, eax
00201cd3lea rdi, [rip+0x2d840]
00201cdacall caml_plat_fatal_error
00201900
00201cdf
00201cdf // align 0x10
00201cdf // align 0x10
00201ce0
00201ce0caml_init_domains:
00201ce0push r14
00201ce2mov r14, rsi
00201ce5mov esi, 264
00201ceapush r13
00201cecmov r13, rdi
00201cefpush r12
00201cf1push rbp
00201cf2push rbx
00201cf3call caml_stat_calloc_noexc
00201cf8mov [rip+0x1768fd], rax
00201cfftest rax, rax
00201d02je 0x201e15
00201d08mov esi, 8
00201d0dmov rdi, r13
00201d10call caml_stat_calloc_noexc
00201d15mov [rip+0x176a10], rax
00201d1ctest rax, rax
00201d1fje 0x201e3b
00201d25mov esi, 8
00201d2amov rdi, r13
00201d2dcall caml_stat_calloc_noexc
00201d32mov [rip+0x1768bb], rax
00201d39test rax, rax
00201d3cje 0x201e2f
00201d42call fn_200f00
00201d47test r13, r13
00201d4aje 0x201df2
00201d50xor ebp, ebp
00201d52xor eax, eax
00201d54xor r12l, r12l
00201d57nop [rax+rax]
00201d5cmov rdx, rax
00201d5fmov rcx, [rip+0x176896]
00201d66shl rdx, 5
00201d6aadd rdx, rax
00201d6dlea rbx, [rcx+8*rdx]
00201d71mov rdx, [rip+0x17687c]
00201d78mov [rdx+8*rax], rbx
00201d7cmov rax, r12
00201d7fmov [rbx], ebp
00201d81xchg [rbx+16], rax
00201d85lea rdi, [rbx+24]
00201d89call caml_plat_mutex_init
00201d8elea rdi, [rbx+64]
00201d92call caml_plat_cond_init
00201d97mov [rbx+112], 0
00201d9fmov rax, r12
00201da2mov [rbx+120], 0
00201daaxchg [rbx+128], rax
00201db1lea rdi, [rbx+160]
00201db8call caml_plat_mutex_init
00201dbdlea rdi, [rbx+200]
00201dc4call caml_plat_cond_init
00201dc9mov eax, 3
00201dcemov [rbx+136], 0
00201dd8xchg [rbx+152], rax
00201ddfadd ebp, 1
00201de2movsxd rax, ebp
00201de5cmp rax, r13
00201de8jb 0x201d60
00201deexor esi, esi
00201df0mov rdi, r14
00201df3call fn_201900
00201df8cmp [0xffffffffffffffe0], 0
00201e02je 0x201e21
00201e04pop rbx
00201e05pop rbp
00201e06pop r12
00201e08pop r13
00201e0apop r14
00201e0cjmp 0x21f960
00201e11lea rdi, [rip+0x2df5c]
00201e18call caml_fatal_error
00201e1dlea rdi, [rip+0x2cfad]
00201e24xor eax, eax
00201e26call caml_fatal_error
00201e2blea rdi, [rip+0x2df92]
00201e32call caml_fatal_error
00201e37lea rdi, [rip+0x2df56]
00201e3ecall caml_fatal_error
00201e43db 0xe9
00201e44pop [rcx]
00201e46db 0x00
00201ce0
00201ce0caml_init_domains:
00201ce0push r14
00201ce2mov r14, rsi
00201ce5mov esi, 264
00201ceapush r13
00201cecmov r13, rdi
00201cefpush r12
00201cf1push rbp
00201cf2push rbx
00201cf3call caml_stat_calloc_noexc
00201cf8mov [rip+0x1768fd], rax
00201cfftest rax, rax
00201d02je 0x201e15
00201d08mov esi, 8
00201d0dmov rdi, r13
00201d10call caml_stat_calloc_noexc
00201d15mov [rip+0x176a10], rax
00201d1ctest rax, rax
00201d1fje 0x201e3b
00201d25mov esi, 8
00201d2amov rdi, r13
00201d2dcall caml_stat_calloc_noexc
00201d32mov [rip+0x1768bb], rax
00201d39test rax, rax
00201d3cje 0x201e2f
00201d42call fn_200f00
00201d47test r13, r13
00201d4aje 0x201df2
00201d50xor ebp, ebp
00201d52xor eax, eax
00201d54xor r12l, r12l
00201d57nop [rax+rax]
00201d5cmov rdx, rax
00201d5fmov rcx, [rip+0x176896]
00201d66shl rdx, 5
00201d6aadd rdx, rax
00201d6dlea rbx, [rcx+8*rdx]
00201d71mov rdx, [rip+0x17687c]
00201d78mov [rdx+8*rax], rbx
00201d7cmov rax, r12
00201d7fmov [rbx], ebp
00201d81xchg [rbx+16], rax
00201d85lea rdi, [rbx+24]
00201d89call caml_plat_mutex_init
00201d8elea rdi, [rbx+64]
00201d92call caml_plat_cond_init
00201d97mov [rbx+112], 0
00201d9fmov rax, r12
00201da2mov [rbx+120], 0
00201daaxchg [rbx+128], rax
00201db1lea rdi, [rbx+160]
00201db8call caml_plat_mutex_init
00201dbdlea rdi, [rbx+200]
00201dc4call caml_plat_cond_init
00201dc9mov eax, 3
00201dcemov [rbx+136], 0
00201dd8xchg [rbx+152], rax
00201ddfadd ebp, 1
00201de2movsxd rax, ebp
00201de5cmp rax, r13
00201de8jb 0x201d60
00201deexor esi, esi
00201df0mov rdi, r14
00201df3call fn_201900
00201df8cmp [0xffffffffffffffe0], 0
00201e02je 0x201e21
00201e04pop rbx
00201e05pop rbp
00201e06pop r12
00201e08pop r13
00201e0apop r14
00201e0cjmp 0x21f960
00201e11lea rdi, [rip+0x2df5c]
00201e18call caml_fatal_error
00201e1dlea rdi, [rip+0x2cfad]
00201e24xor eax, eax
00201e26call caml_fatal_error
00201e2blea rdi, [rip+0x2df92]
00201e32call caml_fatal_error
00201e37lea rdi, [rip+0x2df56]
00201e3ecall caml_fatal_error
00201e43db 0xe9
00201e44pop [rcx]
00201e46db 0x00
00201ce0
00201e47
00201e47 // align 0x10
00201e47 // align 0x10
00201e50
00201e50fn_201e50:
00201e50push r15
00201e52push r14
00201e54push r13
00201e56push r12
00201e58push rbp
00201e59push rbx
00201e5asub rsp, 136
00201e61mov r12, [rdi+16]
00201e65mov rbx, [0x28]
00201e6emov [rsp+120], rbx
00201e73mov rbx, rdi
00201e76lea rdx, [rsp+24]
00201e7blea rax, [rsp+32]
00201e80movq x1, rdx
00201e85movq x2, rax
00201e8apunpcklqdq x1, x2
00201e8emovaps [rsp], x1
00201e92call caml_init_signal_stack
00201e97test rax, rax
00201e9aje 0x20236c
00201ea0mov r14, rax
00201ea3mov rax, [rbx]
00201ea6mov rsi, [rax+8]
00201eaamov rax, [rip+0x73aa3]
00201eb1mov rdi, [rax+88]
00201eb5call fn_201900
00201ebamov rax, [0xffffffffffffffe0]
00201ec3mov [rbx+24], rax
00201ec7mov rax, [rbx]
00201ecalea rdi, [rax+24]
00201ececall fn_f4710
00201ed3test eax, eax
00201ed5jne 0x20235e
00201edbmov rax, [0xffffffffffffffe0]
00201ee4test rax, rax
00201ee7je 0x202310
00201eedmov [rbx+8], 1
00201ef4mov rax, [rax+120]
00201ef8mov [rbx+32], rax
00201efcmov rax, [rbx]
00201efflea rdi, [rax+64]
00201f03call caml_plat_broadcast
00201f08mov rdi, [rbx]
00201f0badd rdi, 24
00201f0fcall fn_f47c0
00201f14test eax, eax
00201f16jne 0x202350
00201f1cmov rdi, [0xffffffffffffffe0]
00201f25test rdi, rdi
00201f28je 0x202340
00201f2emov eax, [rdi+136]
00201f34test eax, eax
00201f36je 0x202320
00201f3cmov rsi, [rdi+120]
00201f40
00201f40loc_201f40:
00201f40xor eax, eax
00201f42lea rdi, [rip+0x2decb]
00201f49lea r13, [rsp+48]
00201f4ecall caml_gc_log
00201f53call fn_f42f0
00201f58mov edi, 6
00201f5dmovsxd rsi, eax
00201f60call caml_ev_lifecycle
00201f65call [rip+0x1763e1]
00201f6bmov rbx, [r12]
00201f6fmov esi, 1
00201f74mov rdi, r12
00201f77call caml_modify_generational_global_root
00201f7cmov esi, 1
00201f81mov rdi, rbx
00201f84call caml_callback_res
00201f89mov ecx, 1
00201f8exor edi, edi
00201f90mov rbx, [0xffffffffffffffe8]
00201f99test eax, eax
00201f9bmovq x0, rcx
00201fa0mov rsi, rdx
00201fa3mov [rsp+40], 1
00201facmov rbp, [rbx+160]
00201fb3setne dil
00201fb7punpcklqdq x0, x0
00201fbblea rdx, [rsp+40]
00201fc0mov [rsp+48], rbp
00201fc5mov [rbx+160], r13
00201fccmov [rsp+72], rdx
00201fd1movups [rsp+56], x0
00201fd6call caml_alloc_1
00201fdbxor edi, edi
00201fddmov rsi, rax
00201fe0mov [rsp+40], rax
00201fe5call caml_alloc_1
00201feamov [rbx+160], rbp
00201ff1movdqa x3, [rsp]
00201ff6mov rdx, rax
00201ff9mov rax, [r12+8]
00201ffemovdqa x0, [rip+0x280c6]
00202006mov [rsp+32], rdx
0020200bmov [rsp+24], rax
00202010mov rbx, [0xffffffffffffffe8]
00202019mov rbp, [rbx+160]
00202020mov [rsp+48], rbp
00202025mov [rbx+160], r13
0020202cmovups [rsp+56], x0
00202031movups [rsp+72], x3
00202036mov rdi, [rax+8]
0020203acall caml_ml_mutex_lock
0020203fmov rsi, [rsp+32]
00202044mov rdi, [rsp+24]
00202049call caml_modify
0020204emov rax, [rsp+24]
00202053mov rdi, [rax+16]
00202057call caml_ml_condition_broadcast
0020205cmov [rbx+160], rbp
00202063mov rax, [r12+8]
00202068lea rdi, [rip+0x2cd7f]
0020206fmov r13, [0xffffffffffffffe0]
00202078mov rax, [rax+8]
0020207cmov rbx, [r13+8]
00202080mov r15, [rax+8]
00202084xor eax, eax
00202086call caml_gc_log
0020208bmov [r13+116], 1
00202093call [rip+0x1762ab]
00202099mov rax, [rip+0x17651c]
002020a0test rax, rax
002020a3je 0x2020ab
002020a5call rax
002020a7lea rbp, [rip+0x1765ee]
002020aejmp 0x2020c8
002020b0db 0x17
002020b1add bl, ch
002020b3db 0x14
002020b4
002020b4 0f 1f 40 00 ..@.
002020b8
002020b8loc_2020b8:
002020b8mov rdi, rbp
002020bbcall fn_f47c0
002020c0test eax, eax
002020c2jne 0x202350
002020c8
002020c8loc_2020c8:
002020c8call caml_finish_sweeping
002020cdcall caml_empty_minor_heaps_once
002020d2call caml_finish_marking
002020d7mov rdi, rbx
002020dacall caml_orphan_ephemerons
002020dfmov rdi, rbx
002020e2call caml_orphan_finalisers
002020e7mov rdi, rbp
002020eacall fn_f4710
002020eftest eax, eax
002020f1jne 0x20235e
002020f7mov rdx, [0xffffffffffffffe0]
00202100mov rdx, [rdx+128]
00202107test rdx, rdx
0020210ajne 0x2020b8
0020210ccmp [rbx+112], 0
00202111je 0x2020b8
00202113cmp [rbx+120], 0
00202118je 0x2020b8
0020211amov rcx, [rip+0x1764d7]
00202121mov [r13+112], 0
00202129mov rsi, [0xffffffffffffffe0]
00202132cmp rsi, [rcx]
00202135je 0x202333
0020213bnop [rax+rax]
00202140
00202140loc_202140:
00202140add eax, 1
00202143movsxd rdx, eax
00202146lea rdx, [rcx+8*rdx]
0020214acmp rsi, [rdx]
0020214djne 0x202140
0020214f
0020214floc_20214f:
0020214fmov eax, [rip+0x17649b]
00202155sub eax, 1
00202158mov [rip+0x176492], eax
0020215ecdqe
00202160lea rax, [rcx+8*rax]
00202164mov rcx, [rax]
00202167mov [rdx], rcx
0020216amov [rax], rsi
0020216dlea rax, [r13+24]
00202171mov rdi, rax
00202174mov [rsp], rax
00202178call fn_f4710
0020217dtest eax, eax
0020217fjne 0x20235e
00202185lea rdi, [r13+64]
00202189call caml_plat_broadcast
0020218emov rdi, [rsp]
00202192call fn_f47c0
00202197test eax, eax
00202199jne 0x202350
0020219fmov rax, [0xffffffffffffffe0]
002021a8mov [rax+136], 0
002021b2call fn_f42f0
002021b7mov edi, 7
002021bcmovsxd rsi, eax
002021bfcall caml_ev_lifecycle
002021c4mov rdi, rbp
002021c7call fn_f47c0
002021cctest eax, eax
002021cejne 0x202350
002021d4mov rdi, rbx
002021d7call caml_memprof_delete_domain
002021dclea rdi, [rbx+304]
002021e3call caml_remove_generational_global_root
002021e8lea rdi, [rbx+208]
002021efcall caml_remove_generational_global_root
002021f4mov rdi, [rbx+176]
002021fbcall caml_stat_free
00202200mov rdi, [rbx+168]
00202207call caml_stat_free
0020220ccall caml_free_intern_state
00202211call caml_free_extern_state
00202216call caml_teardown_major_gc
0020221bmov rdi, [rbx+280]
00202222call caml_teardown_shared_heap
00202227mov rdi, [rbx+96]
0020222bmov [rbx+280], 0
00202236call caml_free_minor_tables
0020223bmov [rbx+96], 0
00202243mov rdi, rbx
00202246call caml_orphan_alloc_stats
0020224bmov rdi, [rbx+40]
0020224ftest rdi, rdi
00202252je 0x202259
00202254call caml_free_stack
00202259
00202259loc_202259:
00202259mov rdi, [rbx+200]
00202260call caml_free_backtrace_buffer
00202265mov rdi, [rbx+80]
00202269call caml_free_gc_regs_buckets
0020226emov rax, [0xffffffffffffffe0]
00202277mov [rax+152], 2
00202282mov rax, [0xffffffffffffffe0]
0020228blea rdi, [rax+200]
00202292call caml_plat_signal
00202297mov rax, [0xffffffffffffffe0]
002022a0lea rdi, [rax+160]
002022a7call fn_f47c0
002022actest eax, eax
002022aejne 0x202350
002022b4call caml_plat_assert_all_locks_unlocked
002022b9lock sub [rip+0x17631e], 1
002022c2mov rdi, r15
002022c5call caml_mutex_unlock
002022camov rdi, r12
002022cdcall caml_remove_generational_global_root
002022d2lea rdi, [r12+8]
002022d7call caml_remove_generational_global_root
002022dcmov rdi, r12
002022dfcall caml_stat_free
002022e4
002022e4loc_2022e4:
002022e4mov rdi, r14
002022e7call caml_free_signal_stack
002022ecmov rax, [rsp+120]
002022f1sub rax, [0x28]
002022fajne 0x20237a
002022fcadd rsp, 136
00202303xor eax, eax
00202305pop rbx
00202306pop rbp
00202307pop r12
00202309pop r13
0020230bpop r14
0020230dpop r15
0020230fret
00202310
00202310loc_202310:
00202310mov [rbx+8], 2
00202317jmp 0x201f00
0020231c
0020231c 0f 1f 40 00 ..@.
00202320
00202320loc_202320:
00202320call fn_2010e0
00202325mov rdi, [0xffffffffffffffe0]
0020232ejmp 0x201f40
00202333
00202333loc_202333:
00202333mov rdx, rcx
00202336jmp 0x20214f
0020233b
0020233b 0f 1f 44 00 00 ..D..
00202340
00202340loc_202340:
00202340lea rdi, [rip+0x2cabe]
00202347xor eax, eax
00202349call caml_gc_log
0020234ejmp 0x2022e4
00202350
00202350loc_202350:
00202350mov esi, eax
00202352lea rdi, [rip+0x2d1c1]
00202359call caml_plat_fatal_error
0020235e
0020235eloc_20235e:
0020235emov esi, eax
00202360lea rdi, [rip+0x2d1a8]
00202367call caml_plat_fatal_error
0020236c
0020236cloc_20236c:
0020236clea rdi, [rip+0x2da7d]
00202373xor eax, eax
00202375call caml_fatal_error
0020237a
0020237aloc_20237a:
0020237acall fn_f4590
00201e50
00201e50fn_201e50:
00201e50push r15
00201e52push r14
00201e54push r13
00201e56push r12
00201e58push rbp
00201e59push rbx
00201e5asub rsp, 136
00201e61mov r12, [rdi+16]
00201e65mov rbx, [0x28]
00201e6emov [rsp+120], rbx
00201e73mov rbx, rdi
00201e76lea rdx, [rsp+24]
00201e7blea rax, [rsp+32]
00201e80movq x1, rdx
00201e85movq x2, rax
00201e8apunpcklqdq x1, x2
00201e8emovaps [rsp], x1
00201e92call caml_init_signal_stack
00201e97test rax, rax
00201e9aje 0x20236c
00201ea0mov r14, rax
00201ea3mov rax, [rbx]
00201ea6mov rsi, [rax+8]
00201eaamov rax, [rip+0x73aa3]
00201eb1mov rdi, [rax+88]
00201eb5call fn_201900
00201ebamov rax, [0xffffffffffffffe0]
00201ec3mov [rbx+24], rax
00201ec7mov rax, [rbx]
00201ecalea rdi, [rax+24]
00201ececall fn_f4710
00201ed3test eax, eax
00201ed5jne 0x20235e
00201edbmov rax, [0xffffffffffffffe0]
00201ee4test rax, rax
00201ee7je 0x202310
00201eedmov [rbx+8], 1
00201ef4mov rax, [rax+120]
00201ef8mov [rbx+32], rax
00201efcmov rax, [rbx]
00201efflea rdi, [rax+64]
00201f03call caml_plat_broadcast
00201f08mov rdi, [rbx]
00201f0badd rdi, 24
00201f0fcall fn_f47c0
00201f14test eax, eax
00201f16jne 0x202350
00201f1cmov rdi, [0xffffffffffffffe0]
00201f25test rdi, rdi
00201f28je 0x202340
00201f2emov eax, [rdi+136]
00201f34test eax, eax
00201f36je 0x202320
00201f3cmov rsi, [rdi+120]
00201f40
00201f40loc_201f40:
00201f40xor eax, eax
00201f42lea rdi, [rip+0x2decb]
00201f49lea r13, [rsp+48]
00201f4ecall caml_gc_log
00201f53call fn_f42f0
00201f58mov edi, 6
00201f5dmovsxd rsi, eax
00201f60call caml_ev_lifecycle
00201f65call [rip+0x1763e1]
00201f6bmov rbx, [r12]
00201f6fmov esi, 1
00201f74mov rdi, r12
00201f77call caml_modify_generational_global_root
00201f7cmov esi, 1
00201f81mov rdi, rbx
00201f84call caml_callback_res
00201f89mov ecx, 1
00201f8exor edi, edi
00201f90mov rbx, [0xffffffffffffffe8]
00201f99test eax, eax
00201f9bmovq x0, rcx
00201fa0mov rsi, rdx
00201fa3mov [rsp+40], 1
00201facmov rbp, [rbx+160]
00201fb3setne dil
00201fb7punpcklqdq x0, x0
00201fbblea rdx, [rsp+40]
00201fc0mov [rsp+48], rbp
00201fc5mov [rbx+160], r13
00201fccmov [rsp+72], rdx
00201fd1movups [rsp+56], x0
00201fd6call caml_alloc_1
00201fdbxor edi, edi
00201fddmov rsi, rax
00201fe0mov [rsp+40], rax
00201fe5call caml_alloc_1
00201feamov [rbx+160], rbp
00201ff1movdqa x3, [rsp]
00201ff6mov rdx, rax
00201ff9mov rax, [r12+8]
00201ffemovdqa x0, [rip+0x280c6]
00202006mov [rsp+32], rdx
0020200bmov [rsp+24], rax
00202010mov rbx, [0xffffffffffffffe8]
00202019mov rbp, [rbx+160]
00202020mov [rsp+48], rbp
00202025mov [rbx+160], r13
0020202cmovups [rsp+56], x0
00202031movups [rsp+72], x3
00202036mov rdi, [rax+8]
0020203acall caml_ml_mutex_lock
0020203fmov rsi, [rsp+32]
00202044mov rdi, [rsp+24]
00202049call caml_modify
0020204emov rax, [rsp+24]
00202053mov rdi, [rax+16]
00202057call caml_ml_condition_broadcast
0020205cmov [rbx+160], rbp
00202063mov rax, [r12+8]
00202068lea rdi, [rip+0x2cd7f]
0020206fmov r13, [0xffffffffffffffe0]
00202078mov rax, [rax+8]
0020207cmov rbx, [r13+8]
00202080mov r15, [rax+8]
00202084xor eax, eax
00202086call caml_gc_log
0020208bmov [r13+116], 1
00202093call [rip+0x1762ab]
00202099mov rax, [rip+0x17651c]
002020a0test rax, rax
002020a3je 0x2020ab
002020a5call rax
002020a7lea rbp, [rip+0x1765ee]
002020aejmp 0x2020c8
002020b0db 0x17
002020b1add bl, ch
002020b3db 0x14
002020b4
002020b4 0f 1f 40 00 ..@.
002020b8
002020b8loc_2020b8:
002020b8mov rdi, rbp
002020bbcall fn_f47c0
002020c0test eax, eax
002020c2jne 0x202350
002020c8
002020c8loc_2020c8:
002020c8call caml_finish_sweeping
002020cdcall caml_empty_minor_heaps_once
002020d2call caml_finish_marking
002020d7mov rdi, rbx
002020dacall caml_orphan_ephemerons
002020dfmov rdi, rbx
002020e2call caml_orphan_finalisers
002020e7mov rdi, rbp
002020eacall fn_f4710
002020eftest eax, eax
002020f1jne 0x20235e
002020f7mov rdx, [0xffffffffffffffe0]
00202100mov rdx, [rdx+128]
00202107test rdx, rdx
0020210ajne 0x2020b8
0020210ccmp [rbx+112], 0
00202111je 0x2020b8
00202113cmp [rbx+120], 0
00202118je 0x2020b8
0020211amov rcx, [rip+0x1764d7]
00202121mov [r13+112], 0
00202129mov rsi, [0xffffffffffffffe0]
00202132cmp rsi, [rcx]
00202135je 0x202333
0020213bnop [rax+rax]
00202140
00202140loc_202140:
00202140add eax, 1
00202143movsxd rdx, eax
00202146lea rdx, [rcx+8*rdx]
0020214acmp rsi, [rdx]
0020214djne 0x202140
0020214f
0020214floc_20214f:
0020214fmov eax, [rip+0x17649b]
00202155sub eax, 1
00202158mov [rip+0x176492], eax
0020215ecdqe
00202160lea rax, [rcx+8*rax]
00202164mov rcx, [rax]
00202167mov [rdx], rcx
0020216amov [rax], rsi
0020216dlea rax, [r13+24]
00202171mov rdi, rax
00202174mov [rsp], rax
00202178call fn_f4710
0020217dtest eax, eax
0020217fjne 0x20235e
00202185lea rdi, [r13+64]
00202189call caml_plat_broadcast
0020218emov rdi, [rsp]
00202192call fn_f47c0
00202197test eax, eax
00202199jne 0x202350
0020219fmov rax, [0xffffffffffffffe0]
002021a8mov [rax+136], 0
002021b2call fn_f42f0
002021b7mov edi, 7
002021bcmovsxd rsi, eax
002021bfcall caml_ev_lifecycle
002021c4mov rdi, rbp
002021c7call fn_f47c0
002021cctest eax, eax
002021cejne 0x202350
002021d4mov rdi, rbx
002021d7call caml_memprof_delete_domain
002021dclea rdi, [rbx+304]
002021e3call caml_remove_generational_global_root
002021e8lea rdi, [rbx+208]
002021efcall caml_remove_generational_global_root
002021f4mov rdi, [rbx+176]
002021fbcall caml_stat_free
00202200mov rdi, [rbx+168]
00202207call caml_stat_free
0020220ccall caml_free_intern_state
00202211call caml_free_extern_state
00202216call caml_teardown_major_gc
0020221bmov rdi, [rbx+280]
00202222call caml_teardown_shared_heap
00202227mov rdi, [rbx+96]
0020222bmov [rbx+280], 0
00202236call caml_free_minor_tables
0020223bmov [rbx+96], 0
00202243mov rdi, rbx
00202246call caml_orphan_alloc_stats
0020224bmov rdi, [rbx+40]
0020224ftest rdi, rdi
00202252je 0x202259
00202254call caml_free_stack
00202259
00202259loc_202259:
00202259mov rdi, [rbx+200]
00202260call caml_free_backtrace_buffer
00202265mov rdi, [rbx+80]
00202269call caml_free_gc_regs_buckets
0020226emov rax, [0xffffffffffffffe0]
00202277mov [rax+152], 2
00202282mov rax, [0xffffffffffffffe0]
0020228blea rdi, [rax+200]
00202292call caml_plat_signal
00202297mov rax, [0xffffffffffffffe0]
002022a0lea rdi, [rax+160]
002022a7call fn_f47c0
002022actest eax, eax
002022aejne 0x202350
002022b4call caml_plat_assert_all_locks_unlocked
002022b9lock sub [rip+0x17631e], 1
002022c2mov rdi, r15
002022c5call caml_mutex_unlock
002022camov rdi, r12
002022cdcall caml_remove_generational_global_root
002022d2lea rdi, [r12+8]
002022d7call caml_remove_generational_global_root
002022dcmov rdi, r12
002022dfcall caml_stat_free
002022e4
002022e4loc_2022e4:
002022e4mov rdi, r14
002022e7call caml_free_signal_stack
002022ecmov rax, [rsp+120]
002022f1sub rax, [0x28]
002022fajne 0x20237a
002022fcadd rsp, 136
00202303xor eax, eax
00202305pop rbx
00202306pop rbp
00202307pop r12
00202309pop r13
0020230bpop r14
0020230dpop r15
0020230fret
00202310
00202310loc_202310:
00202310mov [rbx+8], 2
00202317jmp 0x201f00
0020231c
0020231c 0f 1f 40 00 ..@.
00202320
00202320loc_202320:
00202320call fn_2010e0
00202325mov rdi, [0xffffffffffffffe0]
0020232ejmp 0x201f40
00202333
00202333loc_202333:
00202333mov rdx, rcx
00202336jmp 0x20214f
0020233b
0020233b 0f 1f 44 00 00 ..D..
00202340
00202340loc_202340:
00202340lea rdi, [rip+0x2cabe]
00202347xor eax, eax
00202349call caml_gc_log
0020234ejmp 0x2022e4
00202350
00202350loc_202350:
00202350mov esi, eax
00202352lea rdi, [rip+0x2d1c1]
00202359call caml_plat_fatal_error
0020235e
0020235eloc_20235e:
0020235emov esi, eax
00202360lea rdi, [rip+0x2d1a8]
00202367call caml_plat_fatal_error
0020236c
0020236cloc_20236c:
0020236clea rdi, [rip+0x2da7d]
00202373xor eax, eax
00202375call caml_fatal_error
0020237a
0020237aloc_20237a:
0020237acall fn_f4590
00201e50
0020237f
0020237f // align 0x10
0020237f // align 0x10
00202380
00202380fn_202380:
00202380push r13
00202382xor eax, eax
00202384mov r13, rcx
00202387push r12
00202389mov r12, rsi
0020238cpush rbp
0020238dmov rbp, rdi
00202390lea rdi, [rip+0x2daa5]
00202397push rbx
00202398mov ebx, edx
0020239asub rsp, 8
0020239ecall caml_gc_log
002023a3xor esi, esi
002023a5mov rcx, r13
002023a8mov edx, ebx
002023aamov rdi, rbp
002023adcall caml_empty_minor_heap_no_major_slice_from_stw
002023b2xor eax, eax
002023b4lea rdi, [rip+0x2dad9]
002023bbcall caml_gc_log
002023c0call fn_201270
002023c5cmp ebx, 1
002023c8je 0x2024f0
002023cemov edi, ebx
002023d0call caml_global_barrier_and_check_final
002023d5mov rbp, rax
002023d8test rax, rax
002023dbje 0x2024a0
002023e1mov edi, 43
002023e6call caml_ev_begin
002023ebxor eax, eax
002023edlea rdi, [rip+0x2dad8]
002023f4call caml_gc_log
002023f9xor eax, eax
002023fblea rdi, [rip+0x2ca17]
00202402call caml_gc_log
00202407mov rsi, [rip+0x73546]
0020240ecmp [rsi+160], 0
00202416je 0x202461
00202418mov rdi, [rip+0x1761dd]
0020241fxor ecx, ecx
00202421xor eax, eax
00202423pxor x0, x0
00202427nop [rax+rax]
00202432nop [rax+rax]
0020243cmov rdx, rax
0020243fadd ecx, 1
00202442shl rdx, 5
00202446add rax, rdx
00202449movups [rdi+8*rax+248], x0
00202451movsxd rax, ecx
00202454cmp rax, [rsi+160]
0020245bjb 0x202440
0020245dmov rdi, [rip+0x176168]
00202464mov rsi, [rip+0x176159]
0020246bsub rsi, rdi
0020246ecall caml_mem_unmap
00202473lea rdi, [rip+0x2da92]
0020247axor eax, eax
0020247cmov [rip+0x176151], r12
00202483call caml_gc_log
00202488call fn_200f00
0020248dmov edi, 43
00202492call caml_ev_end
00202497cmp ebx, 1
0020249ajne 0x2024d8
0020249cxor eax, eax
0020249elea rdi, [rip+0x2da9f]
002024a5call caml_gc_log
002024aamov rax, [0xffffffffffffffe8]
002024b3mov rdi, [rax+272]
002024bacall fn_201780
002024bftest eax, eax
002024c1js 0x2024f7
002024c3add rsp, 8
002024c7pop rbx
002024c8pop rbp
002024c9pop r12
002024cbpop r13
002024cdret
002024cedb 0x5c
002024cfpop r13
002024d1ret
002024d2
002024d2 66 0f 1f 44 00 00 f..D..
002024d8
002024d8loc_2024d8:
002024d8mov rsi, rbp
002024dblea rdi, [rip+0x17623e]
002024e2and esi, 0x100000
002024e8call caml_plat_barrier_flip
002024edjmp 0x2024a0
002024ef
002024ef 90 .
002024f0
002024f0loc_2024f0:
002024f0xor ebp, ebp
002024f2jmp 0x2023e5
002024f7
002024f7loc_2024f7:
002024f7lea rdi, [rip+0x2da82]
002024fexor eax, eax
00202500call caml_fatal_error
00202380
00202380fn_202380:
00202380push r13
00202382xor eax, eax
00202384mov r13, rcx
00202387push r12
00202389mov r12, rsi
0020238cpush rbp
0020238dmov rbp, rdi
00202390lea rdi, [rip+0x2daa5]
00202397push rbx
00202398mov ebx, edx
0020239asub rsp, 8
0020239ecall caml_gc_log
002023a3xor esi, esi
002023a5mov rcx, r13
002023a8mov edx, ebx
002023aamov rdi, rbp
002023adcall caml_empty_minor_heap_no_major_slice_from_stw
002023b2xor eax, eax
002023b4lea rdi, [rip+0x2dad9]
002023bbcall caml_gc_log
002023c0call fn_201270
002023c5cmp ebx, 1
002023c8je 0x2024f0
002023cemov edi, ebx
002023d0call caml_global_barrier_and_check_final
002023d5mov rbp, rax
002023d8test rax, rax
002023dbje 0x2024a0
002023e1mov edi, 43
002023e6call caml_ev_begin
002023ebxor eax, eax
002023edlea rdi, [rip+0x2dad8]
002023f4call caml_gc_log
002023f9xor eax, eax
002023fblea rdi, [rip+0x2ca17]
00202402call caml_gc_log
00202407mov rsi, [rip+0x73546]
0020240ecmp [rsi+160], 0
00202416je 0x202461
00202418mov rdi, [rip+0x1761dd]
0020241fxor ecx, ecx
00202421xor eax, eax
00202423pxor x0, x0
00202427nop [rax+rax]
00202432nop [rax+rax]
0020243cmov rdx, rax
0020243fadd ecx, 1
00202442shl rdx, 5
00202446add rax, rdx
00202449movups [rdi+8*rax+248], x0
00202451movsxd rax, ecx
00202454cmp rax, [rsi+160]
0020245bjb 0x202440
0020245dmov rdi, [rip+0x176168]
00202464mov rsi, [rip+0x176159]
0020246bsub rsi, rdi
0020246ecall caml_mem_unmap
00202473lea rdi, [rip+0x2da92]
0020247axor eax, eax
0020247cmov [rip+0x176151], r12
00202483call caml_gc_log
00202488call fn_200f00
0020248dmov edi, 43
00202492call caml_ev_end
00202497cmp ebx, 1
0020249ajne 0x2024d8
0020249cxor eax, eax
0020249elea rdi, [rip+0x2da9f]
002024a5call caml_gc_log
002024aamov rax, [0xffffffffffffffe8]
002024b3mov rdi, [rax+272]
002024bacall fn_201780
002024bftest eax, eax
002024c1js 0x2024f7
002024c3add rsp, 8
002024c7pop rbx
002024c8pop rbp
002024c9pop r12
002024cbpop r13
002024cdret
002024cedb 0x5c
002024cfpop r13
002024d1ret
002024d2
002024d2 66 0f 1f 44 00 00 f..D..
002024d8
002024d8loc_2024d8:
002024d8mov rsi, rbp
002024dblea rdi, [rip+0x17623e]
002024e2and esi, 0x100000
002024e8call caml_plat_barrier_flip
002024edjmp 0x2024a0
002024ef
002024ef 90 .
002024f0
002024f0loc_2024f0:
002024f0xor ebp, ebp
002024f2jmp 0x2023e5
002024f7
002024f7loc_2024f7:
002024f7lea rdi, [rip+0x2da82]
002024fexor eax, eax
00202500call caml_fatal_error
00202380
00202505
00202505 // align 0x10
00202505 // align 0x10
Loading..