Function at 0x14001f5f0
Capabilities:
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x838
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x7a0], xmm8
movaps xmmword [rbp + 0x790], xmm7
movaps xmmword [rbp + 0x780], xmm6
and rsp, 0xffffffffffffff80
mov r13, rdx
mov qword [rsp + 0x100], rcx
mov r14, qword [rdx + 0x10]
test r14, r14
jne 0x14001f88d
lea rdx, [0x141d35570]
lea rcx, [rsp + 0x200]
call fcn.140022b90
mov rax, qword [rsp + 0x200]
mov rcx, rax
neg rcx
movabs rdi, 0x8000000000000001
jo 0x14001f747
cmp rax, rdi
jne 0x14001f6ca
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001f747
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
test r9, r9
je 0x14001f733
cmp r9, 1
jne 0x14001f6d9
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14001f733
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
je 0x14001f733
jmp 0x14002165b
test rax, rax
je 0x14001f747
mov r8, qword [rsp + 0x208]
jmp 0x14001f738
cmp byte [r8], 0x2b
jne 0x14002164e
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x14002165b
xor r11d, r11d
mov esi, 0xa
xor r14d, r14d
cmp r9, r11
je 0x140021683
mov rax, r14
mul rsi
seto bl
movzx edx, byte [r10 + r11]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001f733
test bl, bl
jne 0x14001f733
mov r14, rax
mov eax, edx
inc r11
add r14, rax
jae 0x14001f703
test rcx, rcx
je 0x14001f747
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x141d35581]
lea rcx, [rsp + 0x200]
call fcn.140022b90
mov rax, qword [rsp + 0x200]
mov rcx, rax
neg rcx
jo 0x14001f847
cmp rax, rdi
jne 0x14001f7ca
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001f847
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
test r9, r9
je 0x14001f833
cmp r9, 1
jne 0x14001f7d9
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14001f833
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
je 0x14001f833
jmp 0x140021733
test rax, rax
je 0x14001f847
mov r8, qword [rsp + 0x208]
jmp 0x14001f838
cmp byte [r8], 0x2b
jne 0x140021726
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x140021733
xor r11d, r11d
mov esi, 0xa
xor r14d, r14d
cmp r9, r11
je 0x140021763
mov rax, r14
mul rsi
seto bl
movzx edx, byte [r10 + r11]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001f833
test bl, bl
jne 0x14001f833
mov r14, rax
mov eax, edx
inc r11
add r14, rax
jae 0x14001f803
test rcx, rcx
je 0x14001f847
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x200], xmm0
lea rcx, [rsp + 0x200]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x220]
lea r14, [0x141d35880]
test rax, rax
cmovne r14, rax
jne 0x14001f88d
mov r14d, 1
cmp r14, 0xffff
mov esi, 0xffff
cmovb rsi, r14
movzx ecx, byte [r13 + 0x59]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x210], xmm6
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
test r14, r14
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], r14
jne 0x1400211fb
mov eax, 8
mov qword [rsp + 0x80], rax
xor r15d, r15d
xor r9d, r9d
xor r12d, r12d
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x210], xmm6
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
test r14, r14
jne 0x1400213f0
mov eax, 8
mov qword [rsp + 0x98], rax
xor edi, edi
xor r12d, r12d
movabs rsi, 0xfffffffffffffff
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0xd0], xmm0
mov rbx, r15
and rbx, rsi
mov ecx, 0x28
mov rax, rbx
mul rcx
jo 0x1400217b3
movabs rcx, 0x8000000000000000
add rcx, 0xfffffffffffffff8
cmp rax, rcx
ja 0x1400217b3
test rax, rax
je 0x14001fa96
movzx ecx, byte [0x141d43a20]
xor ecx, ecx
mov rdx, rax
mov r14, r9
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov r9, r14
mov r14, rax
test r15, rsi
mov qword [rsp + 0x108], r12
je 0x14001faaf
add r15, rsi
and rsi, r15
je 0x14001fab9
inc rsi
and rsi, 0xfffffffffffffffe
lea rcx, [r14 + 0x48]
xor r12d, r12d
xorps xmm0, xmm0
mov rax, qword [rsp + 0x80]
nop word [rax + rax]
mov rdx, qword [rax]
movzx r8d, byte [rax + 8]
movups xmmword [rcx - 0x48], xmm0
mov qword [rcx - 0x38], 0
mov qword [rcx - 0x30], rdx
mov byte [rcx - 0x28], r8b
mov rdx, qword [rax + 0x10]
movzx r8d, byte [rax + 0x18]
add rax, 0x20
movups xmmword [rcx - 0x20], xmm0
mov qword [rcx - 0x10], 0
mov qword [rcx - 8], rdx
mov byte [rcx], r8b
add r12, 2
add rcx, 0x50
cmp rsi, r12
jne 0x14001fa40
test r15b, 1
mov rsi, qword [rsp + 0x70]
je 0x14001facf
jmp 0x14001faf8
mov r14d, 8
xor ebx, ebx
test r15, rsi
mov qword [rsp + 0x108], r12
jne 0x14001fa15
xor r12d, r12d
mov rsi, qword [rsp + 0x70]
jmp 0x14001faf8
xor r12d, r12d
mov rax, qword [rsp + 0x80]
test r15b, 1
mov rsi, qword [rsp + 0x70]
jne 0x14001faf8
mov rcx, qword [rax]
movzx eax, byte [rax + 8]
lea rdx, [r12 + r12*4]
xorps xmm0, xmm0
movups xmmword [r14 + rdx*8], xmm0
mov qword [r14 + rdx*8 + 0x10], 0
mov qword [r14 + rdx*8 + 0x18], rcx
mov byte [r14 + rdx*8 + 0x20], al
inc r12
test r9, r9
je 0x14001fb14
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x78], 0
mov qword [rsp + 0xa8], rdi
je 0x14001fb67
mov rdx, rsi
shl rdx, 7
movzx eax, byte [0x141d43a20]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov edx, eax
and edx, 0x7f
mov r15, rax
and r15, 0xffffffffffffff80
mov qword [r15 + 0x78], rax
mov ecx, esi
and ecx, 3
cmp qword [rsp + 0x78], 4
jae 0x14001fb7d
xor edi, edi
jmp 0x14001fbd5
mov r15d, 0x80
mov qword [rsp + 0x70], 0
xor edi, edi
jmp 0x14001fc16
mov r8d, esi
and r8d, 0xfffc
mov r9, rax
sub r9, rdx
add r9, 0x200
xor edi, edi
nop word cs:[rax + rax]
mov qword [r9 - 0x180], 0
mov qword [r9 - 0x100], 0
mov qword [r9 - 0x80], 0
add rdi, 4
mov qword [r9], 0
add r9, 0x200
cmp r8, rdi
jne 0x14001fba0
sub r15, 0xffffffffffffff80
test rcx, rcx
je 0x14001fc16
mov r8, rdi
shl r8, 7
sub r8, rdx
add rax, r8
add rax, 0x80
neg rcx
xor edx, edx
nop word cs:[rax + rax]
mov qword [rax], 0
sub rax, 0xffffffffffffff80
dec rdx
cmp rcx, rdx
jne 0x14001fc00
sub rdi, rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x210], 0
movups xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x228], 0
movaps xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
movups xmmword [rsp + 0x248], xmm0
mov qword [rsp + 0x258], 0
movaps xmmword [rsp + 0x260], xmm0
mov qword [rsp + 0x270], 0
movups xmmword [rsp + 0x278], xmm0
mov qword [rsp + 0x288], 0
movaps xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2a0], 0
movups xmmword [rsp + 0x2a8], xmm0
mov qword [rsp + 0x2b8], 0
movaps xmmword [rsp + 0x2c0], xmm0
mov qword [rsp + 0x2d0], 0
movups xmmword [rsp + 0x2d8], xmm0
mov qword [rsp + 0x2e8], 0
movaps xmmword [rsp + 0x2f0], xmm0
mov qword [rsp + 0x300], 0
movups xmmword [rsp + 0x308], xmm0
mov qword [rsp + 0x318], 0
movaps xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], 0
movups xmmword [rsp + 0x338], xmm0
mov qword [rsp + 0x348], 0
movaps xmmword [rsp + 0x350], xmm0
mov qword [rsp + 0x360], 0
movups xmmword [rsp + 0x368], xmm0
mov qword [rsp + 0x378], 0
movaps xmmword [rsp + 0x380], xmm0
mov qword [rsp + 0x390], 0
movups xmmword [rsp + 0x398], xmm0
mov qword [rsp + 0x3a8], 0
movaps xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], 0
movups xmmword [rsp + 0x3c8], xmm0
mov qword [rsp + 0x3d8], 0
movaps xmmword [rsp + 0x3e0], xmm0
mov qword [rsp + 0x3f0], 0
movups xmmword [rsp + 0x3f8], xmm0
mov qword [rsp + 0x408], 0
movaps xmmword [rsp + 0x410], xmm0
mov qword [rsp + 0x420], 0
movups xmmword [rsp + 0x428], xmm0
mov qword [rsp + 0x438], 0
movaps xmmword [rsp + 0x440], xmm0
mov qword [rsp + 0x450], 0
movups xmmword [rsp + 0x458], xmm0
mov qword [rsp + 0x468], 0
movaps xmmword [rsp + 0x470], xmm0
mov qword [rsp + 0x480], 0
movups xmmword [rsp + 0x488], xmm0
mov qword [rsp + 0x498], 0
movaps xmmword [rsp + 0x4a0], xmm0
mov qword [rsp + 0x4b0], 0
movups xmmword [rsp + 0x4b8], xmm0
mov qword [rsp + 0x4c8], 0
movaps xmmword [rsp + 0x4d0], xmm0
mov qword [rsp + 0x4e0], 0
movups xmmword [rsp + 0x4e8], xmm0
mov qword [rsp + 0x4f8], 0
movaps xmmword [rsp + 0x500], xmm0
mov qword [rsp + 0x510], 0
movups xmmword [rsp + 0x518], xmm0
mov qword [rsp + 0x528], 0
movaps xmmword [rsp + 0x530], xmm0
mov qword [rsp + 0x540], 0
movups xmmword [rsp + 0x548], xmm0
mov qword [rsp + 0x558], 0
movaps xmmword [rsp + 0x560], xmm0
mov qword [rsp + 0x570], 0
movups xmmword [rsp + 0x578], xmm0
mov qword [rsp + 0x588], 0
movaps xmmword [rsp + 0x590], xmm0
mov qword [rsp + 0x5a0], 0
movups xmmword [rsp + 0x5a8], xmm0
mov qword [rsp + 0x5b8], 0
movaps xmmword [rsp + 0x5c0], xmm0
mov qword [rsp + 0x5d0], 0
movups xmmword [rsp + 0x5d8], xmm0
mov qword [rsp + 0x5e8], 0
movaps xmmword [rsp + 0x5f0], xmm0
mov qword [rsp + 0x600], 0
movups xmmword [rsp + 0x608], xmm0
mov qword [rsp + 0x618], 0
movaps xmmword [rsp + 0x620], xmm0
mov qword [rsp + 0x630], 0
movups xmmword [rsp + 0x638], xmm0
mov qword [rsp + 0x648], 0
movaps xmmword [rsp + 0x650], xmm0
mov qword [rsp + 0x660], 0
movups xmmword [rsp + 0x668], xmm0
mov qword [rsp + 0x678], 0
movaps xmmword [rsp + 0x680], xmm0
mov qword [rsp + 0x690], 0
movups xmmword [rsp + 0x698], xmm0
mov qword [rsp + 0x6a8], 0
movaps xmmword [rsp + 0x6b0], xmm0
mov qword [rsp + 0x6c0], 0
movups xmmword [rsp + 0x6c8], xmm0
mov qword [rsp + 0x6d8], 0
movaps xmmword [rsp + 0x6e0], xmm0
mov qword [rsp + 0x6f0], 0
movups xmmword [rsp + 0x6f8], xmm0
mov qword [rsp + 0x708], 0
movaps xmmword [rsp + 0x710], xmm0
mov qword [rsp + 0x720], 0
movups xmmword [rsp + 0x728], xmm0
mov qword [rsp + 0x738], 0
movaps xmmword [rsp + 0x740], xmm0
mov qword [rsp + 0x750], 0
movups xmmword [rsp + 0x758], xmm0
mov qword [rsp + 0x768], 0
movaps xmmword [rsp + 0x770], xmm0
mov qword [rsp + 0x780], 0
movups xmmword [rsp + 0x788], xmm0
mov qword [rsp + 0x798], 0
movaps xmmword [rsp + 0x7a0], xmm0
mov qword [rsp + 0x7b0], 0
movups xmmword [rsp + 0x7b8], xmm0
mov qword [rsp + 0x7c8], 0
movaps xmmword [rsp + 0x7d0], xmm0
mov qword [rsp + 0x7e0], 0
movzx eax, byte [0x141d43a20]
mov edx, 0x5f0
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rsi, rax
mov qword [rax], 0
mov rcx, rax
add rcx, 8
lea rdx, [rsp + 0x200]
mov r8d, 0x5e8
call fcn.140055470
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x1e8], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x1f8], rax
movups xmm6, xmmword [r13 + 0x18]
movups xmm7, xmmword [r13 + 0x38]
movups xmm8, xmmword [r13 + 0x48]
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x38], 0
mov qword [r13 + 0x48], 0
movzx eax, byte [0x141d43a20]
mov edx, 0x300
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], 0
mov qword [rcx + 0x108], rsi
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x188], rsi
mov byte [rcx + 0x200], 0
movups xmm0, xmmword [rsp + 0x1e1]
movups xmm1, xmmword [rsp + 0x1f0]
movups xmmword [rcx + 0x201], xmm0
movups xmmword [rcx + 0x210], xmm1
movaps xmmword [rcx + 0x220], xmm6
movaps xmmword [rcx + 0x230], xmm7
movaps xmmword [rcx + 0x240], xmm8
mov qword [rcx + 0x250], 1
mov rax, qword [rsp + 0x70]
mov qword [rcx + 0x258], rax
mov qword [rcx + 0x260], r15
mov qword [rcx + 0x268], rdi
lea rax, [rcx + 0x80]
mov qword [rsp + 0x68], rax
mov qword [rcx + 0x270], 0
mov qword [rcx + 0x278], rbx
mov qword [rcx + 0x280], r14
mov qword [rsp + 0xf8], rcx
mov qword [rcx + 0x288], r12
mov rax, qword [rsp + 0x90]
mov r14, rax
shl r14, 5
mov rbx, qword [rsp + 0xa0]
add r14, rbx
mov rdi, qword [rsp + 0xa8]
shl rdi, 4
mov r12, qword [rsp + 0x98]
add rdi, r12
test rax, rax
je 0x140020df6
add qword [rsp + 0xf8], 0x250
xorps xmm6, xmm6
mov qword [rsp + 0x70], 0
mov r12, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rdi
jmp 0x1400202fe
inc qword [rsp + 0x70]
cmp rbx, r14
je 0x140020df6
mov rax, rbx
add rbx, 0x20
movzx esi, byte [rax + 0x18]
cmp sil, 2
je 0x140020df6
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x210], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0x218], sil
mov ecx, dword [rax + 0x19]
mov edx, dword [rax + 0x1c]
lea r8, [rsp + 0x219]
mov dword [r8 + 3], edx
mov dword [r8], ecx
cmp r12, rdi
je 0x140020ddb
lea rcx, [rax + 0x19]
mov rdi, qword [r12]
movzx r15d, byte [r12 + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x1d0], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1c0], xmm0
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcb], ecx
mov rdx, qword [r13 + 0x28]
movabs r9, 0x8000000000000000
test rdx, rdx
je 0x1400203cb
mov rax, qword [r13 + 0x30]
lea rcx, [rsp + 0x200]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x20]
mov r9, qword [rsp + 0x200]
lea rax, [rsp + 0x219]
movups xmm0, xmmword [rax - 0x11]
movaps xmmword [rsp + 0xd0], xmm0
mov r10, qword [r13]
mov r11, qword [r13 + 8]
mov rdx, qword [rsp + 0x68]
lock inc qword [rdx]
jle 0x1400217b3
add r12, 0x10
mov qword [rsp + 0x168], r9
movaps xmm0, xmmword [rsp + 0xd0]
lea r8, [rsp + 0x170]
movups xmmword [r8], xmm0
mov qword [rsp + 0x158], r10
mov qword [rsp + 0x160], r11
mov rax, qword [rsp + 0x1d0]
lea rcx, [rsp + 0x190]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rcx], xmm0
mov byte [rsp + 0x1a8], sil
mov eax, dword [rsp + 0xc8]
mov ecx, dword [rsp + 0xcb]
mov dword [r8 + 0x3c], ecx
mov dword [r8 + 0x39], eax
mov qword [rsp + 0x180], rdi
mov byte [rsp + 0x188], r15b
mov qword [rsp + 0x1b0], rdx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x1b8], rax
test rax, rax
jne 0x1400205a0
cmp byte [r13 + 0x58], 0
je 0x1400205a0
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x38], 0
mov rdi, qword [rsp + 0xa8]
jne 0x140021588
lea r15, [rsp + 0x200]
mov rcx, r15
lea rdx, [rsp + 0x158]
call fcn.14001ea30
movzx eax, byte [0x141d43a20]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
mov rdx, r15
call fcn.140055470
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x38], 0
jne 0x1400217b3
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x38], rsi
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x208], 0
je 0x1400217b3
mov r15, qword [rax + 0x200]
lea rsi, [r15 + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + 4], cl
jne 0x140020902
mov byte [r15 + 5], 1
lock inc dword [r15]
mov rcx, r15
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll]
xor eax, eax
xchg byte [r15 + 4], al
cmp al, 2
jne 0x1400202f0
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x1400202f0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x88], rax
mov r13, qword [rsp + 0x178]
lea rax, [rsp + 0x180]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x200], xmm0
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x230], xmm3
movabs rax, 0x8000000000000000
mov r15, rax
cmp r9, rax
movabs rdi, 0x8080808080808080
mov rsi, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x90], r11
je 0x14002068b
test r13, r13
js 0x1400217b3
je 0x14002065d
movzx eax, byte [0x141d43a20]
xor ecx, ecx
mov rdx, r13
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rsi, rax
mov r15, r13
jmp 0x140020665
mov esi, 1
xor r15d, r15d
mov rcx, rsi
mov rdx, qword [rsp + 0x88]
mov r8, r13
call fcn.140055470
mov rdx, r13
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x90]
test r10, r10
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x130], r13
mov qword [rsp + 0xc0], rsi
jne 0x1400206b4
mov r11, qword [0x141d43a00]
test r11, r11
je 0x14002072e
dec r11
movabs rax, 0x8000000000000000
cmp r15, rax
mov qword [rsp + 0x128], r11
jne 0x140020880
movzx eax, byte [0x141d43a20]
mov edx, 0x38
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 2
mov rax, qword [0x141d43a08]
nop dword [rax]
cmp rax, 0xffffffffffffffff
je 0x1400217b3
lea rcx, [rax + 1]
lock cmpxchg qword [0x141d43a08], rcx
jne 0x140020710
jmp 0x140020ac9
mov r8d, 0xe
lea rcx, [rsp + 0xd0]
lea rdx, [0x141d35db8]
call fcn.14002c1e0
mov r13, qword [rsp + 0xd0]
movabs rax, 0x8000000000000000
cmp r13, rax
jne 0x14002076a
mov r11d, 0x200000
jmp 0x14002084e
mov rsi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.1400159c0
test byte [rsp + 0x110], 1
jne 0x140020823
mov r8, qword [rsp + 0x120]
test r8, r8
je 0x140020823
mov rcx, qword [rsp + 0x118]
cmp r8, 1
jne 0x1400207cb
movzx eax, byte [rcx]
cmp eax, 0x2b
je 0x140020823
mov r8d, 1
cmp eax, 0x2d
je 0x140020823
jmp 0x140020919
cmp byte [rcx], 0x2b
jne 0x14002090f
inc rcx
lea rax, [r8 - 1]
cmp r8, 0x12
mov r8, rax
jb 0x140020919
xor r9d, r9d
xor r11d, r11d
nop
cmp r8, r9
je 0x140020829
mov rax, r11
mov edx, 0xa
mul rdx
seto r10b
movzx edx, byte [rcx + r9]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140020823
test r10b, r10b
jne 0x140020823
mov r11, rax
mov eax, edx
inc r9
add r11, rax
jae 0x1400207f0
mov r11d, 0x200000
test r13, r13
je 0x140020846
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
mov rsi, r11
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r11, rsi
mov rsi, qword [rsp + 0xc0]
lea rax, [r11 + 1]
mov qword [0x141d43a00], rax
mov rdx, qword [rsp + 0x78]
movabs rax, 0x8000000000000000
cmp r15, rax
mov qword [rsp + 0x128], r11
je 0x1400206cf
nop dword [rax]
cmp rdx, 0xf
ja 0x1400208a7
test rdx, rdx
je 0x1400208f0
xor eax, eax
nop dword [rax]
cmp byte [rsi + rax], 0
je 0x1400217b3
inc rax
cmp rdx, rax
jne 0x140020890
jmp 0x1400209b2
lea rax, [rsi + 7]
and rax, 0xfffffffffffffff8
sub rax, rsi
jne 0x1400208bf
lea rcx, [rdx - 0x10]
xor eax, eax
jmp 0x140020950
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rsi + rcx], 0
je 0x1400217b3
inc rcx
cmp rax, rcx
jne 0x1400208d0
lea rcx, [rdx - 0x10]
cmp rax, rcx
jbe 0x140020950
jmp 0x140020989
cmp r15, rdx
jne 0x1400209e5
lea r13, [rdx + 1]
jmp 0x140020a22
mov rcx, rsi
call fcn.140057e10
jmp 0x14002056e
cmp r8, 0x11
jae 0x1400207e8
xor eax, eax
xor r11d, r11d
nop
movzx edx, byte [rcx + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140020823
lea r9, [r11 + r11*4]
mov edx, edx
lea r11, [rdx + r9*2]
inc rax
cmp r8, rax
jne 0x140020920
jmp 0x140020829
mov rdx, qword [rsi + rax]
mov r8, qword [rsi + rax + 8]
movabs r10, 0x101010101010100
mov r9, r10
sub r9, r8
or r9, r8
mov r8, r10
sub r8, rdx
or r8, rdx
and r8, rdi
and r8, r9
cmp r8, rdi
jne 0x140020989
add rax, 0x10
cmp rax, rcx
jbe 0x140020950
mov rdx, qword [rsp + 0x78]
cmp rax, rdx
je 0x1400209b2
nop word cs:[rax + rax]
cmp byte [rsi + rax], 0
je 0x1400217b3
inc rax
cmp rdx, rax
jne 0x1400209a0
cmp r15, rdx
jne 0x1400209e5
mov r13, rdx
inc r13
je 0x1400217b3
js 0x1400217b3
test rdx, rdx
je 0x140020a22
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe0], rdx
mov eax, 1
jmp 0x140020a24
lea r13, [rdx + 1]
mov byte [rsi + rdx], 0
cmp r15, r13
jbe 0x140020a1d
test r13, r13
je 0x140020d92
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
mov r9, r13
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov r15, rax
test rax, rax
jne 0x140020a64
jmp 0x1400217b3
mov r15, rsi
jmp 0x140020a64
xor eax, eax
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0x110]
mov rdx, r13
lea r8, [rsp + 0xd0]
call fcn.140007490
test byte [rsp + 0x110], 1
jne 0x1400217aa
mov r15, qword [rsp + 0x118]
mov rax, qword [rsp + 0x78]
mov byte [r15 + rax], 0
movzx eax, byte [0x141d43a20]
mov edx, 0x38
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r13
mov rax, qword [0x141d43a08]
nop dword [rax]
cmp rax, 0xffffffffffffffff
je 0x1400217b3
lea rcx, [rax + 1]
lock cmpxchg qword [0x141d43a08], rcx
jne 0x140020ab0
mov qword [rsi + 0x28], rcx
mov byte [rsi + 0x30], 0
lock inc qword [rsi]
jle 0x1400217b3
movzx eax, byte [0x141d43a20]
mov edx, 0x30
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov r13, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0xd0], rax
lock inc qword [rax]
jle 0x1400217b3
movzx eax, byte [0x141d4397d]
test al, al
je 0x140020bd0
mov byte [0x141d4397d], 1
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
cmp rax, 1
jne 0x140020daf
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 0x48]
mov qword [rax + 0x48], 0
test r15, r15
je 0x140020bd0
lock inc qword [r15]
jle 0x1400217b3
mov byte [0x141d4397d], 1
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
cmp rax, 1
je 0x140020c0d
test rax, rax
je 0x140020dd1
jmp 0x14002179a
movzx eax, byte [0x141d4397d]
test al, al
je 0x140020d75
mov byte [0x141d4397d], 1
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
cmp rax, 1
jne 0x140020dc2
xor r15d, r15d
mov eax, dword [0x141d43a24]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x48]
mov qword [rax + 0x48], r15
test rcx, rcx
je 0x140020c3e
lock dec qword [rcx]
jne 0x140020c3e
call fcn.140022f80
mov rdi, qword [rsp + 0xd0]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140020c5a
lock inc qword [rcx + 0x18]
jle 0x14002178d
movzx eax, byte [0x141d43a20]
mov edx, 0x80
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov qword [rax], rsi
mov qword [rax + 8], r13
mov qword [rax + 0x10], r15
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm2
movups xmmword [rax + 0x70], xmm3
mov rcx, qword [rsp + 0x128]
mov rdx, rax
lea r8, [0x141d35550]
call fcn.14002f210
test rax, rax
jne 0x140020fd9
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], rdi
mov qword [rsp + 0x150], rdx
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lock dec qword [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x140020d49
mov rcx, qword [rsp + 0x140]
call case.0x14002d9b1.66
mov rax, qword [rsp + 0x148]
lock dec qword [rax]
mov rdi, qword [rsp + 0xa8]
jne 0x1400202f0
lea rcx, [rsp + 0x148]
call fcn.140022fd0
jmp 0x1400202f0
xor r15d, r15d
mov rdi, qword [rsp + 0xd0]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
jne 0x140020c4f
jmp 0x140020c5a
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, 1
jmp 0x140020a64
test rax, rax
jne 0x1400217b3
call fcn.140057b10
jmp 0x140020b59
mov r15d, 0
test rax, rax
jne 0x1400217b3
call fcn.140057b10
jmp 0x140020c0d
mov rax, qword [rsp + 0x200]
lock dec qword [rax]
jne 0x140020df6
lea rcx, [rsp + 0x200]
call fcn.140022f10
sub r14, rbx
je 0x140020e2c
shr r14, 5
jmp 0x140020e19
add rbx, 0x20
dec r14
je 0x140020e2c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x140020e10
mov rcx, rbx
call fcn.140022f10
jmp 0x140020e10
cmp qword [rsp + 0xb0], 0
je 0x140020e4e
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
sub rdi, r12
je 0x140020e7d
shr rdi, 4
jmp 0x140020e69
add r12, 0x10
dec rdi
je 0x140020e7d
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140020e60
mov rcx, r12
call fcn.140022f10
jmp 0x140020e60
cmp qword [rsp + 0x108], 0
je 0x140020e9f
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov qword [rax], 3
mov rsi, qword [r13 + 0x18]
test rsi, rsi
je 0x140020ef5
mov rdi, qword [r13 + 0x20]
mov rax, qword [rdi]
test rax, rax
je 0x140020ed1
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140020ef5
cmp qword [rdi + 0x10], 0x11
jb 0x140020ee3
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r13 + 0x28]
test rsi, rsi
je 0x140020f33
mov rdi, qword [r13 + 0x30]
mov rax, qword [rdi]
test rax, rax
je 0x140020f0f
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140020f33
cmp qword [rdi + 0x10], 0x11
jb 0x140020f21
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r13 + 0x38]
test rsi, rsi
je 0x140020f71
mov rdi, qword [r13 + 0x40]
mov rax, qword [rdi]
test rax, rax
je 0x140020f4d
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140020f71
cmp qword [rdi + 0x10], 0x11
jb 0x140020f5f
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r13 + 0x48]
test rsi, rsi
je 0x140020faf
mov rdi, qword [r13 + 0x50]
mov rax, qword [rdi]
test rax, rax
je 0x140020f8b
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140020faf
cmp qword [rdi + 0x10], 0x11
jb 0x140020f9d
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rbp + 0x780]
movaps xmm7, xmmword [rbp + 0x790]
movaps xmm8, xmmword [rbp + 0x7a0]
lea rsp, [rbp + 0x7b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lock dec qword [rdi]
jne 0x140020ff2
lea rcx, [rsp + 0xd0]
mov rdi, rdx
call fcn.140022fd0
mov rdx, rdi
lock dec qword [rsi]
mov r15, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xf8]
jne 0x140021016
mov rcx, rsi
mov rsi, rdx
call case.0x14002d9b1.66
mov rdx, rsi
mov rax, qword [rsp + 0x100]
mov qword [rax], 2
mov qword [rax + 8], rdx
mov rdi, qword [rsp + 0xa8]
sub r14, rbx
je 0x14002105c
shr r14, 5
jmp 0x140021049
add rbx, 0x20
dec r14
je 0x14002105c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x140021040
mov rcx, rbx
call fcn.140022f10
jmp 0x140021040
test r15, r15
je 0x140021078
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
sub rdi, r12
je 0x1400210ad
shr rdi, 4
jmp 0x140021099
add r12, 0x10
dec rdi
je 0x1400210ad
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140021090
mov rcx, r12
call fcn.140022f10
jmp 0x140021090
cmp qword [rsp + 0x108], 0
je 0x1400210cf
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_HeapFree]
lock dec qword [r13]
jne 0x1400211da
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x1400211da
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rcx + 0x200]
shl rax, 3
lea rbx, [rax + rax*4]
mov r14d, 4
xor r12d, r12d
xor r13d, r13d
jmp 0x140021134
add r12, 0x28
sub r14, 0xffffffffffffff80
inc r13
cmp rbx, r12
je 0x1400211da
mov eax, 3
xchg qword [rdi + r12 + 0x10], rax
cmp rax, 2
jne 0x140021120
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x1e8], r13
jbe 0x1400217b3
mov r15, qword [rax + 0x1e0]
lea rsi, [r15 + r14]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + r14], cl
jne 0x1400211aa
cmp byte [r15 + r14 + 1], 0
je 0x1400211c0
lea rcx, [r15 + r14]
add rcx, 0xfffffffffffffffc
mov byte [r15 + r14 + 1], 0
lock inc dword [r15 + r14 - 4]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov rax, qword [rsp + 0x68]
lock dec qword [rax + 0x1f0]
xor eax, eax
xchg byte [rsi], al
cmp al, 2
jne 0x140021120
jmp 0x1400211cc
mov rcx, rsi
call fcn.140057e10
cmp byte [r15 + r14 + 1], 0
jne 0x140021175
nop word [rax + rax]
xor eax, eax
xchg byte [rsi], al
cmp al, 2
jne 0x140021120
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x140021120
mov rcx, qword [rsp + 0x68]
lock dec qword [rcx]
mov r13, qword [rsp + 0xb8]
jne 0x140020eb7
call fcn.140022cb0
jmp 0x140020eb7
mov byte [rsp + 0x90], cl
lea rbx, [rsp + 0x218]
lea rcx, [rsp + 0x200]
mov r8d, 0x20
mov rdx, rsi
call fcn.140057250
mov r8d, 0x10
mov rcx, rbx
mov rdx, rsi
call fcn.140057250
mov rcx, qword [rsp + 0x208]
mov r12, qword [rsp + 0x210]
mov r15, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x220]
mov rax, r15
shl rax, 4
mov qword [rsp + 0x80], rdx
add rax, rdx
add rax, 8
mov qword [rsp + 0x88], rax
mov rax, r12
shl rax, 5
mov qword [rsp + 0xa0], rcx
lea rdi, [rax + rcx]
add rdi, 0x18
shl rsi, 4
mov qword [rsp + 0x68], rsi
xor esi, esi
nop word cs:[rax + rax]
mov ecx, 0x40
call fcn.140022b40
mov rbx, rax
movzx eax, byte [0x141d43a20]
mov edx, 0x10
xor ecx, ecx
call fcn.14002f460
mov r14, rax
cmp byte [rsp + 0x90], 0
je 0x140021310
test r14, r14
je 0x1400217b3
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
movzx eax, byte [0x141d43a20]
xor r13d, r13d
mov edx, 0x200
xor ecx, ecx
call fcn.14002f460
test rax, rax
jne 0x140021343
jmp 0x1400217b3
test r14, r14
je 0x1400217b3
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
movzx eax, byte [0x141d43a20]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov r13b, 1
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], r14
movaps xmmword [rcx + 0x180], xmm6
lock inc qword [rcx + 0x80]
jle 0x1400217b3
sub rcx, 0xffffffffffffff80
mov qword [rdi + rsi*2 - 0x18], rcx
mov qword [rdi + rsi*2 - 0x10], rbx
mov qword [rdi + rsi*2 - 8], 0x40
mov byte [rdi + rsi*2], r13b
inc r12
mov rax, qword [rsp + 0x88]
mov qword [rax + rsi - 8], rcx
mov byte [rax + rsi], r13b
inc r15
add rsi, 0x10
cmp qword [rsp + 0x68], rsi
mov r13, qword [rsp + 0xb8]
jne 0x1400212a0
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0xb0], rax
mov r9, qword [rsp + 0x218]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14001f922
mov qword [rsp + 0xc0], r9
lea rbx, [rsp + 0x218]
lea rcx, [rsp + 0x200]
mov r8d, 0x20
mov rdx, rsi
call fcn.140057250
mov r8d, 0x10
mov rcx, rbx
mov rdx, rsi
call fcn.140057250
mov rdx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x208]
mov r8, rsi
mov rsi, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x228]
mov rdi, rcx
shl rcx, 4
mov qword [rsp + 0x98], rdx
add rcx, rdx
add rcx, 8
mov qword [rsp + 0x88], rcx
mov rcx, rsi
shl rcx, 5
lea r12, [rcx + rax]
add r12, 0x18
shl r8, 4
mov qword [rsp + 0x68], r8
xor r13d, r13d
nop word cs:[rax + rax]
mov ecx, 0x40
call fcn.140022b40
mov rbx, rax
movzx eax, byte [0x141d43a20]
mov edx, 0x10
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov r14, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x40
movzx eax, byte [0x141d43a20]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f460
test rax, rax
je 0x1400217b3
mov rcx, rax
and rax, 0xffffffffffffff80
mov qword [rax + 0x78], rcx
mov qword [rax + 0x80], 1
mov qword [rax + 0x88], 1
mov qword [rax + 0x100], r14
movaps xmmword [rax + 0x180], xmm6
lock inc qword [rax + 0x80]
jle 0x1400217b3
sub rax, 0xffffffffffffff80
mov qword [r12 + r13*2 - 0x18], rax
mov qword [r12 + r13*2 - 0x10], rbx
mov qword [r12 + r13*2 - 8], 0x40
mov byte [r12 + r13*2], 0
inc rsi
mov rcx, qword [rsp + 0x88]
mov qword [rcx + r13 - 8], rax
mov byte [rcx + r13], 0
inc rdi
add r13, 0x10
cmp qword [rsp + 0x68], r13
jne 0x140021490
mov qword [rsp + 0x210], rsi
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xc0]
jmp 0x14001f980
mov rax, qword [rsp + 0x100]
mov qword [rax], 1
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x1400215c2
test r9, r9
je 0x1400215c2
mov r8, qword [rsp + 0x170]
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x190]
lock dec qword [rax]
mov r15, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xf8]
jne 0x14002160f
lea rcx, [rsp + 0x190]
call fcn.140022f10
mov rax, qword [rsp + 0x180]
lock dec qword [rax]
je 0x14002161d
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x140021031
jmp 0x14002163c
mov rax, qword [rsp + 0x180]
lock dec qword [rax]
jne 0x1400215fb
lea rcx, [rsp + 0x180]
call fcn.140022f10
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x140021031
mov rcx, qword [rsp + 0x1b0]
call fcn.140022cb0
jmp 0x140021031
mov r10, r8
cmp r9, 0x11
jae 0x14001f6f8
xor eax, eax
xor r14d, r14d
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001f733
lea r11, [r14 + r14*4]
mov edx, edx
lea r14, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140021660
test rcx, rcx
je 0x140021697
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
jne 0x14001f88d
call fcn.140033640
test rax, rax
je 0x140021785
mov r14d, 1
test al, 1
je 0x14001f88d
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x14001f88d
mov rdi, qword [rdx - 1]
mov rsi, qword [rdx + 7]
mov rax, qword [rsi]
test rax, rax
je 0x1400216e5
mov rcx, rdi
mov rbx, rdx
call rax
mov rdx, rbx
dec rdx
mov rbx, rdx
cmp qword [rsi + 8], 0
je 0x14002170f
cmp qword [rsi + 0x10], 0x11
jb 0x1400216fd
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14001f88d
mov r10, r8
cmp r9, 0x11
jae 0x14001f7f8
xor eax, eax
xor r14d, r14d
nop dword [rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001f833
lea r11, [r14 + r14*4]
mov edx, edx
lea r14, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140021740
test rcx, rcx
je 0x140021777
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
jne 0x14001f88d
jmp 0x14001f847
mov r14, rdx
jmp 0x14001f88d
add rcx, 0x10
xor edx, edx
call case.0x14002cf63.448
ud2
lock dec qword [r15]
jne 0x1400217b3
mov rcx, r15
call fcn.140022f80
ud2
cmp qword [rsp + 0x118], 0
ud2