Function at 0x140109e60
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3f8
movaps xmmword [rsp + 0x3e0], xmm6
mov r15, rdx
mov r14, rcx
cmp byte [rdx + 0xbc], 0
je 0x140109e9d
cmp qword [r15], 0
je 0x14010a0d0
mov r13, qword [r15 + 8]
jmp 0x14010a4d6
movzx eax, word [r15 + 0xbd]
movzx ecx, byte [r15 + 0xbf]
mov rdx, qword [r15 + 0x48]
mov word [rsp + 0x50], ax
mov byte [rsp + 0x52], 1
mov byte [rsp + 0x53], cl
mov qword [rsp + 0x48], rdx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x48]
call fcn.1400fce80
mov rsi, qword [rsp + 0x220]
cmp rsi, 2
je 0x14010a52c
mov rdi, qword [rsp + 0x228]
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0xd0]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1f0], xmm2
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x320]
mov r8d, 0xc0
call sub.msvcrt.dll_memcpy
mov rdx, qword [r15 + 0x50]
mov rcx, r15
call fcn.140106950
lock inc qword [rax]
jle 0x14010bd5d
mov rbx, rax
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xc8], r14
lea rsi, [r15 + 0xa0]
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [r15 + 0xa8]
test al, al
jne 0x14010bd5d
mov qword [rsp + 0xb0], rbx
mov eax, dword [r15 + 0xac]
mov r14d, dword [r15 + 0xb0]
mov ebp, eax
shl ebp, 0x11
xor ebp, eax
mov eax, r14d
shr eax, 0x10
xor eax, r14d
xor eax, ebp
shr ebp, 7
xor ebp, eax
mov eax, r14d
shl eax, 0x11
xor eax, r14d
mov r13d, eax
shr r13d, 7
mov ecx, ebp
shr ecx, 0x10
xor r13d, eax
xor r13d, ebp
xor r13d, ecx
mov dword [r15 + 0xac], ebp
mov dword [r15 + 0xb0], r13d
mov rcx, rsi
call fcn.140118b6c
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [r15 + 0xa8]
test al, al
jne 0x14010bd5d
mov eax, dword [r15 + 0xac]
mov edi, dword [r15 + 0xb0]
mov ebx, eax
shl ebx, 0x11
xor ebx, eax
mov eax, edi
shr eax, 0x10
xor eax, edi
xor eax, ebx
shr ebx, 7
xor ebx, eax
mov eax, edi
shl eax, 0x11
xor eax, edi
mov r12d, eax
shr r12d, 7
mov ecx, ebx
shr ecx, 0x10
xor r12d, eax
xor r12d, ebx
xor r12d, ecx
mov dword [r15 + 0xac], ebx
mov dword [r15 + 0xb0], r12d
mov rcx, rsi
call fcn.140118b6c
mov rsi, qword [r15 + 0x78]
test rsi, rsi
je 0x14010a18e
mov rax, qword [r15 + 0x80]
mov qword [rsp + 0x208], rax
lock inc qword [rsi]
jle 0x14010bd5d
mov rax, qword [r15 + 0x88]
test rax, rax
je 0x14010a19e
mov rcx, qword [r15 + 0x90]
mov qword [rsp + 0x200], rcx
lock inc qword [rax]
jg 0x14010a19e
jmp 0x14010bd5d
lea rdx, str.TOKIO_WORKER_THREADS
lea rcx, [rsp + 0x220]
mov r8d, 0x14
call fcn.1400f1b40
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x14010a133
xorps xmm0, xmm0
movaps xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x230], xmm0
movaps xmmword [rsp + 0x220], xmm0
lea rcx, [rsp + 0x220]
call sub.KERNEL32.dll_GetSystemInfo
mov r13d, dword [rsp + 0x240]
cmp r13d, 1
adc r13d, 0
jmp 0x14010a4d6
mov r8, qword [rsp + 0x220]
test al, al
je 0x14010a3c7
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x14010bd5d
mov r9, qword [rsp + 0x228]
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14010a46a
cmp eax, 0x2b
jne 0x14010af55
dec rcx
je 0x14010bd5d
lea r10, [r8 + 1]
cmp rcx, 0x11
jb 0x14010a481
jmp 0x14010af62
mov rax, qword [r15 + 0x88]
test rax, rax
jne 0x14010a0b2
mov qword [rsp + 0x80], rax
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x60], eax
mov eax, dword [r15 + 0x24]
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + 0xb8]
mov dword [rsp + 0x44], eax
mov rax, qword [r15 + 0x98]
mov qword [rsp + 0x218], rax
movzx eax, byte [r15 + 0xc0]
mov byte [rsp + 0xc0], al
movzx r15d, byte [r15 + 0xc1]
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0x6a], al
movzx eax, word [rsp + 0xb9]
mov word [rsp + 0x68], ax
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010a22b
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, pe_nt_image_headers64
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 4
mov qword [rsp + 0x230], 0
mov qword [rax], 0
mov byte [rax + 8], 0
xorps xmm6, xmm6
movups xmmword [rax + 0x10], xmm6
mov rdx, qword [rsp + 0x230]
inc rdx
mov qword [rsp + 0x230], rdx
cmp rdx, qword [rsp + 0x228]
jne 0x14010a2ad
lea rcx, [rsp + 0x220]
call fcn.140053010
mov rax, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x230]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
movups xmmword [rax + rdx + 0x10], xmm6
mov rdx, qword [rsp + 0x230]
inc rdx
mov qword [rsp + 0x230], rdx
cmp rdx, qword [rsp + 0x228]
jne 0x14010a2fd
lea rcx, [rsp + 0x220]
call fcn.140053010
mov rax, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x230]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
xorps xmm6, xmm6
movups xmmword [rax + rdx + 0x10], xmm6
mov rdx, qword [rsp + 0x230]
inc rdx
mov qword [rsp + 0x230], rdx
cmp rdx, qword [rsp + 0x228]
mov dword [rsp + 0x28], edi
mov byte [rsp + 0x37], r15b
jne 0x14010a359
lea rcx, [rsp + 0x220]
call fcn.140053010
mov rax, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x230]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
movups xmmword [rax + rdx + 0x10], xmm6
mov r15, qword [rsp + 0x230]
inc r15
mov qword [rsp + 0x230], r15
mov r8, qword [rsp + 0x220]
cmp qword [rsp + 0x228], r15
jbe 0x14010b9d2
test r15, r15
je 0x14010b9be
mov r9, r15
shl r9, 5
mov rcx, qword [0x1401a4160]
xor edx, edx
call sub.KERNEL32.dll_HeapReAlloc
mov r8, rax
test rax, rax
jne 0x14010b9d2
jmp 0x14010bd5d
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x14010bd5d
lea rax, [r8 + rcx]
mov r9, r8
jmp 0x14010a3fc
add r9, 2
cmp rdx, rax
cmovne rdx, r9
nop dword [rax]
mov r9, rdx
cmp rdx, rax
je 0x14010a14b
lea rdx, [r9 + 1]
movzx r10d, byte [r9]
test r10b, r10b
jns 0x14010a3f0
cmp r10b, 0xe0
jb 0x14010a3e1
cmp r10b, 0xed
jne 0x14010a43f
cmp rdx, rax
je 0x14010a14b
lea rdx, [r9 + 2]
cmp rdx, rax
je 0x14010a14b
cmp byte [r9 + 1], 0x9f
ja 0x14010bd5d
add r9, 3
mov rdx, r9
jmp 0x14010a3f0
add r9, 2
cmp rdx, rax
cmove r9, rdx
xor edx, edx
cmp r9, rax
setne dl
add rdx, r9
cmp r10b, 0xf0
jb 0x14010a3f0
xor r9d, r9d
cmp rdx, rax
setne r9b
add rdx, r9
jmp 0x14010a3f0
mov r10, r8
cmp rcx, 1
je 0x14010bd5d
cmp rcx, 0x11
jae 0x14010af62
xor eax, eax
xor r13d, r13d
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14010bd5d
lea r11, [r13*4]
add r11, r13
mov edx, edx
lea r13, [rdx + r11*2]
inc rax
cmp rcx, rax
jne 0x14010a490
test r13, r13
je 0x14010bd5d
test r9, r9
je 0x14010a4d6
mov rcx, qword [0x1401a4160]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movzx eax, word [r15 + 0xbd]
movzx ecx, byte [r15 + 0xbf]
mov rdx, qword [r15 + 0x48]
mov word [rsp + 0x328], ax
mov byte [rsp + 0x32a], 0
mov byte [rsp + 0x32b], cl
mov qword [rsp + 0x320], rdx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x320]
call fcn.1400fce80
mov rdi, qword [rsp + 0x220]
cmp rdi, 2
jne 0x14010a544
mov rax, qword [rsp + 0x228]
mov qword [r14 + 8], rax
mov qword [r14], 2
jmp 0x14010bd41
mov rbx, qword [rsp + 0x228]
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0xd0]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1f0], xmm2
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x220]
mov r8d, 0xc0
call sub.msvcrt.dll_memcpy
mov rdx, qword [r15 + 0x50]
add rdx, r13
mov rcx, r15
call fcn.140106950
mov qword [rsp + 0x98], rax
lock inc qword [rax]
jle 0x14010bd5d
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], r14
lea rsi, [r15 + 0xa0]
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [r15 + 0xa8]
test al, al
jne 0x14010bd5d
mov eax, dword [r15 + 0xac]
mov ebp, dword [r15 + 0xb0]
mov r12d, eax
shl r12d, 0x11
xor r12d, eax
mov eax, ebp
shr eax, 0x10
xor eax, ebp
xor eax, r12d
shr r12d, 7
xor r12d, eax
mov eax, ebp
shl eax, 0x11
xor eax, ebp
mov r14d, eax
shr r14d, 7
mov ecx, r12d
shr ecx, 0x10
xor r14d, eax
xor r14d, r12d
xor r14d, ecx
mov dword [r15 + 0xac], r12d
mov dword [r15 + 0xb0], r14d
mov rcx, rsi
call fcn.140118b6c
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [r15 + 0xa8]
test al, al
jne 0x14010bd5d
mov eax, dword [r15 + 0xac]
mov ecx, dword [r15 + 0xb0]
mov r8d, eax
shl r8d, 0x11
xor r8d, eax
mov eax, ecx
shr eax, 0x10
xor eax, ecx
xor eax, r8d
shr r8d, 7
xor r8d, eax
mov eax, ecx
shl eax, 0x11
mov dword [rsp + 0xa8], ecx
xor eax, ecx
mov edx, eax
shr edx, 7
mov ecx, r8d
shr ecx, 0x10
xor edx, eax
xor edx, r8d
xor edx, ecx
mov dword [rsp + 0x44], r8d
mov dword [r15 + 0xac], r8d
mov dword [rsp + 0xa0], edx
mov dword [r15 + 0xb0], edx
mov rcx, rsi
call fcn.140118b6c
mov rax, qword [r15 + 0x78]
test rax, rax
je 0x14010a719
mov rcx, qword [r15 + 0x80]
lock inc qword [rax]
jle 0x14010bd5d
mov rdx, qword [r15 + 0x88]
test rdx, rdx
je 0x14010a725
mov r8, qword [r15 + 0x90]
lock inc qword [rdx]
jg 0x14010a725
jmp 0x14010bd5d
mov rdx, qword [r15 + 0x88]
test rdx, rdx
jne 0x14010a707
add ebp, r12d
add r14d, r12d
mov r9d, dword [r15 + 0xb8]
mov r10, qword [r15 + 0x20]
mov r11, qword [r15 + 0x98]
movzx esi, word [r15 + 0xc0]
mov qword [rsp + 0x320], r10
mov dword [rsp + 0x368], r9d
mov qword [rsp + 0x328], r11
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], rcx
mov qword [rsp + 0x340], rdx
mov qword [rsp + 0x348], r8
mov word [rsp + 0x36c], si
mov qword [rsp + 0x350], 0
mov byte [rsp + 0x358], 0
movzx eax, word [rsp + 0x92]
mov word [rsp + 0x359], ax
movzx eax, byte [rsp + 0x94]
mov byte [rsp + 0x35b], al
mov dword [rsp + 0x35c], ebp
mov dword [rsp + 0x360], r14d
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010a7f2
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x58
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmm1, xmmword [rsp + 0x1e0]
movaps xmm2, xmmword [rsp + 0x1f0]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
mov byte [rax + 0x50], 0
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010a875
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x38
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov byte [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rsp + 0x88], rax
test r13, r13
je 0x14010a928
mov rax, r13
shr rax, 0x3c
jne 0x14010bd5d
lea rax, [r13*8]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x14010a969
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010a90f
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
xor edx, edx
mov r8, qword [rsp + 0x80]
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x14010a96e
jmp 0x14010bd5d
mov qword [rsp + 0x68], 8
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x48], 8
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 0
mov eax, 4
mov esi, 8
xor edi, edi
xor ebx, ebx
xor r13d, r13d
mov r14d, 8
jmp 0x14010aff1
mov eax, 8
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 0
mov rax, r13
shr rax, 0x3b
jne 0x14010bd5d
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010a9b9
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8, r13
shl r8, 4
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 0
xor ebx, ebx
lea r14, [rsp + 0xd0]
xorps xmm6, xmm6
mov qword [rsp + 0xb0], r13
jmp 0x14010aa26
mov rsi, qword [rsp + 0x48]
mov rax, rdi
shl rax, 4
mov qword [rsi + rax], r15
mov qword [rsi + rax + 8], rbp
inc rdi
mov qword [rsp + 0x58], rdi
cmp rbx, r13
je 0x14010aea6
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
jne 0x14010aa4e
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x800
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
inc rbx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 0x100
mov qword [rsp + 0xe0], 0
mov esi, 0x100
xor edi, edi
jmp 0x14010aab0
inc rdi
mov qword [rsp + 0xe0], rdi
dec rsi
je 0x14010aad0
cmp rdi, qword [rsp + 0xd8]
jne 0x14010aaa0
mov rcx, r14
mov rdx, rdi
call fcn.1400dc560
mov rdi, qword [rsp + 0xe0]
jmp 0x14010aaa0
mov rsi, qword [rsp + 0xd0]
cmp qword [rsp + 0xd8], rdi
jbe 0x14010ab10
test rdi, rdi
je 0x14010bd71
lea r9, [rdi*8]
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov rsi, rax
test rax, rax
je 0x14010bd5d
cmp rdi, 0x100
jne 0x14010bd5d
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
lea rdi, [rsp + 0x350]
jne 0x14010ab4d
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov r15, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0
mov dword [rax + 0x20], 0
lock inc qword [rax]
jle 0x14010bd5d
mov rax, qword [rsp + 0x88]
mov rsi, qword [rax + 0x10]
lock inc qword [rsi]
jle 0x14010bd5d
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
jne 0x14010abd3
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov rbp, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
movups xmmword [rax + 0x18], xmm6
mov byte [rax + 0x28], 0
mov qword [rax + 0x30], 0
lock inc qword [rax]
jle 0x14010bd5d
mov qword [rsp + 0xd0], 0
mov rcx, r14
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x14010bd61
mov rsi, qword [rsp + 0xd0]
mov r8, qword [0x1401a4140]
test r8, r8
jne 0x14010ac80
mov qword [rsp + 0xd0], 0
mov rcx, r14
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14010bd61
mov r8, qword [rsp + 0xd0]
mov qword [0x1401a4140], r8
test r8, r8
je 0x14010bd5d
mov rax, rsi
or rax, r8
shr rax, 0x20
je 0x14010aca0
mov rax, rsi
xor edx, edx
div r8
mov rcx, rax
jmp 0x14010aca9
mov eax, esi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
mov qword [rsp + 0x28], rbx
je 0x14010acd0
xor edx, edx
div r8
jmp 0x14010acd5
xor edx, edx
div r8d
imul r12, rcx, 0x3b9aca00
add r12, rax
mov rax, r12
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
mov rsi, rdx
movzx eax, byte [rsp + 0x36c]
mov byte [rsp + 0x38], al
cmp dword [rsp + 0x320], 0
mov eax, 0x3d
je 0x14010ad18
mov eax, dword [rsp + 0x324]
mov dword [rsp + 0x60], eax
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [rsp + 0x358]
test al, al
jne 0x14010bd5d
mov eax, dword [rsp + 0x35c]
mov r13d, dword [rsp + 0x360]
mov ebx, eax
shl ebx, 0x11
xor ebx, eax
mov eax, r13d
shr eax, 0x10
xor eax, r13d
xor eax, ebx
shr ebx, 7
xor ebx, eax
mov eax, r13d
shl eax, 0x11
xor eax, r13d
mov r14d, eax
shr r14d, 7
mov ecx, ebx
shr ecx, 0x10
xor r14d, eax
xor r14d, ebx
xor r14d, ecx
mov dword [rsp + 0x35c], ebx
mov dword [rsp + 0x360], r14d
mov rcx, rdi
call fcn.140118b6c
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
jne 0x14010adb7
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x50
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov rdi, rax
shr rsi, 0xb
imul eax, esi, 0x3b9aca00
sub r12d, eax
add r13d, ebx
add r14d, ebx
movzx ecx, byte [rsp + 0x38]
xor cl, 1
mov qword [rdi], 0
mov qword [rdi + 8], rbp
mov dword [rdi + 0x10], r13d
mov dword [rdi + 0x14], r14d
mov qword [rdi + 0x18], r15
mov qword [rdi + 0x20], 0
movabs rax, 0x40a99d60864b8a7e
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rsi
mov dword [rdi + 0x38], r12d
mov dword [rdi + 0x40], 0
mov eax, dword [rsp + 0x60]
mov dword [rdi + 0x44], eax
mov byte [rdi + 0x48], cl
mov word [rdi + 0x49], 0
mov byte [rdi + 0x4b], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, qword [rsp + 0x70]
jne 0x14010ae59
lea rcx, [rsp + 0x68]
call fcn.1400dc560
mov rdx, qword [rsp + 0x78]
mov r13, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x28]
lea r14, [rsp + 0xd0]
mov rax, qword [rsp + 0x68]
mov qword [rax + rdx*8], rdi
inc rdx
mov qword [rsp + 0x78], rdx
mov rdi, qword [rsp + 0x58]
cmp rdi, qword [rsp + 0x50]
jne 0x14010aa00
lea rcx, [rsp + 0x48]
mov rdx, rdi
call fcn.140045e30
mov rdi, qword [rsp + 0x58]
jmp 0x14010aa00
movabs rax, 0xfffffffffffffff
cmp r13, rax
ja 0x14010bd5d
cmp qword [rsp + 0x80], 0
je 0x14010af16
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010aeef
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
xor edx, edx
mov r8, qword [rsp + 0x80]
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
je 0x14010bd5d
cmp qword [rsp + 0x50], rdi
ja 0x14010af27
jmp 0x14010afc3
mov r14d, 8
cmp qword [rsp + 0x50], rdi
jbe 0x14010afc3
test rdi, rdi
je 0x14010afad
mov r9, rdi
shl r9, 4
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov rsi, rax
test rax, rax
jne 0x14010afc3
jmp 0x14010bd5d
mov r10, r8
cmp rcx, 0x11
jb 0x14010a481
xor r11d, r11d
mov esi, 0xa
xor r13d, r13d
nop dword [rax]
cmp rcx, r11
je 0x14010a4ba
movzx edi, byte [r10 + r11]
mov rax, r13
mul rsi
seto dl
add edi, 0xffffffd0
cmp edi, 9
ja 0x14010bd5d
test dl, dl
jne 0x14010bd5d
mov r13, rax
mov eax, edi
inc r11
add r13, rax
jae 0x14010af70
jmp 0x14010bd5d
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov esi, 8
mov rbx, r13
shl rbx, 0x10
mov eax, 4
cmp r13, 2
jb 0x14010aff1
lea rax, [r13 - 1]
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
lea rax, [rax*4 + 4]
cmp rax, 0x10000
mov ebp, 0x10000
cmovb rbp, rax
lea eax, [rbp - 1]
test ebp, eax
setne al
test rbp, rbp
sete cl
or cl, al
jne 0x14010bd5d
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010b041
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8, rbp
shl r8, 5
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov qword [rsp + 0x38], r14
mov ecx, dword [rsp + 0x44]
add dword [rsp + 0xa8], ecx
add dword [rsp + 0xa0], ecx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], 0
xor r12d, r12d
lea r15, [rsp + 0xd0]
xorps xmm6, xmm6
mov r14, rbp
jmp 0x14010b0d0
shl r12, 5
mov qword [rax + r12], 0
mov byte [rax + r12 + 8], 0
movups xmmword [rax + r12 + 0x10], xmm6
mov r12, qword [rsp + 0xe0]
inc r12
mov qword [rsp + 0xe0], r12
dec r14
je 0x14010b0f7
cmp r12, qword [rsp + 0xd8]
jne 0x14010b0a0
mov rcx, r15
mov rdx, r12
call fcn.140053010
mov rax, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xe0]
jmp 0x14010b0a0
mov r15, r13
mov r13, qword [rsp + 0xd0]
cmp qword [rsp + 0xd8], r12
jbe 0x14010b14d
test r12, r12
je 0x14010b136
mov r9, r12
shl r9, 5
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapReAlloc
mov r13, rax
test rax, rax
jne 0x14010b14d
jmp 0x14010bd5d
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapFree
mov r13d, 8
dec rbp
mov r14d, 1
lock xadd qword [0x140123140], r14
test r14, r14
je 0x14010b150
movups xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rsp + 0x320]
movups xmm1, xmmword [rsp + 0x330]
movups xmm2, xmmword [rsp + 0x340]
movups xmm3, xmmword [rsp + 0x350]
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010b1df
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x210
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov qword [rax], 1
mov qword [rax + 8], 1
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x40], xmm3
movaps xmm0, xmmword [rsp + 0x110]
movups xmmword [rax + 0x50], xmm0
mov qword [rax + 0x60], rsi
mov qword [rax + 0x68], rdi
mov qword [rax + 0x70], r13
mov qword [rax + 0x78], r12
mov qword [rax + 0x80], 0
mov qword [rax + 0x88], rbp
mov qword [rax + 0x90], r14
mov byte [rax + 0x98], 0
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xb9]
mov ecx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0x28]
mov dword [rdx + 0x99], eax
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x9c], ecx
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xa0], 1
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xa8], r15
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xb0], 0
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xb8], rbx
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xc0], r15
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xc8], 0
mov rax, qword [rsp + 0x28]
mov byte [rax + 0xd0], 0
mov eax, dword [rsp + 0x1c9]
mov ecx, dword [rsp + 0x1cc]
mov rdx, qword [rsp + 0x28]
mov dword [rdx + 0xd4], ecx
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0xd1], eax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0xd8], rcx
mov rax, qword [rsp + 0x28]
mov qword [rax + 0xe0], r15
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x108], 0
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x110], 0
xorps xmm6, xmm6
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0xf1], xmm6
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0xe8], xmm6
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x118], 8
mov rcx, qword [rsp + 0x28]
add rcx, 0x130
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x120], xmm6
lea rdx, [rsp + 0x220]
mov r8d, 0xc0
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x1f0], rax
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x1f8], 0
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x200], 0
movzx eax, word [rsp + 0x95]
mov rcx, qword [rsp + 0x28]
mov word [rcx + 0x201], ax
movzx eax, byte [rsp + 0x97]
mov rcx, qword [rsp + 0x28]
mov byte [rcx + 0x203], al
mov eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0x204], eax
mov eax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0x208], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xd0], 8
movups xmmword [rsp + 0xd8], xmm6
mov rdi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x78], 0
test r12, r12
je 0x14010b54a
shl r12, 3
mov r13d, 8
xor esi, esi
lea rbx, [rsp + 0xd0]
xor ebp, ebp
jmp 0x14010b4a5
mov qword [r13 + rsi*8], r14
mov rsi, qword [rsp + 0xe0]
inc rsi
mov qword [rsp + 0xe0], rsi
inc rbp
add r12, 0xfffffffffffffff8
je 0x14010b561
mov r15, qword [rdi + rbp*8]
lock inc qword [rax]
jle 0x14010bd5d
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
jne 0x14010b4db
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov rax, qword [rsp + 0x28]
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rbp
mov qword [r14 + 0x20], r15
cmp rsi, qword [rsp + 0xd8]
jne 0x14010b480
mov rcx, rbx
mov rdx, rsi
call fcn.1400dc560
mov rax, qword [rsp + 0x28]
mov r13, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xe0]
jmp 0x14010b480
lea rdx, [rdi + r12*8]
sub rdx, rdi
je 0x14010b55f
shr rdx, 3
mov rcx, rdi
call fcn.14010c1a0
xor esi, esi
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x38], rax
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.14010c1a0
cmp qword [rsp + 0x70], 0
je 0x14010b5a1
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x14010b5bc
lea rcx, [rsp + 0x88]
call fcn.1400397d0
xor ecx, ecx
call fcn.140102310
test rax, rax
je 0x14010bd5d
cmp qword [rax], 0
jne 0x14010bd5d
mov qword [rax], 0xffffffffffffffff
mov r8, qword [rsp + 0x28]
lock inc qword [r8]
jle 0x14010bd5d
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rax + 8], 1
mov qword [rax + 0x10], r8
inc qword [rax]
mov r8, qword [rax + 0x18]
cmp r8, 0xffffffffffffffff
je 0x14010bd5d
mov qword [rsp + 0x60], rdi
inc r8
mov qword [rax + 0x18], r8
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], rcx
test rsi, rsi
je 0x14010b846
shl rsi, 3
xor ebp, ebp
xorps xmm6, xmm6
jmp 0x14010b65d
add rbp, 8
cmp rsi, rbp
je 0x14010b87c
mov rax, qword [rsp + 0x38]
mov r14, qword [rax + rbp]
xor ecx, ecx
call fcn.140102310
test rax, rax
je 0x14010bd5d
mov rcx, qword [rax]
movabs rdx, 0x7ffffffffffffffe
cmp rcx, rdx
ja 0x14010bd5d
lea rdx, [rcx + 1]
mov qword [rax], rdx
mov r13, qword [rax + 8]
cmp r13, 2
je 0x14010bd6a
mov rbx, qword [rax + 0x10]
mov edx, 1
lock xadd qword [rbx], rdx
test r13, r13
je 0x14010b6d0
mov ecx, 1
test rdx, rdx
jns 0x14010b6db
jmp 0x14010bd5d
test rdx, rdx
js 0x14010bd5d
xor ecx, ecx
dec qword [rax]
test r13, r13
mov qword [rsp + 0x320], rcx
mov qword [rsp + 0x328], rbx
mov edi, 0x1f0
mov eax, 0x188
cmove rdi, rax
mov r15d, 1
lock xadd qword [0x140123150], r15
movzx eax, byte [0x1401a4170]
mov rax, qword [0x1401a4160]
test rax, rax
jne 0x14010b736
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov qword [0x1401a4160], rax
mov r8d, 0x100
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r12, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 0xcc
mov qword [rcx + 0x88], 0
lea rax, [0x140173b38]
mov qword [rcx + 0x90], rax
mov qword [rcx + 0x98], 0
mov qword [rcx + 0xa0], r15
mov qword [rcx + 0xa8], 2
mov qword [rcx + 0xb0], r14
movups xmmword [rcx + 0xc8], xmm6
mov qword [rcx + 0xd8], 0
mov rcx, qword [rbx + rdi]
mov rdx, r12
lea r8, [rsp + 0x320]
call fcn.140102ab0
test rax, rax
je 0x14010b7dd
test rdx, rdx
jne 0x14010bd5d
lock dec qword [rbx]
sete al
test r13, r13
je 0x14010b800
test al, al
je 0x14010b820
lea rcx, [rsp + 0x328]
call fcn.140105ef0
jmp 0x14010b820
test al, al
je 0x14010b820
lea rcx, [rsp + 0x328]
call fcn.1401064e0
nop word cs:[rax + rax]
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg qword [r12], rcx
je 0x14010b650
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [rax + 0x20]
jmp 0x14010b650
mov rax, qword [rsp + 0x38]
lea rdi, [rax + rsi*8]
sub rdi, rax
je 0x14010b87c
shr rdi, 3
mov rsi, qword [rsp + 0x38]
jmp 0x14010b869
add rsi, 8
dec rdi
je 0x14010b87c
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x14010b860
mov rcx, rsi
call fcn.140105d90
jmp 0x14010b860
cmp qword [rsp + 0x60], 0
je 0x14010b897
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, qword [rsp + 0x38]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xc8]
mov qword [rax], 1
mov qword [rax + 0x38], 1
mov rcx, qword [rsp + 0x28]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x48], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x50], rcx
mov rdi, qword [rsp + 0xe0]
xor ecx, ecx
call fcn.140102310
test rax, rax
je 0x14010bd5d
mov rsi, rax
cmp qword [rax + 0x18], rdi
jne 0x14010bd5d
mov rbx, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov qword [rsp + 0xd0], 2
cmp qword [rsi], 0
jne 0x14010bd5d
mov qword [rsi], 0xffffffffffffffff
mov rax, qword [rsi + 8]
cmp rax, 2
je 0x14010b955
mov rcx, rsi
add rcx, 0x10
test rax, rax
je 0x14010b947
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14010b955
call fcn.140105ef0
jmp 0x14010b955
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14010b955
call fcn.1401064e0
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r14
inc qword [rsi]
dec rdi
mov qword [rsi + 0x18], rdi
mov rax, qword [rsp + 0xd0]
cmp rax, 2
je 0x14010bd41
lea rcx, [rsp + 0xd8]
test rax, rax
je 0x14010b9a2
mov rax, qword [rsp + 0xd8]
lock dec qword [rax]
jne 0x14010bd41
call fcn.140105ef0
jmp 0x14010bd41
mov rax, qword [rsp + 0xd8]
lock dec qword [rax]
jne 0x14010bd41
call fcn.1401064e0
jmp 0x14010bd41
mov rcx, qword [0x1401a4160]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r8d, 8
add r14d, ebp
add r13d, ebp
add dword [rsp + 0x28], ebx
add r12d, ebx
nop
mov ebx, 1
lock xadd qword [0x140123140], rbx
test rbx, rbx
je 0x14010b9e0
mov qword [rsp + 0x210], r8
mov rdi, rsi
movzx eax, byte [rsp + 0x6a]
mov byte [rsp + 0x4a], al
movzx eax, word [rsp + 0x68]
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xd3]
mov dword [rsp + 0x223], ecx
mov dword [rsp + 0x220], eax
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
mov rbp, qword [rsp + 0xc8]
jne 0x14010ba60
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x1a8
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x14], eax
mov rax, qword [rsp + 0x218]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rdi
mov rax, qword [rsp + 0x208]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x30], rax
mov rax, qword [rsp + 0x200]
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x40], 0
mov byte [rsi + 0x48], 0
movzx eax, word [rsp + 0x48]
mov word [rsi + 0x49], ax
movzx eax, byte [rsp + 0x4a]
mov byte [rsi + 0x4b], al
mov dword [rsi + 0x4c], r14d
mov dword [rsi + 0x50], r13d
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x58], eax
movzx eax, byte [rsp + 0xc0]
mov byte [rsi + 0x5c], al
movzx eax, byte [rsp + 0x37]
mov byte [rsi + 0x5d], al
mov rax, qword [rsp + 0x210]
mov qword [rsi + 0x60], rax
mov qword [rsi + 0x68], r15
mov qword [rsi + 0x70], 0
mov qword [rsi + 0x78], 3
mov qword [rsi + 0x80], rbx
mov byte [rsi + 0x88], 0
mov eax, dword [rsp + 0x220]
mov ecx, dword [rsp + 0x223]
mov dword [rsi + 0x8c], ecx
mov dword [rsi + 0x89], eax
xorps xmm0, xmm0
movups xmmword [rsi + 0x90], xmm0
mov byte [rsi + 0xa0], 0
movups xmmword [rsi + 0xa8], xmm0
mov byte [rsi + 0xb8], 0
mov byte [rsi + 0xc0], 0
mov rcx, rsi
add rcx, 0xc8
lea rdx, [rsp + 0x320]
mov r8d, 0xc0
call sub.msvcrt.dll_memcpy
mov rbx, qword [rsp + 0xb0]
mov qword [rsi + 0x188], rbx
mov qword [rsi + 0x190], 0
mov byte [rsi + 0x198], 0
movzx eax, word [rsp + 0x88]
mov word [rsi + 0x199], ax
movzx eax, byte [rsp + 0x8a]
mov byte [rsi + 0x19b], al
mov eax, dword [rsp + 0x28]
mov dword [rsi + 0x19c], eax
mov dword [rsi + 0x1a0], r12d
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010bc0e
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x200
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
mov r14, rax
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x14010bc52
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14010bd5d
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x70
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14010bd5d
cmp dword [rsp + 0x60], 0
mov ecx, 0x1f
mov edx, dword [rsp + 0x38]
cmove edx, ecx
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 8], rcx
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmm1, xmmword [rsp + 0x1e0]
movaps xmm2, xmmword [rsp + 0x1f0]
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm2
mov qword [rax + 0x40], r14
mov qword [rax + 0x48], 0x40
xorps xmm0, xmm0
movups xmmword [rax + 0x50], xmm0
mov dword [rax + 0x60], 0
mov dword [rax + 0x64], edx
mov byte [rax + 0x68], 0
movups xmmword [rsp + 0x227], xmm0
mov qword [rsp + 0x237], 0
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 0
mov byte [rbp + 0x18], 0
movups xmm0, xmmword [rsp + 0x220]
mov rax, qword [rsp + 0x22f]
mov rcx, qword [rsp + 0x237]
movups xmmword [rbp + 0x19], xmm0
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rcx
mov qword [rbp], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rbx
mov rax, qword [rsp + 0x98]
mov qword [rbp + 0x50], rax
movaps xmm6, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
call sub.KERNEL32.dll_GetLastError
ud2
mov qword [rax], rcx
ud2
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
ud2