Function at 0x140021bd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x140087040]
xor rax, rsp
mov qword [rbp - 8], rax
mov r12, qword [0x14008b080]
mov rdi, rcx
mov eax, dword [rcx + 0x9c]
mov r13, rdx
movzx ecx, byte [rcx + 0xb4]
inc eax
mov qword [rsp + 0x40], r12
mov edx, dword [r12 + 0x1ba8]
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x60], eax
test cl, 0x20
je 0x140021c33
mov byte [rsp + 0x30], 1
cmp eax, edx
je 0x140021c38
mov byte [rsp + 0x30], 0
xor r14d, r14d
mov r9d, 1
cmp dword [rdi + 0xac], r14d
je 0x140021c53
mov dword [rsp + 0x58], r9d
cmp eax, edx
je 0x140021c58
mov dword [rsp + 0x58], r14d
and cl, 0xdf
mov dword [rdi + 0xac], r14d
xor bl, bl
mov byte [rdi + 0xb4], cl
mov rax, qword [rdi + 0x10]
mov r8, rdi
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x48], rdi
test rax, rax
je 0x140021c93
nop
mov qword [rsp + 0x48], rax
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140021c80
mov r8, qword [rsp + 0x48]
mov rax, qword [r12 + 0x1f30]
test rax, rax
je 0x140021cac
cmp qword [rax + 0x448], rdi
sete bl
jmp 0x140021cd9
mov rdx, qword [r12 + 0x1e00]
test rdx, rdx
je 0x140021cdd
mov rax, qword [r13 + 0x3e8]
cmp qword [rdx + 0x3f8], rax
jne 0x140021cdd
mov eax, dword [rdi]
cmp dword [r8 + 0xa4], eax
movzx ebx, bl
cmove ebx, r9d
mov dword [rsp + 0x34], ebx
mov edx, dword [rdi + 8]
mov eax, edx
shr eax, 0xd
test r9b, al
jne 0x140022947
mov eax, edx
shr eax, 0xc
test r9b, al
jne 0x140022947
movzx eax, byte [r13 + 0xc4]
mov qword [rsp + 0x1c0], rsi
mov qword [rsp + 0x170], r15
movaps xmmword [rsp + 0x120], xmm10
shr edx, 0xa
movaps xmmword [rsp + 0x110], xmm11
movaps xmmword [rsp + 0x100], xmm12
mov byte [rsp + 0x38], al
test r9b, dl
jne 0x140021d49
mov byte [r13 + 0xc4], r14b
mov dword [r13 + 0x184], r9d
mov rcx, qword [r12 + 0x1c20]
lea rdx, [rbp - 0x38]
mov eax, dword [rdi]
add rcx, 0x108
mov dword [rbp - 0x38], eax
call fcn.140028c60
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x68], rax
mov rsi, rax
test rax, rax
jne 0x140021d83
mov rcx, rdi
call fcn.1400229c0
mov rsi, qword [rdi + 0x38]
and byte [rdi + 0xb4], 0xfd
movzx eax, bl
mov r15d, dword [rdi + 4]
add al, al
or byte [rdi + 0xb4], al
or r15d, dword [rdi + 8]
mov dword [rsp + 0x3c], r14d
bt r15d, 0xe
jb 0x140021e1c
cmp dword [r12 + 0x1664], 0xffffffff
je 0x140021e1c
mov rax, qword [0x14008b080]
lea rdx, str.WindowMenu
shr r15d, 0xf
mov bl, 1
not r15b
and r15b, bl
mov rcx, qword [rax + 0x1c20]
mov dword [rbp - 0x38], r15d
call fcn.140006490
xor edx, edx
mov ecx, eax
call fcn.140014b60
test al, al
je 0x140021e2d
mov rdx, rsi
mov rcx, rdi
call fcn.140021990
test eax, eax
je 0x140021e01
mov dword [rsi + 0x1c], eax
mov dword [rsp + 0x3c], eax
mov edx, dword [rsp + 0x34]
movzx eax, byte [rdi + 0xb4]
shr al, 1
and al, bl
mov dword [rbp - 0x38], r15d
or dl, al
mov dword [rsp + 0x34], edx
jmp 0x140021e31
shr r15d, 0xf
xor bl, bl
not r15b
and r15b, 1
mov dword [rbp - 0x38], r15d
mov edx, dword [rsp + 0x34]
movss xmm11, dword [rdi + 0x44]
mov rcx, qword [0x14008b080]
movaps xmm5, xmm11
movss xmm3, dword [rdi + 0x40]
movzx eax, byte [rdi + 0xb4]
movaps xmm12, xmm3
movss dword [rbp - 0x4c], xmm11
movss xmm1, dword [rcx + 0x167c]
movss xmm2, dword [rcx + 0x1ac0]
addss xmm1, xmm1
movss dword [rbp - 0x30], xmm3
movaps xmm0, xmm2
movss dword [rbp - 0x2c], xmm11
addss xmm0, xmm11
addss xmm12, dword [rdi + 0x48]
addss xmm1, xmm0
movss dword [rbp - 0x28], xmm12
movaps xmm0, xmm12
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x24], xmm1
movss xmm1, dword [rcx + 0x1678]
subss xmm0, xmm1
movaps xmm4, xmm1
addss xmm4, xmm3
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x50], xmm4
test al, 4
je 0x140021ec7
subss xmm0, xmm2
movss dword [rbp - 0x48], xmm0
test al, 8
je 0x140021f0f
cmp dword [rcx + 0x1664], r14d
jne 0x140021edf
addss xmm2, xmm4
movss dword [rbp - 0x50], xmm2
jmp 0x140021f0f
cmp dword [rcx + 0x1664], 1
jne 0x140021f0f
addss xmm1, xmm2
subss xmm0, xmm1
movss dword [rbp - 0x48], xmm0
unpcklps xmm0, xmm11
movaps xmm1, xmm0
movsd qword [rsp + 0x50], xmm0
movss xmm3, dword [rsp + 0x50]
shufps xmm1, xmm1, 0x55
movaps xmm5, xmm1
movss dword [rsp + 0x50], xmm3
movss dword [rsp + 0x54], xmm5
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x20], xmm0
test dl, dl
je 0x140021f35
mov eax, dword [r12 + 0x1ba8]
mov dword [rdi + 0xa0], eax
cmp byte [r13 + 0xc2], r14b
je 0x140021f45
mov eax, 0xc
jmp 0x140021f51
test dl, dl
mov rax, r14
setne al
add rax, 0xa
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x16fc]
movups xmmword [rbp - 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x1640]
lea rcx, [rbp - 0x50]
movss dword [rbp - 0x44], xmm0
call fcn.140004520
movss xmm0, dword [r13 + 0x78]
lea r8, [rbp - 0x28]
mov rcx, qword [r13 + 0x318]
lea rdx, [rbp - 0x30]
mov r9d, eax
mov dword [rsp + 0x28], 3
movss dword [rsp + 0x20], xmm0
call fcn.140034f20
test bl, bl
je 0x140022070
cmp dword [r13 + 0x108], r14d
jg 0x140021fd0
mov r8d, 0x5d2
lea rdx, [0x14006cb60]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [r13 + 0x108]
lea rcx, str.COLLAPSE
mov r8, qword [r13 + 0x110]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140003fb0
mov rcx, qword [0x14008b080]
cmp dword [rcx + 0x1c78], eax
jne 0x140022006
mov dword [rcx + 0x1c7c], eax
cmp dword [rcx + 0x1cb8], eax
jne 0x140022015
mov byte [rcx + 0x1cbc], 1
mov r8, rdi
lea rdx, [rsp + 0x50]
mov ecx, eax
call fcn.140040e90
test al, al
je 0x140022049
mov rax, qword [0x14008b080]
lea rdx, str.WindowMenu
mov rcx, qword [rax + 0x1c20]
call fcn.140006490
mov ecx, eax
call fcn.140014cd0
mov rax, qword [0x14008b080]
mov ecx, dword [rax + 0x1c78]
test ecx, ecx
je 0x140022070
mov rax, qword [rax + 0x1c20]
cmp ecx, dword [rax + 0x15c]
jne 0x140022070
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsi]
mov r15d, r14d
mov dword [rsp + 0x50], eax
mov eax, dword [rdi + 0x28]
test eax, eax
jle 0x1400220f6
test r14, r14
js 0x14002208a
cmp r15d, eax
jl 0x1400220a4
mov r8d, 0x5c8
lea rdx, [0x14006cb60]
lea rcx, [0x140072c58]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax + r14*8]
mov rax, qword [r12 + 0x1e00]
test rax, rax
je 0x1400220c8
cmp qword [rax + 0x3f0], rbx
jne 0x1400220c8
mov eax, dword [rbx + 8]
mov dword [rsi + 0x18], eax
mov edx, dword [rbx + 8]
mov rcx, rsi
call fcn.14004cff0
test rax, rax
jne 0x1400220e8
mov r8, rbx
mov edx, 0x400000
mov rcx, rsi
call fcn.14004d0b0
mov eax, dword [rdi + 0x28]
inc r15d
inc r14
cmp r15d, eax
jl 0x140022080
mov r15d, dword [rsi]
lea ebx, [r15 - 1]
test ebx, ebx
js 0x14002217c
movsxd rax, ebx
lea r14, [rax + rax*2]
shl r14, 4
nop dword [rax]
test ebx, ebx
js 0x140022118
cmp ebx, dword [rsi]
jl 0x140022132
mov r8d, 0x5c8
lea rdx, [0x14006cb60]
lea rcx, [0x140072c58]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 8]
test dword [rax + r14 + 4], 0x400000
je 0x14002217c
test ebx, ebx
js 0x140022149
cmp ebx, dword [rsi]
jl 0x140022163
mov r8d, 0x5c8
lea rdx, [0x14006cb60]
lea rcx, [0x140072c58]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 8]
mov r15d, ebx
and dword [rax + r14 + 4], 0xffbfffff
sub r14, 0x30
sub ebx, 1
jns 0x140022110
mov ecx, dword [rsi]
cmp ecx, r15d
jle 0x1400221b3
lea eax, [r15 + 1]
cmp ecx, eax
jle 0x1400221b3
sub ecx, r15d
movsxd rax, r15d
movsxd rdx, ecx
lea r9, [0x140021940]
mov r8d, 0x30
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rsi + 8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
cmp qword [rsp + 0x68], 0
jne 0x1400221d6
mov edx, dword [rdi + 0xa8]
mov rcx, rsi
call fcn.14004cff0
test rax, rax
je 0x1400221d6
mov eax, dword [rdi + 0xa8]
jmp 0x140022212
mov eax, dword [rsi]
cmp eax, dword [rsp + 0x50]
jle 0x140022218
test eax, eax
jg 0x1400221fc
mov r8d, 0x5d2
lea rdx, [0x14006cb60]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [rsi]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
mov eax, dword [rcx + 8]
mov dword [rsi + 0x18], eax
mov dword [rsi + 0x1c], eax
cmp byte [r13 + 0xc2], 0
mov r8d, 0x500003
jne 0x140022236
cmp byte [rsp + 0x34], 0
mov eax, 0x700003
cmovne r8d, eax
mov r9, rdi
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14004bc40
mov eax, dword [rdi + 0x28]
xor r15d, r15d
mov qword [rdi + 0x80], r15
mov r12d, r15d
test eax, eax
jle 0x140022399
nop dword [rax]
test r15, r15
js 0x14002226a
cmp r12d, eax
jl 0x140022284
mov r8d, 0x5c8
lea rdx, [0x14006cb60]
lea rcx, [0x140072c58]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [rsp + 0x30], 0
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax + r15*8]
lea r14, [rbx + 8]
jne 0x1400222a0
mov eax, dword [rsp + 0x58]
cmp eax, dword [r14]
jne 0x1400222b6
cmp byte [rbx + 0xc8], 0
je 0x1400222b6
test dword [rbx + 0xc], 0x100000
je 0x140022384
mov rcx, qword [rsp + 0x40]
mov eax, dword [rbx + 0x2d8]
inc eax
cmp eax, dword [rcx + 0x1ba8]
jge 0x1400222d9
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x60], eax
je 0x140022384
mov ecx, dword [rbx + 0xc]
lea r8, [rbp - 0x40]
mov rdx, qword [rbx]
mov eax, 0
shr ecx, 0x14
and ecx, 1
mov byte [rbp - 0x40], 1
mov r9d, ecx
mov qword [rsp + 0x20], rbx
or r9d, 4
test byte [rsi + 0x10], 8
cmove r9d, ecx
cmp byte [rbx + 0xc8], 0
mov rcx, rsi
cmove r8, rax
call fcn.14004d830
cmp byte [rbp - 0x40], 0
jne 0x14002232c
mov eax, dword [rbx + 8]
lea r14, [rbx + 8]
mov dword [rdi + 0xac], eax
mov eax, dword [r14]
cmp dword [rsi + 0x20], eax
jne 0x14002233b
mov qword [rdi + 0x80], rbx
mov eax, dword [r13 + 0x160]
mov dword [rbx + 0x45c], eax
movups xmm0, xmmword [r13 + 0x164]
mov rax, qword [rsp + 0x40]
movups xmmword [rbx + 0x460], xmm0
mov rax, qword [rax + 0x1e00]
test rax, rax
je 0x140022384
cmp qword [rax + 0x3f0], rbx
jne 0x140022384
test byte [rbx + 0x188], 2
jne 0x140022384
mov eax, dword [r14]
mov dword [r13 + 0x414], eax
mov eax, dword [rdi + 0x28]
inc r12d
inc r15
cmp r12d, eax
jl 0x140022260
xor r15d, r15d
mov rax, qword [rdi + 0x80]
test rax, rax
je 0x1400223c2
cmp byte [rsp + 0x34], 0
mov rcx, qword [rsp + 0x48]
jne 0x1400223bb
cmp qword [rcx + 0x80], 0
jne 0x1400223c2
mov qword [rcx + 0x80], rax
cmp byte [rbp - 0x38], 0
xorps xmm10, xmm10
je 0x140022627
mov rax, qword [rdi + 0x80]
test rax, rax
je 0x140022627
cmp byte [rax + 0xc8], 0
jne 0x1400224e8
mov rcx, qword [0x14008b080]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm8
mov rax, qword [rcx + 0x1c20]
movaps xmmword [rsp + 0x130], xmm9
mov byte [rax + 0xc1], 1
mov rcx, qword [rcx + 0x1c20]
lea rdx, [rcx + 0x200]
add rcx, 0x210
or dword [rdx], 4
call fcn.140028c60
mov r14, qword [rsp + 0x40]
lea rdx, [rbp - 0x20]
mov rbx, qword [0x14008b080]
mov dword [rbp - 0x20], r15d
movss xmm8, dword [r14 + 0x1708]
movups xmm0, xmmword [rbx + 0x16fc]
lea rcx, [rbx + 0x1d78]
movss xmm9, dword [r14 + 0x16fc]
movss xmm6, dword [r14 + 0x1700]
movss xmm7, dword [r14 + 0x1704]
mulss xmm8, dword [0x14007b498]
movups xmmword [rbp - 0x1c], xmm0
call fcn.140029300
shufps xmm9, xmm9, 0xe1
movss xmm9, xmm6
movaps xmm6, xmmword [rsp + 0x160]
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm7
movaps xmm7, xmmword [rsp + 0x150]
shufps xmm9, xmm9, 0x27
movss xmm9, xmm8
movaps xmm8, xmmword [rsp + 0x140]
shufps xmm9, xmm9, 0x39
movups xmmword [rbx + 0x16fc], xmm9
movaps xmm9, xmmword [rsp + 0x130]
jmp 0x1400224ed
mov r14, qword [rsp + 0x40]
cmp dword [r13 + 0x108], 0
addss xmm11, xmm10
movss xmm0, dword [r14 + 0x1678]
xorps xmm0, xmmword [0x14007c390]
addss xmm0, xmm0
movss dword [rsp + 0x4c], xmm11
subss xmm0, dword [r14 + 0x1ac0]
addss xmm0, xmm12
movss dword [rsp + 0x48], xmm0
jg 0x140022545
mov r8d, 0x5d2
lea rdx, [0x14006cb60]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [r13 + 0x108]
lea rcx, str.CLOSE
mov r8, qword [r13 + 0x110]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140003fb0
mov rcx, qword [0x14008b080]
cmp dword [rcx + 0x1c78], eax
jne 0x14002257b
mov dword [rcx + 0x1c7c], eax
cmp dword [rcx + 0x1cb8], eax
jne 0x14002258a
mov byte [rcx + 0x1cbc], 1
lea rdx, [rsp + 0x48]
mov ecx, eax
call fcn.140040b70
test al, al
je 0x140022602
mov edx, dword [rsi + 0x20]
mov rcx, rsi
call fcn.14004cff0
mov rbx, rax
test rax, rax
je 0x140022602
mov ecx, dword [rax]
mov dword [rdi + 0xac], ecx
test dword [rax + 4], 0x200000
je 0x1400225d8
mov r8d, 0x1e5d
lea rdx, [0x140078f70]
lea rcx, str.__tab__Flags__ImGuiTabItemFlags_Button_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test byte [rbx + 4], 1
mov eax, dword [rbx]
jne 0x1400225fa
mov byte [rbx + 0x2a], 1
cmp dword [rsi + 0x20], eax
jne 0x140022602
mov dword [rbx + 0x10], 0xffffffff
mov qword [rsi + 0x18], 0
jmp 0x140022602
cmp dword [rsi + 0x20], eax
je 0x140022602
mov dword [rsi + 0x1c], eax
mov rax, qword [rdi + 0x80]
mov r12d, 1
cmp byte [rax + 0xc8], 0
jne 0x140022632
mov ecx, r12d
call fcn.140004900
call fcn.140012920
jmp 0x140022632
mov r14, qword [rsp + 0x40]
mov r12d, 1
cmp dword [r13 + 0x108], 0
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
jg 0x140022668
mov r8d, 0x5d2
lea rdx, [0x14006cb60]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [r13 + 0x108]
lea rcx, str.TITLEBAR
mov r8, qword [r13 + 0x110]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140003fb0
mov ebx, eax
mov rax, qword [0x14008b080]
cmp dword [rax + 0x1c78], ebx
jne 0x1400226a0
mov dword [rax + 0x1c7c], ebx
cmp dword [rax + 0x1cb8], ebx
jne 0x1400226af
mov byte [rax + 0x1cbc], 1
mov eax, dword [r14 + 0x1c64]
test eax, eax
je 0x1400226cb
cmp eax, ebx
je 0x1400226cb
cmp dword [r14 + 0x1c78], ebx
jne 0x140022881
lea r9, [rbp - 0x40]
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
lea rcx, [rbp - 0x30]
mov edx, ebx
call fcn.14003fe40
mov rcx, qword [0x14008b080]
cmp dword [r14 + 0x1c64], ebx
jne 0x14002272d
mov dword [r13 + 0x15c], ebx
mov rdx, qword [rcx + 0x1c20]
mov eax, dword [rdx + 0x15c]
cmp dword [rcx + 0x1c64], eax
jne 0x140022718
mov byte [rcx + 0x1c6c], 1
mov eax, dword [rdx + 0x15c]
cmp dword [rcx + 0x1c78], eax
jne 0x14002272d
mov byte [rcx + 0x1c85], 1
cmp byte [rbp - 0x40], 0
je 0x140022881
movss xmm0, dword [rcx + 0x434]
ucomiss xmm0, xmm10
jp 0x14002274e
jne 0x14002274e
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x3c], eax
mov edx, dword [rsi + 0x18]
mov rcx, rsi
call fcn.14004cff0
test rax, rax
je 0x140022881
mov r9, qword [rax + 8]
test r9, r9
jne 0x14002276f
mov r9, qword [rdi + 0x78]
mov rax, qword [rdi + 0x80]
xor r8b, r8b
mov rdx, qword [0x14008b080]
test rax, rax
je 0x1400227cf
test byte [rax + 0xc], 4
jne 0x1400227cf
mov rax, qword [rdi + 0x10]
mov rcx, rdi
test rax, rax
je 0x1400227ac
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400227a0
cmp qword [rcx + 0x90], rdi
jne 0x1400227bf
cmp qword [rcx + 0x88], 0
je 0x1400227cf
mov eax, dword [rcx + 8]
shr eax, 0xa
test al, 1
movzx r8d, r8b
cmovne r8d, r12d
movss xmm0, dword [rdx + 0x434]
ucomiss xmm0, xmm10
jp 0x1400227e3
jne 0x1400227e3
mov cl, 1
jmp 0x1400227e5
xor cl, cl
cmp byte [rdx + 0x128], 0
jne 0x1400227f2
xor al, al
jmp 0x14002281d
movss xmm0, dword [rdx + 0x38]
movaps xmm1, xmm0
mulss xmm1, dword [0x14007b510]
comiss xmm10, xmm1
jbe 0x14002280b
movaps xmm1, xmm0
movss xmm0, dword [rdx + 0x484]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test r8b, r8b
je 0x140022868
test al, al
je 0x140022881
lea rcx, [rdx + 0x3020]
mov qword [rbp - 0x60], r15
lea rdx, [rsp + 0x70]
mov qword [rbp - 0x78], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov dword [rbp - 0x70], 0xffffffff
mov dword [rbp - 0x6c], 0x3f000000
mov byte [rbp - 0x68], 0
mov dword [rsp + 0x70], 2
mov qword [rbp - 0x58], rdi
call fcn.140029490
jmp 0x140022881
test cl, cl
jne 0x140022870
test al, al
je 0x140022881
cmp qword [rdx + 0x1c48], r9
je 0x140022881
mov rcx, r9
call fcn.140006f10
mov edx, dword [rsi + 0x1c]
test edx, edx
movaps xmm10, xmmword [rsp + 0x120]
cmove edx, dword [rsp + 0x3c]
test edx, edx
je 0x1400228c1
mov rcx, rsi
call fcn.14004cff0
mov rbx, rax
test rax, rax
je 0x1400228c1
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400228c1
call fcn.1400121e0
mov rcx, qword [rbx + 8]
xor edx, edx
call fcn.140016bc0
call fcn.14004c010
mov rax, qword [0x14008b080]
mov rsi, qword [rsp + 0x1c0]
mov rbx, qword [rax + 0x1c20]
cmp dword [rbx + 0x108], 0
jg 0x1400228ff
mov r8d, 0x5de
lea rdx, [0x14006cb60]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
dec dword [rbx + 0x108]
mov eax, dword [rdi + 8]
shr eax, 0xa
test al, 1
jne 0x140022922
movzx eax, byte [rsp + 0x38]
mov byte [r13 + 0xc4], al
mov dword [r13 + 0x184], r15d
mov r15, qword [rsp + 0x170]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140067de0
add rsp, 0x178
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
cmp dword [rdi + 0x28], r14d
jle 0x140022954
mov rax, qword [rdi + 0x30]
mov r14, qword [rax]
and cl, 0xfd
mov qword [rdi + 0x80], r14
movzx eax, bl
add al, al
or cl, al
mov byte [rdi + 0xb4], cl
test bl, bl
je 0x14002297d
mov eax, dword [r12 + 0x1ba8]
mov dword [rdi + 0xa0], eax
test r14, r14
je 0x14002292a
test bl, bl
jne 0x140022990
cmp qword [r8 + 0x80], 0
jne 0x140022997
mov qword [r8 + 0x80], r14
mov rdx, qword [rdi + 0x38]
test rdx, rdx
je 0x14002292a
mov rax, qword [rdi + 0x80]
mov ecx, dword [rax + 8]
mov dword [rdx + 0x20], ecx
jmp 0x14002292a