Function at 0x180075c60
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, 0x438
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x3a0], xmm8
movaps xmmword [rbp + 0x390], xmm7
movaps xmmword [rbp + 0x380], xmm6
and rsp, 0xffffffffffffff80
mov r15, rdx
mov qword [rsp + 0x88], rcx
mov rsi, qword [rdx + 0x10]
test rsi, rsi
jne 0x180075fd6
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUS
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.180100f00
movzx eax, byte [rsp + 0x198]
cmp al, 2
je 0x180075e96
mov r8, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov r9, qword [rsp + 0x190]
test al, al
jne 0x180075d8e
test r9, r9
je 0x180075d9c
lea rax, [r8 + r9]
mov r10, r8
jmp 0x180075d28
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop word cs:[rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x180075d8e
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x180075d20
cmp r11b, 0xe0
jb 0x180075d09
cmp r11b, 0xed
jne 0x180075d63
cmp rdx, rax
je 0x180075d8e
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x180075d8e
cmp byte [r10 + 1], 0x9f
ja 0x180075e82
add r10, 3
mov rdx, r10
jmp 0x180075d20
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x180075d20
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x180075d20
test r8, r8
je 0x180075e96
test r9, r9
jne 0x180075dc9
xor edi, edi
test rcx, rcx
je 0x180075db2
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test dil, dil
je 0x180075e96
test rsi, rsi
je 0x180075f9d
jmp 0x180075fd6
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x180075de2
cmp eax, 0x2b
jne 0x180075ded
dec r9
je 0x180075d9c
lea r10, [r8 + 1]
jmp 0x180075df0
mov r10, r8
cmp r9, 1
je 0x180075d9c
jmp 0x180075df0
mov r10, r8
cmp r9, 0x11
jae 0x180075e2c
xor eax, eax
xor esi, esi
nop word [rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x180075d9c
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x180075e00
mov dil, 1
test rcx, rcx
je 0x180075db2
jmp 0x180075da3
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop word cs:[rax + rax]
cmp r9, r11
je 0x180075e1f
movzx r14d, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add r14d, 0xffffffd0
cmp r14d, 0xa
cmovb ebx, r14d
jae 0x180075d9c
test dl, dl
jne 0x180075d9c
mov rsi, rax
mov eax, ebx
inc r11
mov ebx, r14d
add rsi, rax
jae 0x180075e40
jmp 0x180075d9c
test rcx, rcx
je 0x180075e96
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x1801db1e1]
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.180100f00
movzx eax, byte [rsp + 0x198]
cmp al, 2
je 0x180075f9d
mov r8, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov r9, qword [rsp + 0x190]
test al, al
jne 0x180075f6e
test r9, r9
je 0x180075f7c
lea rax, [r8 + r9]
mov r10, r8
jmp 0x180075f08
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop dword [rax]
mov r10, rdx
cmp rdx, rax
je 0x180075f6e
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x180075f00
cmp r11b, 0xe0
jb 0x180075ef2
cmp r11b, 0xed
jne 0x180075f43
cmp rdx, rax
je 0x180075f6e
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x180075f6e
cmp byte [r10 + 1], 0x9f
ja 0x1800778f2
add r10, 3
mov rdx, r10
jmp 0x180075f00
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x180075f00
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x180075f00
test r8, r8
je 0x180075f9d
test r9, r9
jne 0x18007776c
xor edi, edi
test rcx, rcx
je 0x180075f92
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
setne al
test dil, al
jne 0x180075fd6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
lea rcx, [rsp + 0x180]
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [rsp + 0x1a0]
test eax, eax
mov esi, 1
cmovne esi, eax
cmp rsi, 0xffff
mov r13d, 0xffff
cmovb r13, rsi
mov qword [rsp + 0x68], r15
movzx r12d, byte [r15 + 0x59]
xorps xmm6, xmm6
movups xmmword [rsp + 0x188], xmm6
movups xmmword [rsp + 0x1a0], xmm6
mov qword [rsp + 0x180], 8
mov qword [rsp + 0x198], 8
lea rcx, [rsp + 0x180]
mov rdx, r13
call fcn.1801823f0
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
cmp rax, r13
jae 0x180076054
lea rcx, [rsp + 0x198]
mov r8, r13
call fcn.1801824b0
mov r15, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x50], r13
jmp 0x18007609c
mov rsi, qword [rsp + 0x198]
mov rax, rdi
shl rax, 4
mov qword [rsi + rax], rbx
mov byte [rsi + rax + 8], r14b
inc rdi
mov qword [rsp + 0x1a8], rdi
dec r13
je 0x180076369
mov rax, qword [0x180219958]
test r12b, r12b
je 0x1800761b0
test rax, rax
jne 0x1800760c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077920
mov qword [0x180219958], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077920
mov rsi, rax
mov rax, qword [0x180219958]
test rax, rax
jne 0x180076103
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077931
mov qword [0x180219958], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077931
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], 0x40
mov rax, qword [0x180219958]
test rax, rax
jne 0x18007614a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18007790f
mov qword [0x180219958], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18007790f
mov rcx, rax
and rcx, 0xffffffffffffff80
lea rbx, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], rdi
movaps xmmword [rcx + 0x180], xmm6
xor r14d, r14d
lock inc qword [rbx]
jg 0x1800762a8
jmp 0x180077512
test rax, rax
jne 0x1800761cb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077920
mov qword [0x180219958], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077920
mov rsi, rax
mov rax, qword [0x180219958]
test rax, rax
jne 0x180076207
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077931
mov qword [0x180219958], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077931
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], 0x40
mov rax, qword [0x180219958]
test rax, rax
jne 0x18007624e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18007790f
mov qword [0x180219958], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18007790f
mov rcx, rax
and rcx, 0xffffffffffffff80
lea rbx, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], rdi
movaps xmmword [rcx + 0x180], xmm6
mov r14b, 1
lock inc qword [rbx]
jle 0x180077512
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x113]
mov dword [rsp + 0xab], ecx
mov dword [rsp + 0xa8], eax
mov rdx, qword [rsp + 0x190]
cmp rdx, qword [rsp + 0x188]
jne 0x1800762eb
lea rcx, [rsp + 0x180]
call fcn.18006f200
mov rdx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x180]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], rsi
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], r14b
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xab]
mov dword [rax + rcx + 0x19], r8d
mov dword [rax + rcx + 0x1c], r9d
inc rdx
mov qword [rsp + 0x190], rdx
mov rdi, qword [rsp + 0x1a8]
cmp rdi, qword [rsp + 0x1a0]
jne 0x180076070
lea rcx, [rsp + 0x198]
mov rdx, rdi
call fcn.180072cc0
mov rdi, qword [rsp + 0x1a8]
jmp 0x180076070
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x180], 8
mov qword [rsp + 0x198], 8
lea rcx, [rsp + 0x180]
mov rbx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.1801823f0
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
mov r14, rbx
cmp rax, rbx
jae 0x18007644e
lea rcx, [rsp + 0x198]
mov r14, qword [rsp + 0x50]
mov r8, r14
call fcn.1801824b0
jmp 0x18007644e
mov r13, qword [rsp + 0x198]
mov rax, rbx
shl rax, 4
mov qword [r13 + rax], r12
mov byte [r13 + rax + 8], 0
inc rbx
mov qword [rsp + 0x1a8], rbx
dec r14
je 0x18007661f
mov rax, qword [0x180219958]
test rax, rax
jne 0x180076470
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077920
mov qword [0x180219958], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180077920
mov rbx, rax
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800764af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077931
mov qword [0x180219958], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180077931
mov r13, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x40
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800764f9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18007790f
mov qword [0x180219958], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18007790f
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
xorps xmm0, xmm0
movaps xmmword [r12 + 0x180], xmm0
lock inc qword [r12 + 0x80]
jle 0x180077512
sub r12, 0xffffffffffffff80
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x113]
mov dword [rsp + 0xab], ecx
mov dword [rsp + 0xa8], eax
mov rdx, qword [rsp + 0x190]
cmp rdx, qword [rsp + 0x188]
jne 0x1800765a1
lea rcx, [rsp + 0x180]
call fcn.18006f200
mov rdx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x180]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r12
mov qword [rax + rcx + 8], rbx
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xab]
mov dword [rax + rcx + 0x19], r8d
mov dword [rax + rcx + 0x1c], r9d
inc rdx
mov qword [rsp + 0x190], rdx
mov rbx, qword [rsp + 0x1a8]
cmp rbx, qword [rsp + 0x1a0]
jne 0x180076420
lea rcx, [rsp + 0x198]
mov rdx, rbx
call fcn.180072cc0
mov rbx, qword [rsp + 0x1a8]
jmp 0x180076420
mov r14, qword [rsp + 0x1a0]
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x370], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x380], rax
test rdi, rdi
mov qword [rsp + 0x70], r14
je 0x180077516
movabs rax, 0x1c71c71c71c71c8
xor r12d, r12d
cmp rdi, rax
setb al
jae 0x180077512
lea rcx, [rdi*8]
mov r12b, al
shl r12, 3
lea r8, [rcx + rcx*8]
test r8, r8
je 0x180077534
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800766b5
mov r14, r8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077543
mov rcx, rax
mov qword [0x180219958], rax
mov r8, r14
xor edx, edx
mov r14, r8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180077543
mov r11, rdi
shl r11, 4
add r11, rsi
xor r12d, r12d
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
mov rcx, rax
mov rdx, rsi
nop word cs:[rax + rax]
mov r8, qword [rdx]
movzx r9d, byte [rdx + 8]
movups xmmword [rsp + 0x186], xmm0
mov word [rsp + 0x196], 0
movups xmmword [rsp + 0x116], xmm0
mov qword [rcx], 0
mov word [rcx + 8], 0
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [rcx + 0xa], xmm1
mov r10, qword [rsp + 0x190]
mov qword [rcx + 0x1a], r10
movups xmm1, xmmword [rsp + 0x110]
movups xmmword [rcx + 0x22], xmm1
mov r10, qword [rsp + 0x11e]
mov qword [rcx + 0x30], r10
mov qword [rcx + 0x38], r8
mov byte [rcx + 0x40], r9b
inc r12
add rcx, 0x48
add rdx, 0x10
cmp rdx, r11
jne 0x1800766f0
cmp qword [rsp + 0x48], 0
je 0x180076781
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x50]
shl rsi, 7
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800767af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077984
mov rcx, rax
mov qword [0x180219958], rax
lea r8, [rsi + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180077984
mov r14, rax
and r14, 0xffffffffffffff80
mov qword [r14 + 0x78], rax
sub r14, 0xffffffffffffff80
mov r8, qword [rsp + 0x50]
cmp r8, 1
jne 0x1800767e5
xor ecx, ecx
jmp 0x180076846
mov ecx, eax
and ecx, 0x7f
mov edx, r8d
and edx, 0xfffe
sub rax, rcx
add rax, 0x110
xor ecx, ecx
nop
mov qword [rax - 0x90], 0
mov word [rax - 0x88], 0
mov qword [rax - 0x80], 0
add rcx, 2
mov qword [rax - 0x10], 0
mov word [rax - 8], 0
mov qword [rax], 0
add rax, 0x100
cmp rdx, rcx
jne 0x180076800
test r8b, 1
je 0x180076863
shl rcx, 7
mov qword [r14 + rcx], 0
mov word [r14 + rcx + 8], 0
mov qword [r14 + rcx + 0x10], 0
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x180076888
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077993
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x5f0
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180077993
mov rsi, rax
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call fcn.180171550
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x127], rax
movaps xmm0, xmmword [rsp + 0x370]
movups xmmword [rsp + 0x117], xmm0
mov rax, qword [rsp + 0x68]
movups xmm6, xmmword [rax + 0x18]
movups xmm7, xmmword [rax + 0x38]
movups xmm8, xmmword [rax + 0x48]
mov qword [rax + 0x18], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x48], 0
movups xmm0, xmmword [rsp + 0x110]
mov rax, qword [rsp + 0x11f]
mov qword [rsp + 0x18f], rax
mov rax, qword [rsp + 0x127]
mov qword [rsp + 0x197], rax
movaps xmmword [rsp + 0x180], xmm0
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x180076951
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800779a4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x300
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800779a4
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], 0
mov qword [rax + 0x108], rsi
mov qword [rax + 0x180], 0
mov qword [rax + 0x188], rsi
movaps xmmword [rax + 0x200], xmm6
movaps xmmword [rax + 0x210], xmm7
movaps xmmword [rax + 0x220], xmm8
mov qword [rax + 0x230], 0
mov byte [rax + 0x238], 0
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rax + 0x239], xmm0
movups xmm0, xmmword [rsp + 0x18f]
movups xmmword [rax + 0x248], xmm0
mov qword [rax + 0x258], 1
mov qword [rax + 0x260], r14
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x268], rcx
mov qword [rax + 0x270], rcx
mov qword [rax + 0x278], 0
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x280], rcx
mov qword [rax + 0x288], rdi
mov qword [rax + 0x290], r12
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x3a0], rdx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x3a8], rcx
mov r8, qword [rsp + 0x80]
mov rcx, r8
shl rcx, 5
add rcx, rdx
mov qword [rsp + 0x3b0], rdx
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x3b8], rcx
mov qword [rsp + 0x3c0], r13
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x3c8], rcx
mov rcx, rax
add rax, 0x80
mov qword [rsp + 0x48], rax
shl rbx, 4
add rbx, r13
mov qword [rsp + 0x3d0], r13
mov qword [rsp + 0x3d8], rbx
xorps xmm6, xmm6
movups xmmword [rsp + 0x3e0], xmm6
movups xmmword [rsp + 0x3f0], xmm6
test r8, r8
mov r12, qword [rsp + 0x68]
je 0x18007756b
lea rax, [rcx + 0x258]
mov qword [rsp + 0x90], rax
add rcx, 0x260
mov qword [rsp + 0x348], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x180076b30
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x50], rdi
mov rdx, rax
cmp rax, qword [rsp + 0x358]
je 0x18007756b
lea r9, [rdx + 0x20]
mov qword [rsp + 0x3b0], r9
movzx eax, byte [rdx + 0x18]
cmp al, 2
je 0x18007756b
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x190], rcx
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x180], xmm0
mov ecx, dword [rdx + 0x19]
mov edx, dword [rdx + 0x1c]
lea r8, [rsp + 0x199]
mov dword [r8 + 3], edx
mov dword [r8], ecx
mov byte [rsp + 0x198], al
cmp r13, rbx
je 0x180077550
mov qword [rsp + 0x70], r9
lea rax, [r13 + 0x10]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x3d0], rax
mov rsi, qword [r13]
movzx r14d, byte [r13 + 8]
movaps xmm0, xmmword [rsp + 0x180]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x330], rax
movzx eax, byte [rsp + 0x198]
mov byte [rsp + 0x338], al
mov eax, dword [rsp + 0x199]
mov dword [rsp + 0x339], eax
movzx eax, word [rsp + 0x19d]
mov word [rsp + 0x33d], ax
movzx eax, byte [rsp + 0x19f]
mov byte [rsp + 0x33f], al
movaps xmmword [rsp + 0x320], xmm0
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x3f8], rax
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x180076c40
mov rax, qword [r12 + 0x30]
lea rcx, [rsp + 0x180]
mov r8, qword [rsp + 0x50]
call qword [rax + 0x20]
jmp 0x180076c4c
mov qword [rsp + 0x180], 0
mov r9, qword [rsp + 0x98]
mov rdx, qword [r12]
mov r10, qword [r12 + 8]
mov rax, qword [rsp + 0x48]
lock inc qword [rax]
jle 0x180077512
mov rax, qword [rsp + 0x190]
lea rcx, [rsp + 0xf0]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rcx], xmm0
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], r10
movaps xmm0, xmmword [rsp + 0x320]
movaps xmm1, xmmword [rsp + 0x330]
lea rax, [rsp + 0xc8]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov qword [rsp + 0xb8], rsi
mov byte [rsp + 0xc0], r14b
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x108], rax
test rax, rax
je 0x180076dd0
lea rcx, [rsp + 0xb8]
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x140], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
mov r13, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x100]
test r13, r13
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x360], rax
je 0x180076fd0
test r8, r8
movabs r14, 0xfefefefefefefeff
movabs r12, 0x8080808080808080
je 0x180076feb
js 0x180077512
mov rax, qword [0x180219958]
test rax, rax
jne 0x180076da9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077973
mov qword [0x180219958], rax
mov r8, qword [rsp + 0x58]
mov rcx, rax
xor edx, edx
call r15
mov rsi, rax
test rax, rax
jne 0x180076ff0
jmp 0x180077973
cmp byte [r12 + 0x58], 0
je 0x180076ced
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x50], 0
jne 0x180077794
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x170], rax
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0xa8]
movups xmm1, xmmword [rsp + 0xb8]
movups xmm2, xmmword [rsp + 0xc8]
movups xmm3, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x140], xmm3
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x110]
call fcn.180074d50
mov rax, qword [0x180219958]
test rax, rax
jne 0x180076ea4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18007790f
mov qword [0x180219958], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18007790f
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
lea rdx, [rsp + 0x180]
call fcn.180170ea0
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x50], 0
jne 0x180077512
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x50], rsi
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x210], 0
je 0x180077512
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x200]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180219990]
movabs rcx, 0x8000000000000001
lea r14, [rcx - 2]
test rax, r14
jne 0x18007748c
xor edi, edi
movzx eax, byte [rsi + 8]
test al, al
jne 0x180077512
mov byte [rsi + 9], 1
lea rcx, [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
test dil, dil
jne 0x180076f92
mov rax, qword [0x180219990]
test rax, r14
jne 0x1800774a5
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x50], rdi
mov rdx, rax
cmp rax, qword [rsp + 0x358]
jne 0x180076b30
jmp 0x18007756b
mov rdi, r13
xor esi, esi
movabs r14, 0xfefefefefefefeff
movabs r12, 0x8080808080808080
jmp 0x18007701e
mov esi, 1
mov rcx, rsi
mov rdi, r13
mov rdx, r13
mov r13, qword [rsp + 0x58]
mov r8, r13
call fcn.180170ea0
mov qword [rsp + 0x350], r13
mov r9, r13
mov rdx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x78]
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x1b0], rax
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmm2, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x180], xmm0
test rdx, rdx
mov r13, qword [rsp + 0x368]
cmovne r13, r10
mov qword [rsp + 0x368], r13
je 0x180077100
test rsi, rsi
mov qword [rsp + 0x98], r9
je 0x18007711f
cmp r9, 0xf
ja 0x180077240
test r9, r9
je 0x1800770b2
xor eax, eax
nop dword [rax]
cmp byte [rsi + rax], 0
je 0x180077512
inc rax
cmp r9, rax
jne 0x1800770a0
mov qword [rsp + 0x388], rsi
mov rax, qword [rsp + 0x350]
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], r9
lea rcx, [rsp + 0x388]
call fcn.18001da30
mov r12, rax
mov rsi, rdx
mov rax, qword [0x180219958]
test rax, rax
jne 0x180077144
jmp 0x18007712e
mov r13, r9
call fcn.180104140
mov r9, r13
mov r13, rax
test rsi, rsi
mov qword [rsp + 0x98], r9
jne 0x18007708c
xor r12d, r12d
mov rax, qword [0x180219958]
test rax, rax
jne 0x180077144
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077942
mov qword [0x180219958], rax
mov r8d, 0x30
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077942
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], rsi
mov rax, qword [0x180219950]
nop dword [rax]
mov rcx, rax
inc rcx
je 0x180077512
lock cmpxchg qword [0x180219950], rcx
jne 0x180077180
mov qword [r14 + 0x10], rcx
mov byte [r14 + 0x28], 0
lock inc qword [r14]
jle 0x180077512
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800771cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077942
mov qword [0x180219958], rax
mov r8d, 0x30
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077942
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
lock inc qword [rax]
jle 0x180077512
movzx eax, byte [0x1802198f8]
test al, al
je 0x1800772e0
mov byte [0x1802198f8], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x18007728b
lea rax, [rax + 0x98]
jmp 0x180077299
lea rax, [rsi + 7]
and rax, 0xfffffffffffffff8
sub rax, rsi
je 0x18007731d
cmp rax, r9
cmovae rax, r9
test rax, rax
je 0x18007731d
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rsi + rcx], 0
je 0x180077512
inc rcx
cmp rax, rcx
jne 0x180077270
lea rcx, [r9 - 0x10]
jmp 0x1800774ef
call fcn.180103aa0
test rax, rax
je 0x180077512
mov r12, qword [rax]
mov qword [rax], 0
test r12, r12
je 0x1800772e0
lock inc qword [r12]
jle 0x180077512
mov byte [0x1802198f8], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x180077328
lea rax, [rax + 0x98]
jmp 0x180077336
movzx eax, byte [0x1802198f8]
test al, al
je 0x180077318
mov byte [0x1802198f8], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x180077343
lea rax, [rax + 0x98]
jmp 0x180077351
xor r12d, r12d
jmp 0x18007736e
lea rcx, [r9 - 0x10]
xor eax, eax
jmp 0x1800774c0
call fcn.180103aa0
test rax, rax
je 0x1800779b5
mov rcx, qword [rax]
mov qword [rax], r12
test rcx, rcx
jne 0x180077363
jmp 0x18007736e
call fcn.180103aa0
test rax, rax
je 0x180077512
mov rcx, qword [rax]
mov qword [rax], 0
xor r12d, r12d
test rcx, rcx
je 0x18007736e
lock dec qword [rcx]
jne 0x18007736e
call fcn.180103b70
mov rax, rsi
add rax, 0x10
mov rcx, qword [rax]
test rcx, rcx
je 0x180077388
lock inc qword [rcx + 0x18]
jle 0x180077964
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800773aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x180077953
mov qword [0x180219958], rax
mov r8d, 0x80
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x180077953
mov qword [rax], r14
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x20], rcx
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movups xmmword [rax + 0x28], xmm0
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x48], xmm2
mov rcx, qword [rsp + 0x1b0]
mov qword [rax + 0x58], rcx
mov qword [rax + 0x60], rdi
mov rcx, qword [rsp + 0x360]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x70], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x78], rcx
mov rcx, r13
mov rdx, rax
lea r8, [0x1801db1b0]
call fcn.180104340
mov rdi, rdx
test rax, rax
jne 0x18007769a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lock dec qword [r14]
mov r12, qword [rsp + 0x68]
jne 0x18007746d
mov rcx, r14
call fcn.180074fe0
lock dec qword [rsi]
mov rdi, qword [rsp + 0xa0]
jne 0x180076b10
mov rcx, rsi
call fcn.180112100
jmp 0x180076b10
call fcn.180185070
mov edi, eax
xor dil, 1
movzx eax, byte [rsi + 8]
test al, al
je 0x180076f6f
jmp 0x180077512
call fcn.180185070
test al, al
jne 0x180076f92
mov byte [rsi + 8], 1
jmp 0x180076f92
mov rdx, qword [rsi + rax]
mov r8, rdx
not r8
add rdx, r14
and r8, r12
test r8, rdx
jne 0x180077503
mov rdx, qword [rsi + rax + 8]
mov r8, rdx
not r8
add rdx, r14
and r8, r12
test r8, rdx
jne 0x180077503
add rax, 0x10
cmp rax, rcx
jbe 0x1800774c0
jmp 0x180077503
inc rax
cmp r9, rax
je 0x1800770b2
cmp byte [rsi + rax], 0
jne 0x180077500
ud2
mov eax, 8
mov qword [rsp + 0x60], rax
xor r12d, r12d
cmp qword [rsp + 0x48], 0
jne 0x18007676f
jmp 0x180076781
mov r14, r8
mov rax, r12
test rax, rax
jne 0x1800766c9
mov rcx, r12
mov rdx, r14
call fcn.18017ea70
ud2
mov rax, qword [rsp + 0x180]
lock dec qword [rax]
jne 0x18007756b
lea rcx, [rsp + 0x180]
call fcn.18010b190
lea rcx, [rsp + 0x3a0]
call fcn.1800779d0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
mov qword [rax + 8], rcx
mov qword [rax], 3
mov rsi, qword [r12 + 0x18]
test rsi, rsi
je 0x1800775c8
mov rdi, qword [r12 + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800775c8
cmp qword [rdi + 0x10], 0x11
jb 0x1800775b6
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x180077600
mov rdi, qword [r12 + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180077600
cmp qword [rdi + 0x10], 0x11
jb 0x1800775ee
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r12 + 0x38]
test rsi, rsi
je 0x180077638
mov rdi, qword [r12 + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180077638
cmp qword [rdi + 0x10], 0x11
jb 0x180077626
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [r12 + 0x48]
test rsi, rsi
je 0x180077670
mov rdi, qword [r12 + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180077670
cmp qword [rdi + 0x10], 0x11
jb 0x18007765e
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rbp + 0x380]
movaps xmm7, xmmword [rbp + 0x390]
movaps xmm8, xmmword [rbp + 0x3a0]
lea rsp, [rbp + 0x3b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lock dec qword [rsi]
mov r12, qword [rsp + 0x68]
jne 0x1800776ad
mov rcx, rsi
call fcn.180112100
lock dec qword [r14]
mov rsi, qword [rsp + 0x90]
jne 0x1800776c3
mov rcx, r14
call fcn.180074fe0
mov rax, qword [rsp + 0x88]
mov qword [rax], 2
mov qword [rax + 8], rdi
lea rcx, [rsp + 0x3a0]
call fcn.1800779d0
lock dec qword [rsi]
jne 0x18007774e
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x210]
test rax, rax
je 0x18007774e
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rcx + 0x200]
shl rax, 3
lea rbx, [rax + rax*8]
xor r14d, r14d
xor esi, esi
jmp 0x18007772c
add r14, 0x48
inc rsi
cmp rbx, r14
je 0x18007774e
mov eax, 3
xchg qword [rdi + r14 + 0x30], rax
cmp rax, 2
jne 0x180077720
mov rcx, qword [rsp + 0x348]
mov rdx, rsi
call fcn.180074b70
jmp 0x180077720
mov rax, qword [rsp + 0x48]
lock dec qword [rax]
jne 0x180077590
mov rcx, qword [rsp + 0x48]
call fcn.18010af30
jmp 0x180077590
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x180077846
cmp eax, 0x2b
jne 0x180077855
dec r9
je 0x180075f7c
lea r10, [r8 + 1]
jmp 0x180077858
mov rax, qword [rsp + 0x88]
mov qword [rax], 1
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x1800777ca
cmp qword [rsp + 0xf8], 0
je 0x1800777ca
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0xc8]
lock dec qword [rax]
mov rsi, qword [rsp + 0x90]
jne 0x18007780f
lea rcx, [rsp + 0xc8]
call fcn.18010b190
mov rax, qword [rsp + 0xb8]
lock dec qword [rax]
je 0x18007781d
mov rcx, qword [rsp + 0xe8]
lock dec qword [rcx]
jne 0x1800776d6
jmp 0x18007783c
mov rax, qword [rsp + 0xb8]
lock dec qword [rax]
jne 0x1800777fb
lea rcx, [rsp + 0xb8]
call fcn.18010b190
mov rcx, qword [rsp + 0xe8]
lock dec qword [rcx]
jne 0x1800776d6
call fcn.18010af30
jmp 0x1800776d6
mov r10, r8
cmp r9, 1
je 0x180075f7c
jmp 0x180077858
mov r10, r8
cmp r9, 0x11
jae 0x1800778a4
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x180075f7c
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x180077870
mov dil, 1
test rcx, rcx
je 0x180075f92
jmp 0x180075f83
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop
cmp r9, r11
je 0x180077893
movzx r14d, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add r14d, 0xffffffd0
cmp r14d, 0xa
cmovb ebx, r14d
jae 0x180075f7c
test dl, dl
jne 0x180075f7c
mov rsi, rax
mov eax, ebx
inc r11
mov ebx, r14d
add rsi, rax
jae 0x1800778b0
jmp 0x180075f7c
test rcx, rcx
je 0x180075f9d
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180075f9d
mov ecx, 0x80
mov edx, 0x180
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x400
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x10
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x30
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x80
call fcn.18017ea70
ud2
add rcx, 0x10
xor edx, edx
call fcn.180100620
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x58]
call fcn.18017ea70
ud2
mov ecx, 0x80
mov rdx, rsi
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x5f0
call fcn.18017ea70
ud2
mov ecx, 0x80
mov edx, 0x280
call fcn.18017ea70
ud2
lock dec qword [r12]
jne 0x180077512
mov rcx, r12
call fcn.180103b70
ud2