Function at 0x140067e20
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x8b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x820], xmm8
movdqa xmmword [rbp + 0x810], xmm7
movaps xmmword [rbp + 0x800], xmm6
and rsp, 0xffffffffffffff80
mov r14, rdx
mov qword [rsp + 0xf0], rcx
mov r15, qword [rdx + 0x10]
test r15, r15
jne 0x140068157
lea rdx, [0x141a00b10]
lea rcx, [rsp + 0x200]
mov r8d, 0x11
call fcn.140160830
mov rax, qword [rsp + 0x200]
movabs rbx, 0x8000000000000000
movabs rdi, 0x8000000000000001
cmp rax, rbx
je 0x14006805c
cmp rax, rdi
jne 0x140067f0f
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14006805c
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
test r9, r9
je 0x140067fb9
cmp r9, 1
jne 0x140067f33
movzx eax, byte [r8]
xor esi, esi
cmp eax, 0x2b
je 0x140069dc3
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
je 0x140067fbb
jmp 0x140067f87
test rax, rax
je 0x14006805c
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
jmp 0x14006805c
cmp byte [r8], 0x2b
jne 0x140067f7e
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x140067f87
xor r11d, r11d
mov esi, 0xa
xor r15d, r15d
mov rax, r15
mul rsi
jo 0x140067fb9
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x140067fb9
mov eax, eax
add r15, rax
jb 0x140067fb9
inc r11
cmp r9, r11
jne 0x140067f55
jmp 0x140067faf
mov r10, r8
cmp r9, 0x11
jae 0x140067f4a
xor eax, eax
xor r15d, r15d
nop dword [rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140067fb9
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140067f90
mov sil, 1
test rcx, rcx
jne 0x140067fc0
jmp 0x140067fce
xor esi, esi
test rcx, rcx
je 0x140067fce
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
test sil, sil
je 0x14006805c
test r15, r15
jne 0x140068157
call fcn.1401607f0
test rax, rax
je 0x140069dd1
mov eax, edx
and eax, 3
mov r15d, 1
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140068157
test rax, rax
je 0x140068157
mov rdi, rdx
dec rdi
mov rbx, qword [rdx - 1]
mov rsi, qword [rdx + 7]
mov rcx, rbx
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x140068046
cmp qword [rsi + 0x10], 0x11
jb 0x140068035
mov rbx, qword [rbx - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
call fcn.1401cdfe4
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rdi
call fcn.1401cdfe4
jmp 0x140068157
lea rdx, [0x141a00b21]
lea rcx, [rsp + 0x200]
mov r8d, 0x11
call fcn.140160830
mov rax, qword [rsp + 0x200]
cmp rax, rbx
je 0x14006811b
cmp rax, rdi
jne 0x140068100
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14006811b
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov dil, 1
test r9, r9
je 0x1400680e0
cmp r9, 1
jne 0x140069d07
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x1400680e0
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
jne 0x140069d81
test rcx, rcx
je 0x1400680f3
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
test r15, r15
sete al
or dil, al
je 0x140068157
jmp 0x14006811b
test rax, rax
je 0x14006811b
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x220], xmm0
movdqa xmmword [rsp + 0x210], xmm0
movdqa xmmword [rsp + 0x200], xmm0
lea rcx, [rsp + 0x200]
call sub.KERNEL32.dll_GetSystemInfo
mov r15d, dword [rsp + 0x220]
cmp r15d, 1
adc r15d, 0
cmp r15, 0xffff
mov esi, 0xffff
cmovb rsi, r15
movzx r13d, byte [r14 + 0x59]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
test r15, r15
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x70], rsi
jne 0x1400696b7
mov rbx, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov rcx, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x80], rax
mov r14, qword [rsp + 0x218]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
test r15, r15
mov qword [rsp + 0x100], rcx
jne 0x140069883
mov r12d, 8
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xa0], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x90], xmm0
mov rsi, rdi
shl rsi, 4
add rsi, rbx
test rdi, rdi
je 0x1400683ed
movabs rax, 0x333333333333333
cmp rdi, rax
ja 0x140069e15
lea rax, [rdi*8]
lea rdx, [rax + rax*4]
movzx eax, byte [0x141ada129]
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov qword [rsp + 0x200], rdi
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], 0
xor ecx, ecx
mov rdx, rbx
nop word cs:[rax + rax]
mov r8, qword [rdx]
movzx r9d, byte [rdx + 8]
mov dword [rax], 0
mov word [rax + 4], 0
mov dword [rax + 8], 0
mov word [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r8
mov byte [rax + 0x20], r9b
inc rcx
add rax, 0x28
add rdx, 0x10
cmp rdx, rsi
jne 0x140068300
mov qword [rsp + 0x210], rcx
test r14, r14
je 0x14006835f
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
call fcn.1401cdfe4
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x130], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x120], xmm0
test r15, r15
je 0x140068437
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
shl rdx, 7
movzx eax, byte [0x141ada129]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
sub rcx, 0xffffffffffffff80
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], 0
cmp r15, 1
jne 0x14006846d
xor edx, edx
jmp 0x1400684bf
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
mov qword [rsp + 0x210], 0
cmp rsi, rbx
jne 0x140068424
jmp 0x140068349
add rbx, 0x10
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x140068420
mov rcx, rbx
call fcn.140175880
jmp 0x140068420
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], pe_nt_image_headers64
mov qword [rsp + 0x210], 0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jne 0x140069d5e
xor edx, edx
jmp 0x1400684dd
mov edx, eax
and edx, 0x7f
mov r8d, esi
and r8d, 0xfffe
sub rax, rdx
add rax, 0x105
xor edx, edx
nop word [rax + rax]
mov dword [rax - 0x85], 0
mov word [rax - 0x81], 0
mov dword [rax - 5], 0
mov word [rax - 1], 0
add rdx, 2
add rax, 0x100
cmp r8, rdx
jne 0x140068490
test sil, 1
je 0x1400684dd
mov rax, rdx
shl rax, 7
mov dword [rcx + rax], 0
mov word [rcx + rax + 4], 0
inc rdx
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], rdx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x210], 0
movdqu xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x228], 0
movdqa xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
movdqu xmmword [rsp + 0x248], xmm0
mov qword [rsp + 0x258], 0
movdqa xmmword [rsp + 0x260], xmm0
mov qword [rsp + 0x270], 0
movdqu xmmword [rsp + 0x278], xmm0
mov qword [rsp + 0x288], 0
movdqa xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2a0], 0
movdqu xmmword [rsp + 0x2a8], xmm0
mov qword [rsp + 0x2b8], 0
movdqa xmmword [rsp + 0x2c0], xmm0
mov qword [rsp + 0x2d0], 0
movdqu xmmword [rsp + 0x2d8], xmm0
mov qword [rsp + 0x2e8], 0
movdqa xmmword [rsp + 0x2f0], xmm0
mov qword [rsp + 0x300], 0
movdqu xmmword [rsp + 0x308], xmm0
mov qword [rsp + 0x318], 0
movdqa xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], 0
movdqu xmmword [rsp + 0x338], xmm0
mov qword [rsp + 0x348], 0
movdqa xmmword [rsp + 0x350], xmm0
mov qword [rsp + 0x360], 0
movdqu xmmword [rsp + 0x368], xmm0
mov qword [rsp + 0x378], 0
movdqa xmmword [rsp + 0x380], xmm0
mov qword [rsp + 0x390], 0
movdqu xmmword [rsp + 0x398], xmm0
mov qword [rsp + 0x3a8], 0
movdqa xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], 0
movdqu xmmword [rsp + 0x3c8], xmm0
mov qword [rsp + 0x3d8], 0
movdqa xmmword [rsp + 0x3e0], xmm0
mov qword [rsp + 0x3f0], 0
movdqu xmmword [rsp + 0x3f8], xmm0
mov qword [rsp + 0x408], 0
movdqa xmmword [rsp + 0x410], xmm0
mov qword [rsp + 0x420], 0
movdqu xmmword [rsp + 0x428], xmm0
mov qword [rsp + 0x438], 0
movdqa xmmword [rsp + 0x440], xmm0
mov qword [rsp + 0x450], 0
movdqu xmmword [rsp + 0x458], xmm0
mov qword [rsp + 0x468], 0
movdqa xmmword [rsp + 0x470], xmm0
mov qword [rsp + 0x480], 0
movdqu xmmword [rsp + 0x488], xmm0
mov qword [rsp + 0x498], 0
movdqa xmmword [rsp + 0x4a0], xmm0
mov qword [rsp + 0x4b0], 0
movdqu xmmword [rsp + 0x4b8], xmm0
mov qword [rsp + 0x4c8], 0
movdqa xmmword [rsp + 0x4d0], xmm0
mov qword [rsp + 0x4e0], 0
movdqu xmmword [rsp + 0x4e8], xmm0
mov qword [rsp + 0x4f8], 0
movdqa xmmword [rsp + 0x500], xmm0
mov qword [rsp + 0x510], 0
movdqu xmmword [rsp + 0x518], xmm0
mov qword [rsp + 0x528], 0
movdqa xmmword [rsp + 0x530], xmm0
mov qword [rsp + 0x540], 0
movdqu xmmword [rsp + 0x548], xmm0
mov qword [rsp + 0x558], 0
movdqa xmmword [rsp + 0x560], xmm0
mov qword [rsp + 0x570], 0
movdqu xmmword [rsp + 0x578], xmm0
mov qword [rsp + 0x588], 0
movdqa xmmword [rsp + 0x590], xmm0
mov qword [rsp + 0x5a0], 0
movdqu xmmword [rsp + 0x5a8], xmm0
mov qword [rsp + 0x5b8], 0
movdqa xmmword [rsp + 0x5c0], xmm0
mov qword [rsp + 0x5d0], 0
movdqu xmmword [rsp + 0x5d8], xmm0
mov qword [rsp + 0x5e8], 0
movdqa xmmword [rsp + 0x5f0], xmm0
mov qword [rsp + 0x600], 0
movdqu xmmword [rsp + 0x608], xmm0
mov qword [rsp + 0x618], 0
movdqa xmmword [rsp + 0x620], xmm0
mov qword [rsp + 0x630], 0
movdqu xmmword [rsp + 0x638], xmm0
mov qword [rsp + 0x648], 0
movdqa xmmword [rsp + 0x650], xmm0
mov qword [rsp + 0x660], 0
movdqu xmmword [rsp + 0x668], xmm0
mov qword [rsp + 0x678], 0
movdqa xmmword [rsp + 0x680], xmm0
mov qword [rsp + 0x690], 0
movdqu xmmword [rsp + 0x698], xmm0
mov qword [rsp + 0x6a8], 0
movdqa xmmword [rsp + 0x6b0], xmm0
mov qword [rsp + 0x6c0], 0
movdqu xmmword [rsp + 0x6c8], xmm0
mov qword [rsp + 0x6d8], 0
movdqa xmmword [rsp + 0x6e0], xmm0
mov qword [rsp + 0x6f0], 0
movdqu xmmword [rsp + 0x6f8], xmm0
mov qword [rsp + 0x708], 0
movdqa xmmword [rsp + 0x710], xmm0
mov qword [rsp + 0x720], 0
movdqu xmmword [rsp + 0x728], xmm0
mov qword [rsp + 0x738], 0
movdqa xmmword [rsp + 0x740], xmm0
mov qword [rsp + 0x750], 0
movdqu xmmword [rsp + 0x758], xmm0
mov qword [rsp + 0x768], 0
movdqa xmmword [rsp + 0x770], xmm0
mov qword [rsp + 0x780], 0
movdqu xmmword [rsp + 0x788], xmm0
mov qword [rsp + 0x798], 0
movdqa xmmword [rsp + 0x7a0], xmm0
mov qword [rsp + 0x7b0], 0
movdqu xmmword [rsp + 0x7b8], xmm0
mov qword [rsp + 0x7c8], 0
movdqa xmmword [rsp + 0x7d0], xmm0
mov qword [rsp + 0x7e0], 0
movzx eax, byte [0x141ada129]
mov edx, 0x5f0
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rsi, rax
mov qword [rax], 0
mov rcx, rax
add rcx, 8
lea rdx, [rsp + 0x200]
mov r8d, 0x5e8
call sub.msvcrt.dll_memcpy
movdqa xmm0, xmmword [rsp + 0x90]
movdqu xmmword [rsp + 0x868], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x878], rax
mov rax, qword [rsp + 0x88]
movups xmm6, xmmword [rax + 0x18]
movdqu xmm7, xmmword [rax + 0x38]
movups xmm8, xmmword [rax + 0x48]
mov qword [rax + 0x18], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x48], 0
movzx eax, byte [0x141ada129]
mov edx, 0x300
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rcx, rax
and rax, 0xffffffffffffff80
lea r14, [rax + 0x80]
mov qword [rax + 0x78], rcx
mov qword [rax + 0x80], 1
mov qword [rax + 0x88], 1
mov qword [rax + 0x100], 0
mov qword [rax + 0x108], rsi
mov qword [rax + 0x180], 0
mov qword [rax + 0x188], rsi
mov byte [rax + 0x200], 0
movups xmm0, xmmword [rsp + 0x861]
movdqu xmm1, xmmword [rsp + 0x870]
movups xmmword [rax + 0x201], xmm0
movdqu xmmword [rax + 0x210], xmm1
movaps xmmword [rax + 0x220], xmm6
movdqa xmmword [rax + 0x230], xmm7
movaps xmmword [rax + 0x240], xmm8
mov qword [rax + 0x250], 1
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x258], xmm0
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x268], rcx
mov qword [rax + 0x270], 0
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x288], rcx
movdqa xmm0, xmmword [rsp + 0x120]
movdqu xmmword [rax + 0x278], xmm0
mov rcx, qword [rsp + 0x80]
mov rsi, rcx
shl rsi, 5
mov rbx, qword [rsp + 0xa8]
add rsi, rbx
shl r13, 4
add r13, r12
mov qword [rsp + 0xe0], r12
test rcx, rcx
je 0x1400694fe
add rax, 0x250
mov qword [rsp + 0x140], rax
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x1402199d0]
xor eax, eax
mov qword [rsp + 0x78], rax
mov r12, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x70], r14
jmp 0x140068c3e
inc qword [rsp + 0x78]
cmp rbx, rsi
je 0x14006952c
mov rax, rbx
add rbx, 0x20
movzx edi, byte [rax + 0x18]
cmp dil, 2
je 0x1400694fe
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x210], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0x218], dil
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, r13
je 0x1400694e0
lea rcx, [rax + 0x19]
mov r15, qword [r12]
movzx r13d, byte [r12 + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x1f0], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1e0], xmm0
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbb], ecx
mov r14, qword [rsp + 0x88]
mov rdx, qword [r14 + 0x28]
movabs r8, 0x8000000000000000
test rdx, rdx
je 0x140068d13
mov rax, qword [r14 + 0x30]
lea rcx, [rsp + 0x200]
mov r8, qword [rsp + 0x78]
call qword [rax + 0x20]
mov r8, qword [rsp + 0x200]
lea rax, [rsp + 0x219]
movups xmm0, xmmword [rax - 0x11]
movaps xmmword [rsp + 0xc0], xmm0
mov r9, qword [r14]
mov r10, qword [r14 + 8]
mov r14, qword [rsp + 0x70]
lock inc qword [r14]
jle 0x140069e15
add r12, 0x10
mov qword [rsp + 0x188], r8
movaps xmm0, xmmword [rsp + 0xc0]
lea rdx, [rsp + 0x1b0]
movups xmmword [rdx - 0x20], xmm0
mov qword [rsp + 0x178], r9
mov qword [rsp + 0x180], r10
mov rax, qword [rsp + 0x1f0]
mov qword [rdx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x1e0]
movdqu xmmword [rdx], xmm0
mov byte [rsp + 0x1c8], dil
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0xbb]
mov dword [rdx + 0x1c], ecx
mov dword [rdx + 0x19], eax
mov qword [rsp + 0x1a0], r15
mov byte [rsp + 0x1a8], r13b
mov qword [rsp + 0x1d0], r14
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x1d8], rax
test rax, rax
jne 0x140068ec0
mov rax, qword [rsp + 0x88]
cmp byte [rax + 0x58], 0
je 0x140068ec0
mov rdi, r8
xor ecx, ecx
call fcn.140067760
test rax, rax
mov r13, qword [rsp + 0xf8]
je 0x140069e15
cmp qword [rax], 0
lea r15, [rsp + 0x200]
jne 0x140069a59
mov rcx, r15
lea rdx, [rsp + 0x178]
call fcn.140066950
movzx eax, byte [0x141ada129]
mov edx, 0x200
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rdi, rax
and rdi, 0xffffffffffffff80
mov qword [rdi + 0x78], rax
sub rdi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rdi
mov rdx, r15
call sub.msvcrt.dll_memcpy
xor ecx, ecx
call fcn.140067760
test rax, rax
je 0x140069e15
cmp qword [rax], 0
jne 0x140069e15
mov qword [rax], rdi
cmp qword [r14 + 0x208], 0
je 0x140069e15
mov r15, qword [r14 + 0x200]
lea rdi, [r15 + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + 4], cl
jne 0x14006908f
mov byte [r15 + 5], 1
lock inc dword [r15]
mov rcx, r15
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
xor eax, eax
xchg byte [r15 + 4], al
cmp al, 2
jne 0x140068c30
mov rcx, rdi
call fcn.1401f3560
jmp 0x140068c30
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x1a0]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x230], xmm3
movabs rax, 0x8000000000000000
mov r14, rax
mov qword [rsp + 0x150], r8
cmp r8, rax
movabs rdi, 0x8080808080808080
mov r13, qword [rsp + 0x158]
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x118], r9
mov qword [rsp + 0x110], r10
je 0x140068fc3
mov r15, qword [rsp + 0xb0]
test r15, r15
je 0x140068f94
js 0x140069e15
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, r15
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov r13, rax
mov r14, r15
jmp 0x140068f9d
mov r13d, 1
xor r14d, r14d
mov rcx, r13
mov rdx, qword [rsp + 0x108]
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r8, r15
mov r9, qword [rsp + 0x118]
mov r10, qword [rsp + 0x110]
mov r15, r10
test r9, r9
mov qword [rsp + 0x80], r8
jne 0x140068fe3
call fcn.14015c8d0
mov r8, qword [rsp + 0x80]
mov r15, rax
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x148], r15
jne 0x140069010
xor r13d, r13d
jmp 0x140069220
cmp r8, 0x10
jae 0x140069049
test r8, r8
je 0x1400690f4
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r13 + rax], 0
je 0x140069e15
inc rax
cmp r8, rax
jne 0x140069030
jmp 0x1400690f4
lea rax, [r13 + 7]
and rax, 0xfffffffffffffff8
sub rax, r13
jne 0x14006905e
lea rcx, [r8 - 0x10]
xor eax, eax
jmp 0x1400690a0
cmp rax, r8
cmovae rax, r8
xor ecx, ecx
nop word [rax + rax]
cmp byte [r13 + rcx], 0
je 0x140069e15
inc rcx
cmp rax, rcx
jne 0x140069070
lea rcx, [r8 - 0x10]
cmp rax, rcx
jbe 0x1400690a0
jmp 0x1400690ef
mov rcx, rdi
call fcn.14015d680
jmp 0x140068e8d
movdqu xmm0, xmmword [r13 + rax]
movdqa xmm1, xmm0
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, rdi
jne 0x1400690ef
add rax, 0x10
cmp rax, rcx
jbe 0x1400690a0
jmp 0x1400690ef
cmp byte [r13 + rax], 0
je 0x140069e15
inc rax
cmp r8, rax
jne 0x1400690e0
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa0], r8
mov rax, r13
cmp r14, r8
jne 0x14006919b
mov r14, r8
inc r14
je 0x140069e15
test r8, r8
je 0x140069140
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xd0], r8
mov eax, 1
jmp 0x140069142
xor eax, eax
mov rdx, r14
not rdx
shr rdx, 0x3f
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0x120]
mov r8, r14
lea r9, [rsp + 0xc0]
call fcn.140036d00
cmp qword [rsp + 0x120], 0
jne 0x140069e0c
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x90], r14
mov r8, qword [rsp + 0x80]
mov rdi, r8
cmp r8, r14
jne 0x1400691c0
lea rcx, [rsp + 0x90]
call fcn.140036da0
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov byte [rax + rdi], 0
inc rdi
mov qword [rsp + 0xa0], rdi
mov r13, qword [rsp + 0x98]
cmp qword [rsp + 0x90], rdi
jbe 0x140069220
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r13
test rdi, rdi
je 0x140069207
mov r9, rdi
call sub.KERNEL32.dll_HeapReAlloc
mov r13, rax
test rax, rax
jne 0x140069220
jmp 0x140069e15
call fcn.1401cdfe4
mov r13d, 1
nop word cs:[rax + rax]
movzx eax, byte [0x141ada129]
mov edx, 0x30
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov r15, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], rdi
mov rax, qword [0x141ada110]
nop dword [rax]
mov rcx, rax
inc rcx
je 0x140069e15
lock cmpxchg qword [0x141ada110], rcx
jne 0x140069260
mov qword [r15 + 0x10], rcx
mov byte [r15 + 0x28], 0
lock inc qword [r15]
jle 0x140069e15
movzx eax, byte [0x141ada129]
mov edx, 0x30
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0xc0], rax
lock inc qword [rax]
jle 0x140069e15
movzx eax, byte [0x141ada080]
test al, al
je 0x140069330
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x140069e15
mov r13, qword [rax]
mov qword [rax], 0
test r13, r13
je 0x140069330
lock inc qword [r13]
jle 0x140069e15
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x140069dfb
mov rcx, qword [rax]
mov qword [rax], r13
test rcx, rcx
jne 0x140069364
jmp 0x140069390
movzx eax, byte [0x141ada080]
test al, al
je 0x1400693a6
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x140069e15
mov rcx, qword [rax]
mov qword [rax], 0
xor r13d, r13d
test rcx, rcx
je 0x140069390
lock dec qword [rcx]
jne 0x140069390
mov r14, r13
call fcn.14016eb90
mov r13, qword [rsp + 0xc0]
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jne 0x1400693ba
jmp 0x1400693c5
mov r14, r13
mov r13, qword [rsp + 0xc0]
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jne 0x1400693ba
jmp 0x1400693c5
xor r14d, r14d
mov r13, qword [rsp + 0xc0]
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400693c5
lock inc qword [rcx + 0x18]
jle 0x140069dee
movzx eax, byte [0x141ada129]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov qword [rax], r15
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r14
mov rcx, qword [rsp + 0x118]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x38], rcx
movdqa xmm0, xmmword [rsp + 0x200]
movdqa xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movdqu xmmword [rax + 0x40], xmm0
movdqu xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm2
movups xmmword [rax + 0x70], xmm3
mov rcx, qword [rsp + 0x148]
mov rdx, rax
lea r8, [0x141a00b38]
call fcn.140150f60
test rax, rax
jne 0x140069b14
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], rdx
mov rcx, rdx
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r15]
jne 0x1400694af
mov rcx, qword [rsp + 0x160]
call fcn.1401a5be0
mov rax, qword [rsp + 0x168]
lock dec qword [rax]
mov r13, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x70]
jne 0x140068c30
lea rcx, [rsp + 0x168]
call fcn.14006afd0
jmp 0x140068c30
mov rax, qword [rsp + 0x200]
lock dec qword [rax]
jne 0x1400694fb
lea rcx, [rsp + 0x200]
call fcn.140175880
mov r12, r13
sub rsi, rbx
je 0x14006952c
shr rsi, 5
jmp 0x140069519
add rbx, 0x20
dec rsi
je 0x14006952c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x140069510
mov rcx, rbx
call fcn.140175880
jmp 0x140069510
cmp qword [rsp + 0x100], 0
je 0x14006954d
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0xa8]
call fcn.1401cdfe4
sub r13, r12
je 0x14006957d
shr r13, 4
jmp 0x140069569
add r12, 0x10
dec r13
je 0x14006957d
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140069560
mov rcx, r12
call fcn.140175880
jmp 0x140069560
cmp qword [rsp + 0xe8], 0
je 0x14006959e
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0xe0]
call fcn.1401cdfe4
mov rax, qword [rsp + 0xf0]
mov qword [rax + 8], r14
mov qword [rax], 3
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1400695ee
mov rdi, qword [rbx + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400695ee
cmp qword [rdi + 0x10], 0x11
jb 0x1400695dd
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x140069623
mov rdi, qword [rbx + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140069623
cmp qword [rdi + 0x10], 0x11
jb 0x140069612
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x140069658
mov rdi, qword [rbx + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140069658
cmp qword [rdi + 0x10], 0x11
jb 0x140069647
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
mov rsi, qword [rbx + 0x48]
test rsi, rsi
je 0x14006968d
mov rdi, qword [rbx + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14006968d
cmp qword [rdi + 0x10], 0x11
jb 0x14006967c
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
movaps xmm6, xmmword [rbp + 0x800]
movaps xmm7, xmmword [rbp + 0x810]
movaps xmm8, xmmword [rbp + 0x820]
lea rsp, [rbp + 0x838]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rsp + 0x200]
xor edx, edx
mov r8, rsi
call fcn.1401ab280
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
cmp rax, rsi
jb 0x140069dd9
xorps xmm6, xmm6
mov r14, rsi
jmp 0x140069721
mov rbx, qword [rsp + 0x220]
mov rax, rdi
shl rax, 4
mov qword [rbx + rax], rsi
mov byte [rbx + rax + 8], r15b
inc rdi
mov qword [rsp + 0x228], rdi
dec r14
mov r15, qword [rsp + 0x78]
je 0x1400681d4
mov ecx, 0x40
call fcn.14006b150
mov rbx, rax
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
mov r12, rax
test r13b, r13b
je 0x140069790
test r12, r12
je 0x140069e15
mov qword [r12], rbx
mov qword [r12 + 8], 0x40
movzx eax, byte [0x141ada129]
mov edx, 0x200
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rsi, rax
and rsi, 0xffffffffffffff80
sub rsi, 0xffffffffffffff80
xor r15d, r15d
jmp 0x1400697d0
test r12, r12
je 0x140069e15
mov qword [r12], rbx
mov qword [r12 + 8], 0x40
movzx eax, byte [0x141ada129]
mov edx, 0x200
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov rsi, rax
and rsi, 0xffffffffffffff80
sub rsi, 0xffffffffffffff80
mov r15b, 1
mov qword [rsi - 8], rax
mov qword [rsi], 1
mov qword [rsi + 8], 1
mov qword [rsi + 0x80], r12
movaps xmmword [rsi + 0x100], xmm6
lock inc qword [rsi]
jle 0x140069e15
mov rax, qword [rsp + 0x210]
cmp rax, qword [rsp + 0x200]
jne 0x140069822
lea rcx, [rsp + 0x200]
call fcn.140110b80
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x208]
mov rdx, rax
shl rdx, 5
mov qword [rcx + rdx], rsi
mov qword [rcx + rdx + 8], rbx
mov qword [rcx + rdx + 0x10], 0x40
mov byte [rcx + rdx + 0x18], r15b
inc rax
mov qword [rsp + 0x210], rax
mov rdi, qword [rsp + 0x228]
cmp rdi, qword [rsp + 0x218]
jne 0x1400696f0
lea rcx, [rsp + 0x218]
call fcn.14006ba70
mov rdi, qword [rsp + 0x228]
jmp 0x1400696f0
mov qword [rsp + 0xb0], r14
lea rcx, [rsp + 0x200]
xor edx, edx
mov r15, qword [rsp + 0x70]
mov r8, r15
call fcn.1401ab280
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
mov rsi, r15
cmp rax, r15
jae 0x14006990c
lea rcx, [rsp + 0x218]
mov rsi, qword [rsp + 0x70]
mov r8, rsi
call fcn.14006b890
jmp 0x14006990c
mov rcx, qword [rsp + 0x220]
mov rax, r13
shl rax, 4
mov qword [rcx + rax], r12
mov byte [rcx + rax + 8], 0
inc r13
mov qword [rsp + 0x228], r13
dec rsi
je 0x140069a34
mov ecx, 0x40
call fcn.14006b150
mov r15, rax
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov r13, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x141ada129]
mov edx, 0x200
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140069e15
mov r12, rax
and r12, 0xffffffffffffff80
mov qword [r12 + 0x78], rax
mov qword [r12 + 0x80], 1
mov qword [r12 + 0x88], 1
mov qword [r12 + 0x100], r13
pxor xmm0, xmm0
movdqa xmmword [r12 + 0x180], xmm0
lock inc qword [r12 + 0x80]
jle 0x140069e15
mov rax, qword [rsp + 0x210]
cmp rax, qword [rsp + 0x200]
jne 0x1400699cf
lea rcx, [rsp + 0x200]
call fcn.140110b80
mov rax, qword [rsp + 0x210]
sub r12, 0xffffffffffffff80
mov rcx, qword [rsp + 0x208]
mov rdx, rax
shl rdx, 5
mov qword [rcx + rdx], r12
mov qword [rcx + rdx + 8], r15
mov qword [rcx + rdx + 0x10], 0x40
mov byte [rcx + rdx + 0x18], 0
inc rax
mov qword [rsp + 0x210], rax
mov r13, qword [rsp + 0x228]
cmp r13, qword [rsp + 0x218]
jne 0x1400698e0
lea rcx, [rsp + 0x218]
call fcn.14006ba70
mov r13, qword [rsp + 0x228]
jmp 0x1400698e0
mov r12, rcx
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0xe8], rax
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0xb0]
jmp 0x140068265
mov rax, qword [rsp + 0xf0]
mov qword [rax], 1
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x140069a92
test rdi, rdi
je 0x140069a92
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x140069ae4
lea rcx, [rsp + 0x1b0]
call fcn.140175880
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
je 0x140069af2
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
jne 0x140069b0d
mov rcx, qword [rsp + 0x1d0]
call fcn.140187c60
sub rsi, rbx
jne 0x140069b62
jmp 0x140069b8c
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
jne 0x140069abb
lea rcx, [rsp + 0x1a0]
call fcn.140175880
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
je 0x140069ac9
sub rsi, rbx
jne 0x140069b62
jmp 0x140069b8c
lock dec qword [r13]
jne 0x140069b2e
lea rcx, [rsp + 0xc0]
mov rdi, rdx
call fcn.14006afd0
mov rdx, rdi
lock dec qword [r15]
mov r13, qword [rsp + 0xf8]
jne 0x140069b4a
mov rcx, r15
mov rdi, rdx
call fcn.1401a5be0
mov rdx, rdi
mov rax, qword [rsp + 0xf0]
mov qword [rax], 2
mov qword [rax + 8], rdx
sub rsi, rbx
je 0x140069b8c
shr rsi, 5
jmp 0x140069b79
add rbx, 0x20
dec rsi
je 0x140069b8c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x140069b70
mov rcx, rbx
call fcn.140175880
jmp 0x140069b70
cmp qword [rsp + 0x100], 0
je 0x140069bad
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0xa8]
call fcn.1401cdfe4
sub r13, r12
mov rsi, qword [rsp + 0x140]
je 0x140069bdd
shr r13, 4
jmp 0x140069bc9
add r12, 0x10
dec r13
je 0x140069bdd
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140069bc0
mov rcx, r12
call fcn.140175880
jmp 0x140069bc0
cmp qword [rsp + 0xe8], 0
je 0x140069bfe
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0xe0]
call fcn.1401cdfe4
lock dec qword [rsi]
jne 0x140069ce6
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x140069ce6
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rcx + 0x200]
shl rax, 3
lea rbx, [rax + rax*4]
mov r14d, 4
xor r12d, r12d
xor r13d, r13d
jmp 0x140069c54
add r12, 0x28
sub r14, 0xffffffffffffff80
inc r13
cmp rbx, r12
je 0x140069ce6
mov eax, 3
xchg qword [rdi + r12 + 0x10], rax
cmp rax, 2
jne 0x140069c40
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x1e8], r13
jbe 0x140069e15
mov r15, qword [rax + 0x1e0]
lea rsi, [r15 + r14]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + r14], cl
jne 0x140069cd4
cmp byte [r15 + r14 + 1], 0
je 0x140069cbb
lea rcx, [r15 + r14]
add rcx, 0xfffffffffffffffc
mov byte [r15 + r14 + 1], 0
lock inc dword [r15 + r14 - 4]
call fcn.1401f3560
mov rax, qword [rsp + 0x70]
lock dec qword [rax + 0x1f0]
xor eax, eax
xchg byte [rsi], al
cmp al, 2
jne 0x140069c40
mov rcx, rsi
call fcn.1401f3560
jmp 0x140069c40
mov rcx, rsi
call fcn.14015d680
cmp byte [r15 + r14 + 1], 0
jne 0x140069c95
jmp 0x140069cbb
mov rcx, qword [rsp + 0x70]
lock dec qword [rcx]
mov rbx, qword [rsp + 0x88]
jne 0x1400695b9
call fcn.140187c60
jmp 0x1400695b9
cmp byte [r8], 0x2b
jne 0x140069d78
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x140069d81
xor r11d, r11d
mov esi, 0xa
xor r15d, r15d
mov rax, r15
mul rsi
jo 0x1400680e0
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x1400680e0
mov eax, eax
add r15, rax
jb 0x1400680e0
inc r11
cmp r9, r11
jne 0x140069d29
jmp 0x140069db3
lea rcx, [rsp + 0x200]
call fcn.14006ab80
mov rdx, qword [rsp + 0x210]
jmp 0x1400684dd
mov r10, r8
cmp r9, 0x11
jae 0x140069d1e
xor eax, eax
xor r15d, r15d
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x1400680e0
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140069d90
xor edi, edi
test rcx, rcx
jne 0x1400680e5
jmp 0x1400680f3
test rcx, rcx
jne 0x140067fc0
jmp 0x140067fce
mov r15, rdx
jmp 0x140068157
lea rcx, [rsp + 0x218]
mov r8, rsi
call fcn.14006b890
jmp 0x1400696e5
add rcx, 0x10
xor edx, edx
call fcn.14015bdc0
ud2
lock dec qword [r13]
jne 0x140069e15
mov rcx, r13
call fcn.14015bae0
ud2
cmp qword [rsp + 0x128], 0
ud2