File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00227c40
    00227c40caml_find_code_fragment_by_num:
    00227c40sub rsp, 24
    00227c44movsxd rsi, edi
    00227c47lea rdi, [rip+0x15156e]
    00227c4emov rdx, [0x28]
    00227c57mov [rsp+8], rdx
    00227c5cmov rdx, rsp
    00227c5fcall caml_lf_skiplist_find
    00227c64mov edx, eax
    00227c66mov rax, [rsp]
    00227c6atest edx, edx
    00227c6cjne 0x227c74
    00227c6exor eax, eax
    00227c70mov rdx, [rsp+8]
    00227c75sub rdx, [0x28]
    00227c7ejne 0x227c89
    00227c80add rsp, 24
    00227c84ret
    00227c85call fn_f4590
    00227c8adb 0x02
    00227c8bleave
    00227c8cin al, dx
    00227c8ddb 0xff
    00227c40
    00227c8e
    00227c8e // align 0x10
    00227c90
    00227c90caml_digest_of_code_fragment:
    00227c90push r12
    00227c92push rbp
    00227c93lea rbp, [rdi+40]
    00227c97push rbx
    00227c98mov rbx, rdi
    00227c9bmov rdi, rbp
    00227c9ecall fn_f4710
    00227ca3test eax, eax
    00227ca5jne 0x227d03
    00227ca7mov eax, [rbx+20]
    00227caacmp eax, 3
    00227cadje 0x227cf0
    00227caflea r12, [rbx+24]
    00227cb3test eax, eax
    00227cb5je 0x227cd0
    00227cb7mov rdi, rbp
    00227cbacall fn_f47c0
    00227cbftest eax, eax
    00227cc1jne 0x227cf5
    00227cc3mov rax, r12
    00227cc6pop rbx
    00227cc7pop rbp
    00227cc8pop r12
    00227ccaret
    00227ccbdb 0x5d
    00227cccpop r12
    00227cceret
    00227ccf
    00227ccf 90 .
    00227cd0
    00227cd0loc_227cd0:
    00227cd0mov rsi, [rbx]
    00227cd3mov rdx, [rbx+8]
    00227cd7mov rdi, r12
    00227cdasub rdx, rsi
    00227cddcall caml_md5_block
    00227ce2mov [rbx+20], 2
    00227ce9jmp 0x227cbb
    00227ceb
    00227ceb 0f 1f 44 00 00 ..D..
    00227cf0
    00227cf0loc_227cf0:
    00227cf0xor r12l, r12l
    00227cf3jmp 0x227cbb
    00227cf5
    00227cf5loc_227cf5:
    00227cf5mov esi, eax
    00227cf7lea rdi, [rip+30748]
    00227cfecall caml_plat_fatal_error
    00227d03
    00227d03loc_227d03:
    00227d03mov esi, eax
    00227d05lea rdi, [rip+30723]
    00227d0ccall caml_plat_fatal_error
    00227c90
    00227d11
    00227d11 // align 0x10
    00227d20
    00227d20caml_find_code_fragment_by_digest:
    00227d20push r12
    00227d22mov rax, [rip+0x1514b3]
    00227d29push rbp
    00227d2apush rbx
    00227d2bmov rbx, [rax+40]
    00227d2fcmp rbx, [rip+0x1514ae]
    00227d36je 0x227db0
    00227d38mov r12, rdi
    00227d3bjmp 0x227d69
    00227d3ddb 0x89
    00227d3ecld
    00227d3fjmp 0x227d69
    00227d41
    00227d41 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f ff.........ff..
    00227d50 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
    00227d60
    00227d60loc_227d60:
    00227d60cmp [rip+0x151481], rbx
    00227d67je 0x227db0
    00227d69
    00227d69loc_227d69:
    00227d69mov rax, [rbx+40]
    00227d6dmov rdx, rbx
    00227d70mov rbx, rax
    00227d73and rbx, -2
    00227d77test al, 1
    00227d79jne 0x227d60
    00227d7bmov rbp, [rdx+8]
    00227d7fmov rdi, rbp
    00227d82call caml_digest_of_code_fragment
    00227d87test rax, rax
    00227d8aje 0x227d60
    00227d8cmov rdx, [r12]
    00227d90mov rcx, [r12+8]
    00227d95xor rdx, [rax]
    00227d98xor rcx, [rax+8]
    00227d9cor rdx, rcx
    00227d9fjne 0x227d60
    00227da1mov rax, rbp
    00227da4pop rbx
    00227da5pop rbp
    00227da6pop r12
    00227da8ret
    00227da9
    00227da9 0f 1f 80 00 00 00 00 .......
    00227db0
    00227db0loc_227db0:
    00227db0xor ebp, ebp
    00227db2pop rbx
    00227db3mov rax, rbp
    00227db6pop rbp
    00227db7pop r12
    00227db9ret
    00227d20
    00227dba
    00227dba // align 0x10
    00227dc0
    00227dc0caml_code_fragment_cleanup_from_stw_single:
    00227dc0push r12
    00227dc2lea rdi, [rip+0x151413]
    00227dc9push rbp
    00227dcapush rbx
    00227dcbcall caml_lf_skiplist_free_garbage
    00227dd0lea rdi, [rip+0x1513e5]
    00227dd7call caml_lf_skiplist_free_garbage
    00227ddcmov rbx, [rip+0x151419]
    00227de3test rbx, rbx
    00227de6je 0x227e1a
    00227de8nop [rax]
    00227decmov rbp, rbx
    00227defmov rbx, [rbx+8]
    00227df3mov r12, [rbp]
    00227df7lea rdi, [r12+40]
    00227dfccall caml_plat_mutex_free
    00227e01mov rdi, r12
    00227e04call caml_stat_free
    00227e09mov rdi, rbp
    00227e0ccall caml_stat_free
    00227e11test rbx, rbx
    00227e14jne 0x227df0
    00227e16mov [rip+0x1513db], 0
    00227e21pop rbx
    00227e22pop rbp
    00227e23pop r12
    00227e25ret
    00227e26db 0x5d
    00227e27pop r12
    00227e29ret
    00227dc0
    00227e2a
    00227e2a // align 0x10
    00227e30
    00227e30caml_debugger_init:
    00227e30ret
    00227e31db 0x0f
    00227e32db 0x1e
    00227e33cli
    00227e34ret
    00227e30
    00227e35
    00227e35 // align 0x10
    00227e40
    00227e40caml_debugger:
    00227e40ret
    00227e41db 0x0f
    00227e42db 0x1e
    00227e43cli
    00227e44ret
    00227e40
    00227e45
    00227e45 // align 0x10
    00227e50
    00227e50caml_debugger_cleanup_fork:
    00227e50ret
    00227e51db 0x0f
    00227e52db 0x1e
    00227e53cli
    00227e54ret
    00227e50
    00227e55
    00227e55 // align 0x10
    00227e60
    00227e60fn_227e60:
    00227e60push r13
    00227e62push r12
    00227e64push rbp
    00227e65push rbx
    00227e66sub rsp, 8
    00227e6atest dl, 1
    00227e6djne 0x227fb1
    00227e73movzx eax, [rdx-8]
    00227e77mov rbp, rdx
    00227e7acmp al, -10
    00227e7cje 0x227fb1
    00227e82movzx eax, [rdx-8]
    00227e86cmp al, -3
    00227e88je 0x227fb1
    00227e8emovzx eax, [rdx-8]
    00227e92cmp al, -12
    00227e94je 0x227fb1
    00227e9amovzx eax, [rdx-8]
    00227e9ecmp al, -6
    00227ea0je 0x227fb1
    00227ea6mov rax, [rdi+16]
    00227eaamov r12, rsi
    00227eadmov rsi, [rdi+24]
    00227eb1mov rbx, rdi
    00227eb4mov rdi, [rdi]
    00227eb7cmp rax, rsi
    00227ebajae 0x227f08
    00227ebc
    00227ebcloc_227ebc:
    00227ebclea rax, [rax+2*rax]
    00227ec0mov [rdi+8*rax], r12
    00227ec4movzx eax, [rbp-8]
    00227ec8cmp al, -7
    00227ecaje 0x227f3f
    00227ecc
    00227eccloc_227ecc:
    00227eccmov rax, [rbx+16]
    00227ed0mov rdx, [rbx]
    00227ed3lea rax, [rax+2*rax]
    00227ed7lea rax, [rdx+8*rax]
    00227edbmov [rax+16], 0
    00227ee2mov rax, [rbx+16]
    00227ee6mov rcx, [rbx]
    00227ee9lea rax, [rax+2*rax]
    00227eedlea rax, [rcx+8*rax]
    00227ef1mov [rax+8], rbp
    00227ef5add [rbx+16], 1
    00227efaadd rsp, 8
    00227efepop rbx
    00227effpop rbp
    00227f00pop r12
    00227f02pop r13
    00227f04ret
    00227f05
    00227f05 0f 1f 00 ...
    00227f08
    00227f08loc_227f08:
    00227f08test rdi, rdi
    00227f0bje 0x227f90
    00227f11lea r13, [rsi+rsi]
    00227f15add rsi, r13
    00227f18shl rsi, 4
    00227f1ccall caml_stat_resize
    00227f21mov [rbx+24], r13
    00227f25mov [rbx], rax
    00227f28mov rdi, rax
    00227f2bmov rax, [rbx+16]
    00227f2flea rax, [rax+2*rax]
    00227f33mov [rdi+8*rax], r12
    00227f37movzx eax, [rbp-8]
    00227f3bcmp al, -7
    00227f3djne 0x227ecc
    00227f3f
    00227f3floc_227f3f:
    00227f3fmov rdx, [rbp-8]
    00227f43mov rax, [rbx+16]
    00227f47mov rsi, [rbx]
    00227f4alea rax, [rax+2*rax]
    00227f4eshr rdx, 10
    00227f52lea rax, [rsi+8*rax]
    00227f56shl edx, 3
    00227f59mov [rax+16], edx
    00227f5cmov rdx, [rbp-8]
    00227f60mov rax, [rbx+16]
    00227f64mov rdi, [rbx]
    00227f67shr rdx, 10
    00227f6blea rax, [rax+2*rax]
    00227f6fshl rdx, 3
    00227f73sub rbp, rdx
    00227f76lea rax, [rdi+8*rax]
    00227f7amov [rax+8], rbp
    00227f7eadd [rbx+16], 1
    00227f83add rsp, 8
    00227f87pop rbx
    00227f88pop rbp
    00227f89pop r12
    00227f8bpop r13
    00227f8dret
    00227f8e
    00227f8e 66 90 f.
    00227f90
    00227f90loc_227f90:
    00227f90mov edi, 720
    00227f95call caml_stat_alloc
    00227f9amov [rbx+24], 30
    00227fa2mov [rbx], rax
    00227fa5mov rdi, rax
    00227fa8mov rax, [rbx+16]
    00227facjmp 0x227ebc
    00227fb1
    00227fb1loc_227fb1:
    00227fb1lea rdi, [rip+30540]
    00227fb8call caml_invalid_argument
    00227e60
    00227fbd
    00227fbd // align 0x10
    00227fc0
    00227fc0fn_227fc0:
    00227fc0push rbp
    00227fc1movsxd rax, esi
    00227fc4mov rbp, rdi
    00227fc7push rbx
    00227fc8mov rbx, rax
    00227fcblea rax, [rax+2*rax]
    00227fcflea rdi, [8*rax+40]
    00227fd7sub rsp, 8
    00227fdbcall caml_stat_alloc_noexc
    00227fe0mov rdx, [rbp+176]
    00227fe7test rax, rax
    00227feaje 0x22801f
    00227fecmov [rax], 0
    00227ff3mov [rax+8], ebx
    00227ff6mov rcx, [rdx+88]
    00227ffatest rcx, rcx
    00227ffdje 0x228010
    00227fffmov [rcx], rax
    00228002mov [rdx+88], rax
    00228006add rsp, 8
    0022800apop rbx
    0022800bpop rbp
    0022800cret
    0022800d
    0022800d 0f 1f 00 ...
    00228010
    00228010loc_228010:
    00228010mov [rdx+80], rax
    00228014mov [rdx+88], rax
    00228018add rsp, 8
    0022801cpop rbx
    0022801dpop rbp
    0022801eret
    0022801f
    0022801floc_22801f:
    0022801flea rdi, [rip+30442]
    00228026call caml_fatal_error
    00227fc0
    0022802b
    0022802b // align 0x20
    00228040
    00228040fn_228040:
    00228040push r14
    00228042push r13
    00228044push r12
    00228046push rbp
    00228047push rbx
    00228048cmp [rsi+8], 0
    0022804dmov r13, [rdi+176]
    00228054je 0x2280ae
    00228056mov rbx, rsi
    00228059mov rsi, [rip+0x150368]
    00228060mov r12, rdi
    00228063mov r14l, edx
    00228066mov rcx, [rbx]
    00228069xor eax, eax
    0022806bxor ebp, ebp
    0022806dnop [rax+rax]
    00228078nop [rax+rax]
    00228080
    00228080loc_228080:
    00228080lea rdx, [rax+2*rax]
    00228084mov rdx, [rcx+8*rdx+8]
    00228089mov rdx, [rdx-8]
    0022808dand edx, 768
    00228093cmp rsi, rdx
    00228096sete dl
    00228099add rax, 1
    0022809dmovzx edx, dl
    002280a0add rbp, rdx
    002280a3cmp rax, [rbx+8]
    002280a7jb 0x228080
    002280a9test rbp, rbp
    002280acjne 0x2280c0
    002280ae
    002280aeloc_2280ae:
    002280aepop rbx
    002280afpop rbp
    002280b0pop r12
    002280b2pop r13
    002280b4pop r14
    002280b6ret
    002280b7
    002280b7 66 0f 1f 84 00 00 00 00 00 f........
    002280c0
    002280c0loc_2280c0:
    002280c0mov rdi, r12
    002280c3call caml_set_action_pending
    002280c8mov esi, ebp
    002280camov rdi, r12
    002280cdxor ebp, ebp
    002280cfcall fn_227fc0
    002280d4mov rdx, [rbx+8]
    002280d8xor r8l, r8l
    002280dbtest rdx, rdx
    002280deje 0x22824c
    002280e4xor edx, edx
    002280e6jmp 0x22813d
    002280e8
    002280e8 0f 1f 84 00 00 00 00 00 ........
    002280f0
    002280f0loc_2280f0:
    002280f0mov rsi, [r13+88]
    002280f4lea rcx, [rbp+2*rbp]
    002280f9movdqu x0, [rax]
    002280fdshl rcx, 3
    00228101add rsi, rcx
    00228104movups [rsi+16], x0
    00228108mov rax, [rax+16]
    0022810cmov [rsi+32], rax
    00228110test r14l, r14l
    00228113jne 0x22812f
    00228115mov rax, [r13+88]
    00228119add rax, rcx
    0022811cmov [rax+24], 1
    00228124add rcx, [r13+88]
    00228128mov [rcx+32], 0
    0022812f
    0022812floc_22812f:
    0022812fadd rbp, 1
    00228133add rdx, 1
    00228137cmp rdx, [rbx+8]
    0022813bjae 0x228188
    0022813d
    0022813dloc_22813d:
    0022813dmov rsi, [rbx]
    00228140lea rax, [rdx+2*rdx]
    00228144shl rax, 3
    00228148mov rcx, [rsi+rax+8]
    0022814dadd rax, rsi
    00228150mov rcx, [rcx-8]
    00228154and ecx, 768
    0022815acmp [rip+0x150267], rcx
    00228161je 0x2280f0
    00228163movdqu x0, [rax]
    00228167lea rcx, [r8+2*r8]
    0022816badd rdx, 1
    0022816fadd r8, 1
    00228173lea rcx, [rsi+8*rcx]
    00228177movups [rcx], x0
    0022817amov rax, [rax+16]
    0022817emov [rcx+16], rax
    00228182cmp rdx, [rbx+8]
    00228186jb 0x22813d
    00228188
    00228188loc_228188:
    00228188mov r10l, ebp
    0022818b
    0022818bloc_22818b:
    0022818bmov [rbx+8], r8
    0022818fcmp rdx, [rbx+16]
    00228193jae 0x2281f4
    00228195mov rax, r8
    00228198lea rcx, [rdx+2*rdx]
    0022819cmov rsi, rdx
    0022819fsub rax, rdx
    002281a2shl rcx, 3
    002281a6lea r9, [rax+2*rax]
    002281aashl r9, 3
    002281aenop [rax+rax]
    002281b9nop [rax]
    002281c0
    002281c0loc_2281c0:
    002281c0mov rdi, [rbx]
    002281c3movdqu x0, [rdi+rcx]
    002281c8lea rax, [rdi+r9]
    002281ccadd rax, rcx
    002281cfmovups [rax], x0
    002281d2mov rdi, [rdi+rcx+16]
    002281d7add rcx, 24
    002281dbmov [rax+16], rdi
    002281dfmov rax, rsi
    002281e2add rsi, 1
    002281e6cmp rsi, [rbx+16]
    002281eajb 0x2281c0
    002281ecsub r8, rdx
    002281eflea r8, [r8+rax+1]
    002281f4
    002281f4loc_2281f4:
    002281f4mov [rbx+16], r8
    002281f8mov rax, [r13+88]
    002281fcmov [rax+8], r10l
    00228200test r14l, r14l
    00228203je 0x2280ae
    00228209test rbp, rbp
    0022820cje 0x2280ae
    00228212xor ebx, ebx
    00228214nop [rax+rax]
    0022821fnop
    00228220
    00228220loc_228220:
    00228220mov rdx, [r13+88]
    00228224lea rax, [rbx+2*rbx]
    00228228mov rdi, r12
    0022822badd rbx, 1
    0022822flea rax, [rdx+8*rax]
    00228233xor edx, edx
    00228235mov rsi, [rax+24]
    00228239call caml_darken
    0022823ecmp rbx, rbp
    00228241jne 0x228220
    00228243pop rbx
    00228244pop rbp
    00228245pop r12
    00228247pop r13
    00228249pop r14
    0022824bret
    0022824c
    0022824cloc_22824c:
    0022824cxor r10l, r10l
    0022824fjmp 0x22818b
    00228040
    00228254
    00228254 // align 0x10
    00228260
    00228260caml_final_update_first:
    00228260push rbp
    00228261xor eax, eax
    00228263push rbx
    00228264sub rsp, 8
    00228268mov rbp, [rdi+176]
    0022826fcmp [rbp+32], 0
    00228274je 0x228288
    00228276add rsp, 8
    0022827apop rbx
    0022827bpop rbp
    0022827cret
    0022827ddb 0x08
    0022827epop rbx
    0022827fpop rbp
    00228280ret
    00228281
    00228281 0f 1f 80 00 00 00 00 .......
    00228288
    00228288loc_228288:
    00228288mov rbx, rdi
    0022828bmov edi, 17
    00228290call caml_ev_begin
    00228295mov rsi, rbp
    00228298mov rdi, rbx
    0022829bmov edx, 1
    002282a0call fn_228040
    002282a5mov edi, 17
    002282aacall caml_ev_end
    002282afmov [rbp+32], 1
    002282b7add rsp, 8
    002282bbmov eax, 1
    002282c0pop rbx
    002282c1pop rbp
    002282c2ret
    00228260
    002282c3
    002282c3 // align 0x10
    002282d0
    002282d0caml_final_update_last:
    002282d0push rbp
    002282d1xor eax, eax
    002282d3push rbx
    002282d4sub rsp, 8
    002282d8mov rbp, [rdi+176]
    002282dfcmp [rbp+72], 0
    002282e4je 0x2282f8
    002282e6add rsp, 8
    002282eapop rbx
    002282ebpop rbp
    002282ecret
    002282eddb 0x08
    002282eepop rbx
    002282efpop rbp
    002282f0ret
    002282f1
    002282f1 0f 1f 80 00 00 00 00 .......
    002282f8
    002282f8loc_2282f8:
    002282f8mov rbx, rdi
    002282fbmov edi, 18
    00228300call caml_ev_begin
    00228305lea rsi, [rbp+40]
    00228309mov rdi, rbx
    0022830cxor edx, edx
    0022830ecall fn_228040
    00228313mov edi, 18
    00228318call caml_ev_end
    0022831dmov [rbp+72], 1
    00228325add rsp, 8
    00228329mov eax, 1
    0022832epop rbx
    0022832fpop rbp
    00228330ret
    002282d0
    00228331
    00228331 // align 0x10
    00228340
    00228340caml_final_do_calls_res:
    00228340push rbp
    00228341push rbx
    00228342sub rsp, 8
    00228346mov rax, [rip+0x4dc97]
    0022834dmov rax, [rax]
    00228351mov rbx, [rax+176]
    00228358cmp [rbx+96], 0
    0022835djne 0x228439
    00228363cmp [rbx+80], 0
    00228368je 0x228439
    0022836emov rax, [rip+0x1508c7]
    00228375test rax, rax
    00228378je 0x228380
    0022837acall rax
    0022837cmov edi, 128
    00228381lea rsi, [rip+37492]
    00228388xor eax, eax
    0022838acall caml_gc_message
    0022838fmov rdi, [rbx+80]
    00228393test rdi, rdi
    00228396je 0x228418
    00228398mov eax, [rdi+8]
    0022839btest eax, eax
    0022839dje 0x2283f1
    0022839fsub eax, 1
    002283a2mov [rdi+8], eax
    002283a5mov rax, [rbx+80]
    002283a9movsxd rdx, [rax+8]
    002283adlea rdx, [rdx+2*rdx]
    002283b1lea rax, [rax+8*rdx]
    002283b5mov rdx, [rax+24]
    002283b9movsxd rsi, [rax+32]
    002283bdmov rdi, [rax+16]
    002283c1mov [rbx+96], 1
    002283c9add rsi, rdx
    002283cccall caml_callback_res
    002283d1mov [rbx+96], 0
    002283d9test eax, eax
    002283dbjne 0x228460
    002283ddmov rdi, [rbx+80]
    002283e1test rdi, rdi
    002283e4je 0x228418
    002283e6mov eax, [rdi+8]
    002283e9test eax, eax
    002283ebjne 0x2283a3
    002283edmov rbp, [rdi]
    002283f0call caml_stat_free
    002283f5mov [rbx+80], rbp
    002283f9test rbp, rbp
    002283fcje 0x228410
    002283femov rdi, rbp
    00228401jmp 0x22839c
    00228403db 0x89
    00228404out dx, eax
    00228405jmp 0x22839c
    00228407
    00228407 66 0f 1f 84 00 00 00 00 00 f........
    00228410
    00228410loc_228410:
    00228410mov [rbx+88], 0
    00228418
    00228418loc_228418:
    00228418xor eax, eax
    0022841alea rsi, [rip+37383]
    00228421mov edi, 128
    00228426call caml_gc_message
    0022842bmov rax, [rip+0x150806]
    00228432test rax, rax
    00228435je 0x228439
    00228437call rax
    00228439
    00228439loc_228439:
    00228439xor ecx, ecx
    0022843bmov ebp, 1
    00228440add rsp, 8
    00228444mov rsi, 0xffffffff00000000
    0022844eand rcx, rsi
    00228451mov rdx, rbp
    00228454pop rbx
    00228455pop rbp
    00228456mov rdi, rcx
    00228459mov eax, edi
    0022845bret
    0022845c
    0022845c 0f 1f 40 00 ..@.
    00228460
    00228460loc_228460:
    00228460mov rbp, rdx
    00228463add rsp, 8
    00228467mov rdi, rax
    0022846amov rdx, rbp
    0022846dmov eax, edi
    0022846fpop rbx
    00228470pop rbp
    00228471ret
    00228340
    00228472
    00228472 // align 0x10
    00228480
    00228480caml_final_do_roots:
    00228480push r15
    00228482xor r15l, r15l
    00228485push r14
    00228487mov r14l, r8l
    0022848apush r13
    0022848cmov r13, rdx
    0022848fpush r12
    00228491mov r12, rdi
    00228494push rbp
    00228495push rbx
    00228496sub rsp, 8
    0022849amov rbp, [rcx+176]
    002284a1cmp [rbp+16], 0
    002284a6je 0x2284e9
    002284a8nop [rax]
    002284acmov rdx, [rbp]
    002284b0
    002284b0loc_2284b0:
    002284b0lea rbx, [r15+2*r15]
    002284b4mov rdi, r13
    002284b7shl rbx, 3
    002284bbadd rdx, rbx
    002284bemov rsi, [rdx]
    002284c1call r12
    002284c4test r14l, r14l
    002284c7je 0x2284df
    002284c9add rbx, [rbp]
    002284cdmov rdi, r13
    002284d0mov rsi, [rbx+8]
    002284d4lea rdx, [rbx+8]
    002284d8call r12
    002284dbadd r15, 1
    002284df
    002284dfloc_2284df:
    002284dfcmp r15, [rbp+16]
    002284e3jb 0x2284b0
    002284e5xor r15l, r15l
    002284e8cmp [rbp+56], 0
    002284edje 0x228539
    002284efnop [rax+rax]
    002284fanop
    002284fcmov rdx, [rbp+40]
    00228500
    00228500loc_228500:
    00228500lea rbx, [r15+2*r15]
    00228504mov rdi, r13
    00228507shl rbx, 3
    0022850badd rdx, rbx
    0022850emov rsi, [rdx]
    00228511call r12
    00228514test r14l, r14l
    00228517je 0x22852f
    00228519add rbx, [rbp+40]
    0022851dmov rdi, r13
    00228520mov rsi, [rbx+8]
    00228524lea rdx, [rbx+8]
    00228528call r12
    0022852badd r15, 1
    0022852f
    0022852floc_22852f:
    0022852fcmp r15, [rbp+56]
    00228533jb 0x228500
    00228535mov r14, [rbp+80]
    00228539
    00228539loc_228539:
    00228539test r14, r14
    0022853cje 0x228593
    0022853enop [rax+rax]
    00228549nop [rax]
    0022854cmov eax, [r14+8]
    00228550
    00228550loc_228550:
    00228550lea rbx, [r14+16]
    00228554xor ebp, ebp
    00228556test eax, eax
    00228558je 0x22858b
    0022855anop
    0022855cmov rsi, [rbx]
    0022855fmov rdx, rbx
    00228562mov rdi, r13
    00228565add rbp, 1
    00228569call r12
    0022856cmov rsi, [rbx+8]
    00228570lea rdx, [rbx+8]
    00228574mov rdi, r13
    00228577call r12
    0022857amovsxd rax, [r14+8]
    0022857eadd rbx, 24
    00228582cmp rbp, rax
    00228585jb 0x228560
    00228587mov r14, [r14]
    0022858atest r14, r14
    0022858djne 0x228550
    0022858fadd rsp, 8
    00228593
    00228593loc_228593:
    00228593pop rbx
    00228594pop rbp
    00228595pop r12
    00228597pop r13
    00228599pop r14
    0022859bpop r15
    0022859dret
    0022859edb 0x5e
    0022859fpop r15
    002285a1ret
    00228480
    002285a2
    002285a2 // align 0x10
    002285b0
    002285b0caml_final_do_young_roots:
    002285b0push r15
    002285b2push r14
    002285b4mov r14l, r8l
    002285b7push r13
    002285b9mov r13, rdx
    002285bcpush r12
    002285bemov r12, rdi
    002285c1push rbp
    002285c2push rbx
    002285c3sub rsp, 8
    002285c7mov rbp, [rcx+176]
    002285cemov r15, [rbp+8]
    002285d2cmp r15, [rbp+16]
    002285d6jae 0x228614
    002285d8nop [rax]
    002285dcmov rdx, [rbp]
    002285e0
    002285e0loc_2285e0:
    002285e0lea rbx, [r15+2*r15]
    002285e4mov rdi, r13
    002285e7add r15, 1
    002285ebshl rbx, 3
    002285efadd rdx, rbx
    002285f2mov rsi, [rdx]
    002285f5call r12
    002285f8add rbx, [rbp]
    002285fcmov rdi, r13
    002285ffmov rsi, [rbx+8]
    00228603lea rdx, [rbx+8]
    00228607call r12
    0022860acmp r15, [rbp+16]
    0022860ejb 0x2285e0
    00228610mov r15, [rbp+48]
    00228614
    00228614loc_228614:
    00228614cmp r15, [rbp+56]
    00228618jae 0x228659
    0022861anop
    0022861cmov rdx, [rbp+40]
    00228620
    00228620loc_228620:
    00228620lea rbx, [r15+2*r15]
    00228624mov rdi, r13
    00228627shl rbx, 3
    0022862badd rdx, rbx
    0022862emov rsi, [rdx]
    00228631call r12
    00228634test r14l, r14l
    00228637je 0x22864f
    00228639add rbx, [rbp+40]
    0022863dmov rdi, r13
    00228640mov rsi, [rbx+8]
    00228644lea rdx, [rbx+8]
    00228648call r12
    0022864badd r15, 1
    0022864f
    0022864floc_22864f:
    0022864fcmp r15, [rbp+56]
    00228653jb 0x228620
    00228655add rsp, 8
    00228659
    00228659loc_228659:
    00228659pop rbx
    0022865apop rbp
    0022865bpop r12
    0022865dpop r13
    0022865fpop r14
    00228661pop r15
    00228663ret
    00228664db 0x5e
    00228665pop r15
    00228667ret
    002285b0
    00228668
    00228668 // align 0x20
    00228680
    00228680caml_final_update_last_minor:
    00228680push r15
    00228682push r14
    00228684push r13
    00228686push r12
    00228688push rbp
    00228689push rbx
    0022868asub rsp, 8
    0022868emov rbx, [rdi+176]
    00228695mov rbp, [rbx+48]
    00228699cmp rbp, [rbx+56]
    0022869djae 0x22876a
    002286a3mov r12, rdi
    002286a6xor r13l, r13l
    002286a9jmp 0x2286cd
    002286abdb 0x31
    002286acin eax, dx
    002286adjmp 0x2286cd
    002286af
    002286af 66 f
    002286b0 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
    002286c0
    002286c0loc_2286c0:
    002286c0mov rdx, [rbx+56]
    002286c4add rbp, 1
    002286c8cmp rbp, rdx
    002286cbjae 0x228710
    002286cd
    002286cdloc_2286cd:
    002286cdmov rdx, [rbx+40]
    002286d1lea rax, [rbp+2*rbp]
    002286d6lea rax, [rdx+8*rax]
    002286damov rdi, [rax+8]
    002286decmp rdi, [rip+0x14fee3]
    002286e5jae 0x2286c0
    002286e7cmp [rip+0x14fee2], rdi
    002286eejae 0x2286c0
    002286f0call caml_get_header_val
    002286f5mov rdx, [rbx+56]
    002286f9cmp rax, 1
    002286fdsbb r13, -1
    00228701add rbp, 1
    00228705cmp rbp, rdx
    00228708jb 0x2286cd
    0022870anop [rax+rax]
    00228710
    00228710loc_228710:
    00228710test r13, r13
    00228713jne 0x228780
    00228715
    00228715loc_228715:
    00228715mov rax, [rbx+48]
    00228719cmp rax, rdx
    0022871cjae 0x22876a
    0022871elea rdx, [rax+2*rax]
    00228722mov rdi, [rip+0x14fe9f]
    00228729mov r8, [rip+0x14fea0]
    00228730shl rdx, 3
    00228734nop [rax+rax]
    0022873fnop
    00228740
    00228740loc_228740:
    00228740mov rsi, [rbx+40]
    00228744add rsi, rdx
    00228747mov rcx, [rsi+8]
    0022874bcmp rcx, rdi
    0022874ejae 0x22875c
    00228750cmp r8, rcx
    00228753jae 0x22875c
    00228755mov rcx, [rcx]
    00228758mov [rsi+8], rcx
    0022875c
    0022875cloc_22875c:
    0022875cadd rax, 1
    00228760add rdx, 24
    00228764cmp rax, [rbx+56]
    00228768jb 0x228740
    0022876a
    0022876aloc_22876a:
    0022876aadd rsp, 8
    0022876epop rbx
    0022876fpop rbp
    00228770pop r12
    00228772pop r13
    00228774pop r14
    00228776pop r15
    00228778ret
    00228779
    00228779 0f 1f 80 00 00 00 00 .......
    00228780
    00228780loc_228780:
    00228780mov rdi, r12
    00228783call caml_set_action_pending
    00228788mov esi, r13l
    0022878bmov rdi, r12
    0022878ecall fn_227fc0
    00228793mov r14, [rbx+48]
    00228797cmp r14, [rbx+56]
    0022879bjae 0x228860
    002287a1mov rbp, r14
    002287a4xor r15l, r15l
    002287a7jmp 0x2287d9
    002287a9
    002287a9 0f 1f 80 00 00 00 00 .......
    002287b0
    002287b0loc_2287b0:
    002287b0movdqu x0, [rax]
    002287b4lea rcx, [r14+2*r14]
    002287b8add rbp, 1
    002287bcadd r14, 1
    002287c0lea rdx, [rdx+8*rcx]
    002287c4movups [rdx], x0
    002287c7mov rax, [rax+16]
    002287cbmov [rdx+16], rax
    002287cfcmp rbp, [rbx+56]
    002287d3jae 0x228860
    002287d9
    002287d9loc_2287d9:
    002287d9mov rdx, [rbx+40]
    002287ddlea r12, [rbp+2*rbp]
    002287e2shl r12, 3
    002287e6lea rax, [rdx+r12]
    002287eamov rdi, [rax+8]
    002287eecmp rdi, [rip+0x14fdd3]
    002287f5jae 0x2287b0
    002287f7cmp [rip+0x14fdd2], rdi
    002287fejae 0x2287b0
    00228800call caml_get_header_val
    00228805mov rdx, [rbx+40]
    00228809mov rcx, rax
    0022880clea rax, [rdx+r12]
    00228810test rcx, rcx
    00228813je 0x2287b0
    00228815mov rcx, [rbx+88]
    00228819lea rdx, [r15+2*r15]
    0022881dmovdqu x0, [rax]
    00228821add r15, 1
    00228825shl rdx, 3
    00228829add rbp, 1
    0022882dadd rcx, rdx
    00228830movups [rcx+16], x0
    00228834mov rax, [rax+16]
    00228838mov [rcx+32], rax
    0022883cmov rax, [rbx+88]
    00228840add rax, rdx
    00228843mov [rax+24], 1
    0022884badd rdx, [rbx+88]
    0022884fmov [rdx+32], 0
    00228856cmp rbp, [rbx+56]
    0022885ajb 0x2287d9
    00228860
    00228860loc_228860:
    00228860mov rax, [rbx+88]
    00228864mov [rbx+56], r14
    00228868mov [rax+8], r13l
    0022886cmov rdx, [rbx+56]
    00228870jmp 0x228715
    00228680
    00228875
    00228875 // align 0x10
    00228880
    00228880caml_final_empty_young:
    00228880mov rax, [rdi+176]
    00228887mov rdx, [rax+16]
    0022888bmov [rax+8], rdx
    0022888fmov rdx, [rax+56]
    00228893mov [rax+48], rdx
    00228897ret
    00228898db 0x89
    00228899push rax
    0022889axor bl, al
    00228880
    0022889c
    0022889c // align 0x10
    002288a0
    002288a0caml_final_merge_finalisable:
    002288a0push r12
    002288a2push rbp
    002288a3mov rbp, rdi
    002288a6push rbx
    002288a7mov rax, [rdi+16]
    002288abmov rbx, rsi
    002288aemov rdx, [rsi+16]
    002288b2mov rdi, [rbx]
    002288b5lea rsi, [rdx+rax]
    002288b9cmp rsi, [rbx+24]
    002288bdjb 0x2288ea
    002288bflea r12, [rsi+rsi]
    002288c3add rsi, r12
    002288c6shl rsi, 4
    002288catest rdi, rdi
    002288cdje 0x228938
    002288cfcall caml_stat_resize
    002288d4mov [rbx], rax
    002288d7mov rdi, rax
    002288damov rdx, [rbx+16]
    002288demov [rbx+24], r12
    002288e2mov rax, [rbp+16]
    002288e6lea rax, [rax+2*rax]
    002288ea
    002288ealoc_2288ea:
    002288ealea rdx, [rdx+2*rdx]
    002288eemov rsi, rdi
    002288f1lea rax, [rdi+8*rax]
    002288f5shl rdx, 3
    002288f9mov rdi, rax
    002288fccall fn_f4520
    00228901mov rax, [rbp+16]
    00228905mov rdi, [rbx]
    00228908mov rsi, [rbp]
    0022890clea rdx, [rax+2*rax]
    00228910shl rdx, 3
    00228914call fn_f47d0
    00228919mov rax, [rbp+16]
    0022891dadd [rbx+8], rax
    00228921mov rax, [rbp+16]
    00228925add [rbx+16], rax
    00228929pop rbx
    0022892apop rbp
    0022892bpop r12
    0022892dret
    0022892edb 0x5d
    0022892fpop r12
    00228931ret
    00228932
    00228932 66 0f 1f 44 00 00 f..D..
    00228938
    00228938loc_228938:
    00228938mov rdi, rsi
    0022893bcall caml_stat_alloc
    00228940jmp 0x2288d8
    002288a0
    00228942
    00228942 // align 0x10
    00228950
    00228950caml_final_register:
    00228950sub rsp, 8
    00228954mov rax, [rip+0x4d689]
    0022895bmov rdx, rsi
    0022895emov rsi, rdi
    00228961mov rax, [rax]
    00228965mov rax, [rax+176]
    0022896cmov rdi, rax
    0022896fcall fn_227e60
    00228974mov eax, 1
    00228979add rsp, 8
    0022897dret
    0022897edb 0x83
    0022897fdb 0xc4
    00228980or bl, al
    00228950
    00228982
    00228982 // align 0x10
    00228990
    00228990caml_final_register_called_without_value:
    00228990sub rsp, 8
    00228994mov rax, [rip+0x4d649]
    0022899bmov rcx, rdi
    0022899emov rdx, rsi
    002289a1mov rsi, rcx
    002289a4mov rax, [rax]
    002289a8mov rax, [rax+176]
    002289aflea rdi, [rax+40]
    002289b3call fn_227e60
    002289b8mov eax, 1
    002289bdadd rsp, 8
    002289c1ret
    002289c2db 0x83
    002289c3db 0xc4
    002289c4or bl, al
    00228990
    002289c6
    002289c6 // align 0x10
    002289d0
    002289d0caml_final_release:
    002289d0mov rax, [rip+0x4d60d]
    002289d7mov rax, [rax]
    002289dbmov rax, [rax+176]
    002289e2mov [rax+96], 0
    002289eamov eax, 1
    002289efret
    002289f0db 0x00
    002289f1add [rax], al
    002289f3ret
    002289d0
    002289f4
    002289f4 // align 0x10
    00228a00
    00228a00caml_alloc_final_info:
    00228a00sub rsp, 8
    00228a04mov edi, 112
    00228a09call caml_stat_alloc_noexc
    00228a0emov rdx, rax
    00228a11test rax, rax
    00228a14je 0x228a42
    00228a16lea rdi, [rax+8]
    00228a1amov rcx, rax
    00228a1dmov [rax], 0
    00228a24and rdi, -8
    00228a28mov [rax+104], 0
    00228a30xor eax, eax
    00228a32sub rcx, rdi
    00228a35add ecx, 112
    00228a38shr ecx, 3
    00228a3brep stosq [rdi], rax
    00228a3emov rax, rdx
    00228a41add rsp, 8
    00228a45ret
    00228a46db 0x83
    00228a47db 0xc4
    00228a48or bl, al
    00228a00
    00228a4a
    00228a4a // align 0x20
    00228a60
    00228a60fn_228a60:
    00228a60mov r9, [rdi]
    00228a63mov rax, [rdi+16]
    00228a67mov r8, rsi
    00228a6amov r11, rdx
    00228a6dtest eax, eax
    00228a6fjs 0x228b15
    00228a75movsxd rdx, eax
    00228a78mov eax, eax
    00228a7alea rsi, [8*rdx+40]
    00228a82sub rdx, rax
    00228a85lea r10, [8*rdx+32]
    00228a8dnop [rax]
    00228a90
    00228a90loc_228a90:
    00228a90mov rdi, [r9+rsi]
    00228a94and rdi, -2
    00228a98mov rdx, [rdi+rsi]
    00228a9cmov rax, rdx
    00228a9fand rax, -2
    00228aa3and edx, 1
    00228aa6je 0x228aee
    00228aa8nop [rax+rax]
    00228ab3nop [rax+rax]
    00228abenop
    00228ac0
    00228ac0loc_228ac0:
    00228ac0mov rdx, [rax+rsi]
    00228ac4mov rcx, rax
    00228ac7mov rax, rdx
    00228acaand rax, -2
    00228aceand edx, 1
    00228ad1jne 0x228ac0
    00228ad3mov rdi, rax
    00228ad6cmp [rcx], r8
    00228ad9jae 0x228b00
    00228adb
    00228adbloc_228adb:
    00228adbmov rdx, [rdi+rsi]
    00228adfmov r9, rcx
    00228ae2mov rax, rdx
    00228ae5and rax, -2
    00228ae9and edx, 1
    00228aecjne 0x228ac0
    00228aee
    00228aeeloc_228aee:
    00228aeemov rcx, rdi
    00228af1mov rdi, rax
    00228af4cmp [rcx], r8
    00228af7jb 0x228adb
    00228af9nop [rax]
    00228b00
    00228b00loc_228b00:
    00228b00sub rsi, 8
    00228b04cmp rsi, r10
    00228b07jne 0x228a90
    00228b09
    00228b09loc_228b09:
    00228b09test r11, r11
    00228b0cje 0x228b11
    00228b0emov [r11], r9
    00228b11
    00228b11loc_228b11:
    00228b11mov rax, rcx
    00228b14ret
    00228b15
    00228b15loc_228b15:
    00228b15xor ecx, ecx
    00228b17jmp 0x228b09
    00228a60
    00228b19
    00228b19 // align 0x10
    00228b20
    00228b20fn_228b20:
    00228b20push r13
    00228b22mov r11, rdi
    00228b25xor r9l, r9l
    00228b28lea rdi, [rdi+24]
    00228b2cpush r12
    00228b2epush rbp
    00228b2fmov rbp, rdx
    00228b32push rbx
    00228b33mov rbx, rsi
    00228b36sub rsp, 24
    00228b3amov r12, [0x28]
    00228b43mov [rsp+8], r12
    00228b48mov r12, rcx
    00228b4b
    00228b4bloc_228b4b:
    00228b4bmov r10, [r11]
    00228b4emov r8l, 168
    00228b54
    00228b54loc_228b54:
    00228b54mov rcx, [r10+r8]
    00228b58and rcx, -2
    00228b5cmov rax, [rcx+r8]
    00228b60mov rdx, rax
    00228b63and rdx, -2
    00228b67test al, 1
    00228b69je 0x228bee
    00228b6fnop
    00228b70
    00228b70loc_228b70:
    00228b70mov rax, rcx
    00228b73lea rsi, [r10+r8]
    00228b77mov rcx, rdx
    00228b7anop [rax+rax]
    00228b80
    00228b80loc_228b80:
    00228b80lock cmpxchg [rsi], rcx
    00228b85mov rdx, rax
    00228b88jne 0x228b4b
    00228b8alea rcx, [rax+32]
    00228b8emov r13l, 1
    00228b94mov rax, r9
    00228b97lock cmpxchg [rcx], r13
    00228b9cjne 0x228bc0
    00228b9emov r13, rsp
    00228ba1
    00228ba1loc_228ba1:
    00228ba1mov rax, [rdi]
    00228ba4mov [rsp], rax
    00228ba8mov rax, [rsp]
    00228bacmov [rcx], rax
    00228bafmov rax, [r13]
    00228bb3lock cmpxchg [rdi], rdx
    00228bb8je 0x228bc0
    00228bbamov [r13], rax
    00228bbejmp 0x228ba1
    00228bc0
    00228bc0loc_228bc0:
    00228bc0mov rax, [rsi]
    00228bc3and rax, -2
    00228bc7mov rdx, [rax+r8]
    00228bcbmov rcx, rdx
    00228bceand rcx, -2
    00228bd2and edx, 1
    00228bd5jne 0x228b80
    00228bd7cmp [rax], rbx
    00228bdajae 0x228bf9
    00228bdc
    00228bdcloc_228bdc:
    00228bdcmov r10, rax
    00228bdfmov rax, [rcx+r8]
    00228be3mov rdx, rax
    00228be6and rdx, -2
    00228beatest al, 1
    00228becjne 0x228b70
    00228bee
    00228beeloc_228bee:
    00228beemov rax, rcx
    00228bf1mov rcx, rdx
    00228bf4cmp [rax], rbx
    00228bf7jb 0x228bdc
    00228bf9
    00228bf9loc_228bf9:
    00228bf9mov [rbp+r8-40], r10
    00228bfemov [r12+r8-40], rax
    00228c03sub r8, 8
    00228c07cmp r8, 32
    00228c0bjne 0x228b54
    00228c11cmp [rax], rbx
    00228c14sete al
    00228c17movzx eax, al
    00228c1amov rdx, [rsp+8]
    00228c1fsub rdx, [0x28]
    00228c28jne 0x228c35
    00228c2aadd rsp, 24
    00228c2epop rbx
    00228c2fpop rbp
    00228c30pop r12
    00228c32pop r13
    00228c34ret
    00228c35
    00228c35loc_228c35:
    00228c35call fn_f4590
    00228b20
    00228c3a
    00228c3a // align 0x10
    00228c40
    00228c40caml_lf_skiplist_init:
    00228c40push rbp
    00228c41xor ebp, ebp
    00228c43push rbx
    00228c44mov rbx, rdi
    00228c47sub rsp, 8
    00228c4bmov [rdi+16], 0
    00228c53mov edi, 176
    00228c58call caml_stat_alloc
    00228c5dmov rsi, rbp
    00228c60mov [rbx], rax
    00228c63mov [rax], 0
    00228c6amov rax, [rbx]
    00228c6dmov [rax+8], 0
    00228c75mov rax, [rbx]
    00228c78xchg [rax+32], rsi
    00228c7cmov edi, 176
    00228c81mov rax, [rbx]
    00228c84mov [rax+16], 16
    00228c8ccall caml_stat_alloc
    00228c91mov [rbx+8], rax
    00228c95mov [rax], -1
    00228c9cmov rax, [rbx+8]
    00228ca0mov [rax+8], 0
    00228ca8mov rax, [rbx+8]
    00228cacxchg [rax+32], rbp
    00228cb0mov rax, [rbx+8]
    00228cb4mov [rax+16], 16
    00228cbcmov rax, [rbx]
    00228cbfxchg [rbx+24], rax
    00228cc3mov eax, 40
    00228cc8nop [rax+rax]
    00228cd3nop [rax+rax]
    00228cdcmov rdx, [rbx]
    00228cdfmov rcx, [rbx+8]
    00228ce3mov [rdx+rax], rcx
    00228ce7mov rdx, [rbx+8]
    00228cebmov [rdx+rax], 0
    00228cf3add rax, 8
    00228cf7cmp rax, 176
    00228cfdjne 0x228ce0
    00228cffadd rsp, 8
    00228d03pop rbx
    00228d04pop rbp
    00228d05ret
    00228d06db 0x08
    00228d07pop rbx
    00228d08pop rbp
    00228d09ret
    00228c40
    00228d0a
    00228d0a // align 0x10
    00228d10
    00228d10caml_lf_skiplist_find:
    00228d10push rbp
    00228d11mov rbp, rdx
    00228d14xor edx, edx
    00228d16push rbx
    00228d17mov rbx, rsi
    00228d1acall fn_228a60
    00228d1fxor edx, edx
    00228d21cmp [rax], rbx
    00228d24je 0x228d30
    00228d26mov eax, edx
    00228d28pop rbx
    00228d29pop rbp
    00228d2aret
    00228d2bdb 0xd0
    00228d2cpop rbx
    00228d2dpop rbp
    00228d2eret
    00228d2f
    00228d2f 90 .
    00228d30
    00228d30loc_228d30:
    00228d30test rbp, rbp
    00228d33je 0x228d3d
    00228d35mov rax, [rax+8]
    00228d39mov [rbp], rax
    00228d3d
    00228d3dloc_228d3d:
    00228d3dmov edx, 1
    00228d42pop rbx
    00228d43pop rbp
    00228d44mov eax, edx
    00228d46ret
    00228d10
    00228d47
    00228d47 // align 0x10
    00228d50
    00228d50caml_lf_skiplist_find_below:
    00228d50push r13
    00228d52push r12
    00228d54mov r12, rdx
    00228d57push rbp
    00228d58mov rbp, rdi
    00228d5bpush rbx
    00228d5cmov rbx, rsi
    00228d5fsub rsp, 24
    00228d63mov r13, [0x28]
    00228d6cmov [rsp+8], r13
    00228d71mov r13, rcx
    00228d74mov rdx, rsp
    00228d77call fn_228a60
    00228d7ccmp [rax], rbx
    00228d7fje 0x228d8f
    00228d81mov rax, [rsp]
    00228d85cmp [rbp], rax
    00228d89je 0x228dd0
    00228d8btest r13, r13
    00228d8eje 0x228d9c
    00228d90mov rdx, [rax+8]
    00228d94mov [r13], rdx
    00228d98test r12, r12
    00228d9bje 0x228da8
    00228d9dmov rax, [rax]
    00228da0mov [r12], rax
    00228da4mov eax, 1
    00228da9mov rdx, [rsp+8]
    00228daesub rdx, [0x28]
    00228db7jne 0x228dd4
    00228db9add rsp, 24
    00228dbdpop rbx
    00228dbepop rbp
    00228dbfpop r12
    00228dc1pop r13
    00228dc3ret
    00228dc4db 0x5c
    00228dc5pop r13
    00228dc7ret
    00228dc8
    00228dc8 0f 1f 84 00 00 00 00 00 ........
    00228dd0
    00228dd0loc_228dd0:
    00228dd0xor eax, eax
    00228dd2jmp 0x228dad
    00228dd4
    00228dd4loc_228dd4:
    00228dd4call fn_f4590
    00228d50
    00228dd9
    00228dd9 // align 0x10
    00228de0
    00228de0caml_lf_skiplist_insert:
    00228de0push r15
    00228de2push r14
    00228de4push r13
    00228de6push r12
    00228de8mov r12, rdi
    00228debpush rbp
    00228decpush rbx
    00228dedsub rsp, 328
    00228df4mov [rsp+8], rsi
    00228df9lea r15, [rsp+176]
    00228e01lea r13, [rsp+32]
    00228e06mov rbx, [0x28]
    00228e0fmov [rsp+312], rbx
    00228e17mov rbx, rdx
    00228e1amov rsi, [rsp+8]
    00228e1fmov rcx, r15
    00228e22mov rdx, r13
    00228e25mov rdi, r12
    00228e28call fn_228b20
    00228e2dmov ebp, eax
    00228e2ftest eax, eax
    00228e31jne 0x228fe1
    00228e37mov eax, [rip+0x1503d3]
    00228e3dimul edx, eax, 0x10dcd
    00228e43add edx, 25173
    00228e49lock cmpxchg [rip+0x1503bf], edx
    00228e51jne 0x228e3b
    00228e53mov eax, edx
    00228e55not eax
    00228e57test eax, 0xffffffffc0000000
    00228e5cjne 0x228fb0
    00228e62nop [rax+rax]
    00228e6dnop [rax+rax]
    00228e78nop [rax]
    00228e7cshl edx, 2
    00228e7fmov ecx, ebp
    00228e81add ebp, 1
    00228e84mov eax, edx
    00228e86not eax
    00228e88test eax, 0xffffffffc0000000
    00228e8dje 0x228e80
    00228e8fadd ecx, 2
    00228e92movsxd r9, ebp
    00228e95movsxd rcx, ecx
    00228e98mov [rsp+16], r9
    00228e9dlea rdi, [8*rcx+40]
    00228ea5call caml_stat_alloc
    00228eaamov r9, [rsp+16]
    00228eafmov r14, rax
    00228eb2mov [rax+16], r9
    00228eb6mov rax, [rsp+8]
    00228ebbmov [r14+8], rbx
    00228ebfmov [r14], rax
    00228ec2mov [r14+32], 0
    00228ecatest ebp, ebp
    00228eccjs 0x228f15
    00228ecemov ecx, ebp
    00228ed0mov rax, r15
    00228ed3lea rdx, [r14+40]
    00228ed7lea rsi, [rsp+8*rcx+184]
    00228edfnop [rax+rax]
    00228eeanop [rax+rax]
    00228ef5nop [rax]
    00228efcadd rax, 8
    00228f00
    00228f00loc_228f00:
    00228f00add rdx, 8
    00228f04mov rcx, [rax-8]
    00228f08mov [rdx-8], rcx
    00228f0ccmp rax, rsi
    00228f0fjne 0x228f00
    00228f11mov rdx, [rsp+32]
    00228f16mov rax, [rsp+176]
    00228f1elock cmpxchg [rdx+40], r14
    00228f24jne 0x229032
    00228f2amov ebx, 1
    00228f2ftest ebp, ebp
    00228f31jle 0x228f65
    00228f33nop [rax+rax]
    00228f3cmov rdx, [r13+8*rbx]
    00228f41mov rax, [r15+8*rbx]
    00228f45lea r10, [8*rbx+40]
    00228f4dlock cmpxchg [rdx+r10], r14
    00228f53jne 0x228fef
    00228f59add rbx, 1
    00228f5d
    00228f5dloc_228f5d:
    00228f5dcmp ebp, ebx
    00228f5fjge 0x228f40
    00228f61mov rax, [r12+16]
    00228f66cmp rax, r9
    00228f69jb 0x228fa0
    00228f6bmov rax, [rsp+312]
    00228f73sub rax, [0x28]
    00228f7cjne 0x22902d
    00228f82add rsp, 328
    00228f89mov eax, 1
    00228f8epop rbx
    00228f8fpop rbp
    00228f90pop r12
    00228f92pop r13
    00228f94pop r14
    00228f96pop r15
    00228f98ret
    00228f99db 0x5e
    00228f9apop r15
    00228f9cret
    00228f9d
    00228f9d 0f 1f 00 ...
    00228fa0
    00228fa0loc_228fa0:
    00228fa0mov [r12+16], r9
    00228fa5jmp 0x228f6f
    00228fa7
    00228fa7 66 0f 1f 84 00 00 00 00 00 f........
    00228fb0
    00228fb0loc_228fb0:
    00228fb0mov edi, 48
    00228fb5call caml_stat_alloc
    00228fbaxor r9l, r9l
    00228fbdmov [rax+16], 0
    00228fc5mov r14, rax
    00228fc8mov rax, [rsp+8]
    00228fcdmov [r14+8], rbx
    00228fd1mov [r14], rax
    00228fd4mov [r14+32], 0
    00228fdcjmp 0x228ed2
    00228fe1
    00228fe1loc_228fe1:
    00228fe1mov rax, [rsp+176]
    00228fe9mov [rax+8], rbx
    00228fedjmp 0x228f6f
    00228fef
    00228fefloc_228fef:
    00228fefmov rsi, [rsp+8]
    00228ff4mov rdx, r13
    00228ff7mov rcx, r15
    00228ffamov rdi, r12
    00228ffdmov [rsp+24], r10
    00229002mov [rsp+16], r9
    00229007call fn_228b20
    0022900cmov rdx, [r13+8*rbx]
    00229011mov rax, [r15+8*rbx]
    00229015mov r10, [rsp+24]
    0022901alock cmpxchg [rdx+r10], r14
    00229020mov r9, [rsp+16]
    00229025je 0x228f5d
    0022902bjmp 0x228fef
    0022902d
    0022902dloc_22902d:
    0022902dcall fn_f4590
    00229032
    00229032loc_229032:
    00229032mov rdi, r14
    00229035call caml_stat_free
    0022903ajmp 0x228e1e
    00228de0
    0022903f
    0022903f // align 0x10
    00229040
    00229040caml_lf_skiplist_remove:
    00229040push r13
    00229042push r12
    00229044push rbp
    00229045push rbx
    00229046mov rbx, rdi
    00229049sub rsp, 296
    00229050mov rbp, [0x28]
    00229059mov [rsp+280], rbp
    00229061mov rbp, rsi
    00229064lea r13, [rsp+144]
    0022906cmov rdx, rsp
    0022906fmov rcx, r13
    00229072call fn_228b20
    00229077test eax, eax
    00229079je 0x22914b
    0022907fmov rdi, [rsp+144]
    00229087mov r12, rsp
    0022908amov rax, [rdi+16]
    0022908etest eax, eax
    00229090jle 0x2290e4
    00229092movsxd rcx, eax
    00229095sub eax, 1
    00229098lea rsi, [rdi+8*rcx+32]
    0022909dshl rax, 3
    002290a1lea rdx, [rdi+8*rcx+40]
    002290a6sub rsi, rax
    002290a9jmp 0x2290cc
    002290abdb 0x29
    002290acdb 0xc6
    002290adjmp 0x2290cc
    002290af
    002290af 66 f
    002290b0 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
    002290c0
    002290c0loc_2290c0:
    002290c0mov rcx, rax
    002290c3or rcx, 1
    002290c7lock cmpxchg [rdx], rcx
    002290cc
    002290ccloc_2290cc:
    002290ccmov rcx, [rdx]
    002290cfmov rax, rcx
    002290d2and rax, -2
    002290d6and ecx, 1
    002290d9je 0x2290c0
    002290dbsub rdx, 8
    002290dfcmp rdx, rsi
    002290e2jne 0x2290cc
    002290e4
    002290e4loc_2290e4:
    002290e4mov rax, [rdi+40]
    002290e8lea rdx, [rdi+40]
    002290ecand rax, -2
    002290f0
    002290f0loc_2290f0:
    002290f0mov rcx, rax
    002290f3or rcx, 1
    002290f7lock cmpxchg [rdx], rcx
    002290fcmov rcx, [rdx]
    002290ffmov rax, rcx
    00229102sete sil
    00229106and rax, -2
    0022910atest sil, sil
    0022910dje 0x229146
    0022910fmov rcx, r13
    00229112mov rdx, r12
    00229115mov rsi, rbp
    00229118mov rdi, rbx
    0022911bcall fn_228b20
    00229120mov eax, 1
    00229125
    00229125loc_229125:
    00229125mov rdx, [rsp+280]
    0022912dsub rdx, [0x28]
    00229136jne 0x22914f
    00229138add rsp, 296
    0022913fpop rbx
    00229140pop rbp
    00229141pop r12
    00229143pop r13
    00229145ret
    00229146
    00229146loc_229146:
    00229146and cl, 1
    00229149je 0x2290f0
    0022914b
    0022914bloc_22914b:
    0022914bxor eax, eax
    0022914djmp 0x229125
    0022914f
    0022914floc_22914f:
    0022914fcall fn_f4590
    00229040
    00229154
    00229154 // align 0x10
    00229160
    00229160caml_lf_skiplist_free_garbage:
    00229160push r12
    00229162mov r12, rdi
    00229165push rbp
    00229166push rbx
    00229167mov rbx, [rdi+24]
    0022916bmov rbp, [rdi]
    0022916ecmp rbx, rbp
    00229171je 0x229198
    00229173nop [rax+rax]
    0022917cmov rax, [rbx+32]
    00229180
    00229180loc_229180:
    00229180mov rdi, rbx
    00229183mov rbx, rax
    00229186call caml_stat_free
    0022918bcmp rbx, rbp
    0022918ejne 0x229180
    00229190mov rbp, [r12]
    00229194mov [r12+24], rbp
    00229199pop rbx
    0022919apop rbp
    0022919bpop r12
    0022919dret
    0022919edb 0x5d
    0022919fpop r12
    002291a1ret
    00229160
    002291a2
    002291a2 // align 0x10
    002291b0
    002291b0caml_format_exception:
    002291b0push r15
    002291b2push r14
    002291b4push r13
    002291b6push r12
    002291b8push rbp
    002291b9push rbx
    002291basub rsp, 376
    002291c1mov rax, [rip+0x4ce1c]
    002291c8mov rbp, [0x28]
    002291d1mov [rsp+360], rbp
    002291d9lea rbp, [rsp+32]
    002291delea r13, [rsp+287]
    002291e6movq x1, r13
    002291ebcmp [rax], 0
    002291f0movq x0, rbp
    002291f5punpcklqdq x0, x1
    002291f9je 0x229598
    002291ffmovzx eax, [rdi-8]
    00229203mov rbx, rdi
    00229206movaps [rsp+16], x0
    0022920bmov r15, rdi
    0022920elea r12, [rdi-8]
    00229212test al, al
    00229214je 0x2292a8
    0022921amov r12, [rdi]
    0022921dmov rdi, r12
    00229220call fn_f43a0
    00229225lea rbx, [rbp+rax]
    0022922acmp r13, rbx
    0022922djb 0x229538
    00229233test rax, rax
    00229236jne 0x229540
    0022923cmov rbx, rbp
    0022923fmov [rsp+16], rbx
    00229244mov [rbx], 0
    00229247mov rbx, [rsp+16]
    0022924csub rbx, rbp
    0022924fadd rbx, 1
    00229253mov rdi, rbx
    00229256call caml_stat_alloc_noexc
    0022925bmov rcx, rax
    0022925etest rax, rax
    00229261je 0x229278
    00229263mov rdx, rbx
    00229266mov rsi, rbp
    00229269mov rdi, rax
    0022926ccall fn_f4520
    00229271mov rcx, rax
    00229274mov rax, [rsp+360]
    0022927csub rax, [0x28]
    00229285jne 0x22959d
    0022928badd rsp, 376
    00229292mov rax, rcx
    00229295pop rbx
    00229296pop rbp
    00229297pop r12
    00229299pop r13
    0022929bpop r14
    0022929dpop r15
    0022929fret
    002292a0db 0x5e
    002292a1pop r15
    002292a3ret
    002292a4
    002292a4 0f 1f 40 00 ..@.
    002292a8
    002292a8loc_2292a8:
    002292a8mov rax, [rdi]
    002292abmov r14, [rax]
    002292aemov rdi, r14
    002292b1call fn_f43a0
    002292b6lea rcx, [rbp+rax]
    002292bbcmp r13, rcx
    002292bejb 0x229510
    002292c4test rax, rax
    002292c7jne 0x229518
    002292cdmov rcx, rbp
    002292d0
    002292d0loc_2292d0:
    002292d0mov [rsp+16], rcx
    002292d5mov rax, [rbx-8]
    002292d9shr rax, 10
    002292ddcmp rax, 2
    002292e1je 0x229558
    002292e7
    002292e7loc_2292e7:
    002292e7mov r13l, 1
    002292ed
    002292edloc_2292ed:
    002292edmov rax, [rsp+16]
    002292f2cmp rax, [rsp+24]
    002292f7jae 0x229305
    002292f9lea rdx, [rax+1]
    002292fdmov [rsp+16], rdx
    00229302mov [rax], 40
    00229305
    00229305loc_229305:
    00229305lea r14, [r15+8*r13]
    00229309mov rbx, r13
    0022930cjmp 0x229341
    0022930e
    0022930e 66 90 f.
    00229310
    00229310loc_229310:
    00229310movzx eax, [r9-8]
    00229315mov r15, [rsp+16]
    0022931amov rcx, [rsp+24]
    0022931fcmp al, -4
    00229321je 0x2293f8
    00229327cmp r15, rcx
    0022932ajae 0x229339
    0022932clea rax, [r15+1]
    00229330mov [rsp+16], rax
    00229335mov [r15], 95
    00229339
    00229339loc_229339:
    00229339add rbx, 1
    0022933dadd r14, 8
    00229341
    00229341loc_229341:
    00229341mov rax, [r12]
    00229345shr rax, 10
    00229349cmp rbx, rax
    0022934cjae 0x229488
    00229352cmp r13, rbx
    00229355jb 0x2293d0
    00229357
    00229357loc_229357:
    00229357mov r9, [r14]
    0022935atest r9b, 1
    0022935eje 0x229310
    00229360sar r9, 1
    00229363mov ecx, 64
    00229368mov edx, 1
    0022936dxor eax, eax
    0022936flea r15, [rsp+288]
    00229377mov esi, 64
    0022937clea r8, [rip+25502]
    00229383mov rdi, r15
    00229386call fn_f46b0
    0022938bmov rdi, r15
    0022938ecall fn_f43a0
    00229393mov rdi, [rsp+16]
    00229398mov rdx, rax
    0022939bmov rax, [rsp+24]
    002293a0lea rsi, [rdi+rdx]
    002293a4mov rcx, rax
    002293a7sub rcx, rdi
    002293aacmp rax, rsi
    002293adcmovb rdx, rcx
    002293b1test rdx, rdx
    002293b4jne 0x2294c8
    002293ba
    002293baloc_2293ba:
    002293baadd rdi, rdx
    002293bdmov [rsp+16], rdi
    002293c2jmp 0x229339
    002293c7
    002293c7 66 0f 1f 84 00 00 00 00 00 f........
    002293d0
    002293d0loc_2293d0:
    002293d0mov rdi, [rsp+16]
    002293d5mov rax, [rsp+24]
    002293dalea rdx, [rdi+2]
    002293decmp rax, rdx
    002293e1jae 0x229460
    002293e3sub rax, rdi
    002293e6mov r15, rax
    002293e9jne 0x229466
    002293eb
    002293ebloc_2293eb:
    002293ebmov [rsp+16], rdi
    002293f0jmp 0x229357
    002293f5
    002293f5 0f 1f 00 ...
    002293f8
    002293f8loc_2293f8:
    002293f8cmp r15, rcx
    002293fbjae 0x229414
    002293fdlea rax, [r15+1]
    00229401mov [rsp+16], rax
    00229406mov [r15], 34
    0022940amov r15, [rsp+16]
    0022940fmov rcx, [rsp+24]
    00229414
    00229414loc_229414:
    00229414mov rdi, r9
    00229417mov [rsp+8], rcx
    0022941cmov [rsp], r9
    00229420call fn_f43a0
    00229425mov rcx, [rsp+8]
    0022942amov r9, [rsp]
    0022942emov rdx, rax
    00229431lea rsi, [r15+rax]
    00229435mov rax, rcx
    00229438sub rax, r15
    0022943bcmp rcx, rsi
    0022943ecmovb rdx, rax
    00229442test rdx, rdx
    00229445jne 0x2294e8
    0022944b
    0022944bloc_22944b:
    0022944badd rdx, r15
    0022944ecmp rdx, rcx
    00229451jb 0x2294b0
    00229453mov [rsp+16], rdx
    00229458jmp 0x229339
    0022945d
    0022945d 0f 1f 00 ...
    00229460
    00229460loc_229460:
    00229460mov r15l, 2
    00229466
    00229466loc_229466:
    00229466mov rdx, r15
    00229469lea rsi, [rip+25262]
    00229470call fn_f47d0
    00229475mov rdi, [rsp+16]
    0022947aadd rdi, r15
    0022947djmp 0x2293eb
    00229482
    00229482 66 0f 1f 44 00 00 f..D..
    00229488
    00229488loc_229488:
    00229488mov rbx, [rsp+16]
    0022948dcmp rbx, [rsp+24]
    00229492jae 0x229248
    00229498lea rax, [rbx+1]
    0022949cmov [rsp+16], rax
    002294a1mov [rbx], 41
    002294a4mov rbx, [rsp+16]
    002294a9jmp 0x229248
    002294ae
    002294ae 66 90 f.
    002294b0
    002294b0loc_2294b0:
    002294b0lea rax, [rdx+1]
    002294b4mov [rsp+16], rax
    002294b9mov [rdx], 34
    002294bcjmp 0x229339
    002294c1
    002294c1 0f 1f 80 00 00 00 00 .......
    002294c8
    002294c8loc_2294c8:
    002294c8mov rsi, r15
    002294cbmov [rsp], rdx
    002294cfcall fn_f4520
    002294d4mov rdi, [rsp+16]
    002294d9mov rdx, [rsp]
    002294ddjmp 0x2293ba
    002294e2
    002294e2 66 0f 1f 44 00 00 f..D..
    002294e8
    002294e8loc_2294e8:
    002294e8mov rdi, r15
    002294ebmov rsi, r9
    002294eemov [rsp], rdx
    002294f2call fn_f4520
    002294f7mov rcx, [rsp+24]
    002294fcmov r15, [rsp+16]
    00229501mov rdx, [rsp]
    00229505jmp 0x22944b
    0022950a
    0022950a 66 0f 1f 44 00 00 f..D..
    00229510
    00229510loc_229510:
    00229510mov rcx, r13
    00229513mov eax, 255
    00229518
    00229518loc_229518:
    00229518mov rdx, rax
    0022951bmov rsi, r14
    0022951emov rdi, rbp
    00229521mov [rsp], rcx
    00229525call fn_f4520
    0022952amov rcx, [rsp]
    0022952ejmp 0x2292d0
    00229533
    00229533 0f 1f 44 00 00 ..D..
    00229538
    00229538loc_229538:
    00229538mov rbx, r13
    0022953bmov eax, 255
    00229540
    00229540loc_229540:
    00229540mov rdx, rax
    00229543mov rsi, r12
    00229546mov rdi, rbp
    00229549call fn_f4520
    0022954ejmp 0x229243
    00229553
    00229553 0f 1f 44 00 00 ..D..
    00229558
    00229558loc_229558:
    00229558mov rax, [rbx+8]
    0022955ctest al, 1
    0022955ejne 0x2292e7
    00229564mov rax, [rbx+8]
    00229568movzx eax, [rax-8]
    0022956ctest al, al
    0022956ejne 0x2292e7
    00229574mov rdi, [rbx]
    00229577call caml_is_special_exception
    0022957ctest eax, eax
    0022957eje 0x2292e7
    00229584mov r15, [rbx+8]
    00229588xor r13l, r13l
    0022958blea r12, [r15-8]
    0022958fjmp 0x2292ed
    00229594
    00229594 0f 1f 40 00 ..@.
    00229598
    00229598loc_229598:
    00229598call caml_bad_caml_state
    0022959d
    0022959dloc_22959d:
    0022959dcall fn_f4590
    002291b0
    002295a2
    002295a2 // align 0x10
    002295b0
    002295b0caml_fatal_uncaught_exception:
    002295b0push rbp
    002295b1mov rbp, rdi
    002295b4lea rdi, [rip+32913]
    002295bbpush rbx
    002295bcsub rsp, 24
    002295c0call caml_named_value
    002295c5mov edi, 1
    002295camov rbx, rax
    002295cdcall caml_memprof_update_suspended
    002295d2test rbx, rbx
    002295d5je 0x229603
    002295d7mov rdi, [rbx]
    002295damov edx, 1
    002295dfmov rsi, rbp
    002295e2call caml_callback2
    002295e7mov eax, [rip+0x14fc27]
    002295edtest eax, eax
    002295efjne 0xf4890
    002295f5mov edi, 2
    002295facall fn_f4210
    002295ffmov rdi, rbp
    00229602call caml_format_exception
    00229607mov rbp, [rip+0x4c9d6]
    0022960epxor x1, x1
    00229612xor edx, edx
    00229614mov rbx, rax
    00229617lea rdi, [rip+24214]
    0022961emov rax, [rbp]
    00229623movd x3, [rax+192]
    0022962bmovd x0, [rax+184]
    00229633mov [rax+192], rdx
    0022963apunpckldq x0, x3
    0022963epcmpgtd x1, x0
    00229642movdqa x2, x0
    00229646punpckldq x2, x1
    0022964amovaps [rsp], x2
    0022964ecall caml_named_value
    00229653test rax, rax
    00229656je 0x229669
    00229658mov rdi, [rax]
    0022965bmov esi, 1
    00229660call caml_callback_res
    00229665mov rax, [rbp]
    0022966amovdqa x4, [rsp]
    0022966fmov rcx, rbx
    00229672mov esi, 1
    00229677mov rdi, [rip+0x14ee5e]
    0022967elea rdx, [rip+22504]
    00229685movups [rax+184], x4
    0022968cxor eax, eax
    0022968ecall fn_f41b0
    00229693mov rdi, rbx
    00229696call caml_stat_free
    0022969bmov rax, [rbp]
    002296a0cmp [rax+192], 0
    002296a8je 0x2295eb
    002296aecall caml_print_exception_backtrace
    002296b3jmp 0x2295eb
    002296b8db 0x2f
    002296b9db 0xff
    002296badb 0xff
    002296bbdb 0xff
    002295b0
    002296bc
    002296bc // align 0x10
    002296c0
    002296c0caml_garbage_collection:
    002296c0push rbx
    002296c1mov rax, [rip+0x4c91c]
    002296c8mov rbx, [rax]
    002296cccall caml_get_frame_descrs
    002296d1mov rdi, rax
    002296d4mov rax, [rbx+40]
    002296d8mov rax, [rax]
    002296dbmov rsi, [rax]
    002296decall caml_find_frame_descr
    002296e3movzx edx, [rax+10]
    002296e7lea rdx, [rax+2*rdx+12]
    002296ecmovzx edi, [rdx]
    002296eftest edi, edi
    002296f1je 0x229748
    002296f3lea r8, [rdx+1]
    002296f7lea ecx, [rdi-1]
    002296faxor esi, esi
    002296fcmov rax, r8
    002296fflea rcx, [rdx+rcx+2]
    00229704nop [rax+rax]
    0022970fnop [rax+rax]
    0022971anop
    0022971cmovzx edx, [rax]
    0022971fadd rax, 1
    00229723lea rsi, [rsi+rdx+2]
    00229728cmp rcx, rax
    0022972bjne 0x229720
    0022972dmov ecx, edi
    0022972fsub rsi, 1
    00229733mov rdi, rbx
    00229736mov edx, 3
    0022973bpop rbx
    0022973cjmp 0x21a9a0
    00229741db 0x5b
    00229742adc bh, bh
    00229744db 0xff
    00229745
    00229745 0f 1f 00 ...
    00229748
    00229748loc_229748:
    00229748pop rbx
    00229749jmp 0x21ffe0
    002296c0
    0022974e
    0022974e 00 00 ..
    00229750
    00229750_fini:
    00229750sub rsp, 8
    00229754add rsp, 8
    00229758ret
    00229750