Function at 0x180069b00
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
movdqa xmmword [rbp + 0x390], xmm7
movaps xmmword [rbp + 0x380], xmm6
and rsp, 0xffffffffffffff80
mov r15, rdx
mov qword [rsp + 0x90], rcx
mov rsi, qword [rdx + 0x10]
test rsi, rsi
jne 0x180069e88
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUS
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.1800f6150
movzx eax, byte [rsp + 0x198]
cmp al, 2
je 0x180069d3c
mov r8, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov r9, qword [rsp + 0x190]
test al, al
jne 0x180069c2c
test r9, r9
je 0x180069c3a
lea rdx, [r8 + r9]
mov r11, r8
jmp 0x180069bc8
add r11, 2
cmp r10, rdx
cmovne r10, r11
nop word cs:[rax + rax]
mov r11, r10
cmp r10, rdx
je 0x180069c2c
lea r10, [r11 + 1]
movzx ebx, byte [r11]
test bl, bl
jns 0x180069bc0
cmp bl, 0xe0
jb 0x180069baa
cmp bl, 0xed
jne 0x180069c00
cmp r10, rdx
je 0x180069c2c
lea r10, [r11 + 2]
cmp r10, rdx
je 0x180069c2c
cmp byte [r11 + 1], 0x9f
ja 0x180069d24
add r11, 3
mov r10, r11
jmp 0x180069bc0
add r11, 2
cmp r10, rdx
cmove r11, r10
xor r10d, r10d
cmp r11, rdx
setne r10b
add r10, r11
cmp bl, 0xf0
jb 0x180069bc0
xor r11d, r11d
cmp r10, rdx
setne r11b
add r10, r11
jmp 0x180069bc0
test r8, r8
je 0x180069d3c
test r9, r9
jne 0x180069c67
xor edi, edi
test rcx, rcx
je 0x180069c50
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test dil, dil
je 0x180069d3c
test rsi, rsi
je 0x180069e4b
jmp 0x180069e88
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x180069c80
cmp eax, 0x2b
jne 0x180069c8b
dec r9
je 0x180069c3a
lea r10, [r8 + 1]
jmp 0x180069c8e
mov r10, r8
cmp r9, 1
je 0x180069c3a
jmp 0x180069c8e
mov r10, r8
cmp r9, 0x10
jbe 0x180069ce2
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop
cmp r9, r11
je 0x180069d13
movzx r14d, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add r14d, 0xffffffd0
cmp r14d, 0xa
cmovb ebx, r14d
jae 0x180069c3a
test dl, dl
jne 0x180069c3a
mov rsi, rax
mov eax, ebx
inc r11
mov ebx, r14d
add rsi, rax
jae 0x180069ca0
jmp 0x180069c3a
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x180069c3a
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x180069cf0
mov dil, 1
test rcx, rcx
jne 0x180069c41
jmp 0x180069c50
cmp al, 2
je 0x180069d3c
test rcx, rcx
je 0x180069d3c
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rdx, [0x1801be511]
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.1800f6150
movzx eax, byte [rsp + 0x198]
cmp al, 2
je 0x180069e4b
mov r8, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov r9, qword [rsp + 0x190]
test al, al
jne 0x180069e1c
test r9, r9
je 0x180069e2a
lea rdx, [r8 + r9]
mov r11, r8
jmp 0x180069db8
add r11, 2
cmp r10, rdx
cmovne r10, r11
nop word cs:[rax + rax]
mov r11, r10
cmp r10, rdx
je 0x180069e1c
lea r10, [r11 + 1]
movzx ebx, byte [r11]
test bl, bl
jns 0x180069db0
cmp bl, 0xe0
jb 0x180069d98
cmp bl, 0xed
jne 0x180069df0
cmp r10, rdx
je 0x180069e1c
lea r10, [r11 + 2]
cmp r10, rdx
je 0x180069e1c
cmp byte [r11 + 1], 0x9f
ja 0x18006b7f4
add r11, 3
mov r10, r11
jmp 0x180069db0
add r11, 2
cmp r10, rdx
cmove r11, r10
xor r10d, r10d
cmp r11, rdx
setne r10b
add r10, r11
cmp bl, 0xf0
jb 0x180069db0
xor r11d, r11d
cmp r10, rdx
setne r11b
add r10, r11
jmp 0x180069db0
test r8, r8
je 0x180069e4b
test r9, r9
jne 0x18006b667
xor edi, edi
test rcx, rcx
je 0x180069e40
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
setne al
test dil, al
jne 0x180069e88
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1a0], xmm0
movdqa xmmword [rsp + 0x190], xmm0
movdqa 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 + 0x98], 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.18016a770
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
cmp rax, r13
jae 0x180069f09
lea rcx, [rsp + 0x198]
mov r8, r13
call fcn.18016a830
mov r15, qword [sym.imp.kernel32.dll_HeapAlloc]
mov qword [rsp + 0x58], r13
jmp 0x180069f4c
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 0x18006a237
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test r12b, r12b
je 0x18006a070
test rax, rax
jne 0x180069f7e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b82a
mov qword [0x1801fb9b8], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b82a
mov rsi, rax
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180069fc1
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b83b
mov qword [0x1801fb9b8], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b83b
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], 0x40
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a00f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b819
mov qword [0x1801fb9b8], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b819
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 0x18006a176
jmp 0x18006b413
test rax, rax
jne 0x18006a08b
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b82a
mov qword [0x1801fb9b8], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b82a
mov rsi, rax
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a0ce
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b83b
mov qword [0x1801fb9b8], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b83b
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], 0x40
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a11c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b819
mov qword [0x1801fb9b8], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b819
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 0x18006b413
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 0x18006a1b9
lea rcx, [rsp + 0x180]
call fcn.180062eb0
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 0x180069f20
lea rcx, [rsp + 0x198]
mov rdx, rdi
call fcn.1800592c0
mov rdi, qword [rsp + 0x1a8]
jmp 0x180069f20
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x80], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x188], xmm0
movdqu xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x180], 8
mov qword [rsp + 0x198], 8
lea rcx, [rsp + 0x180]
mov rbx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.18016a770
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
mov r14, rbx
cmp rax, rbx
jae 0x18006a31e
lea rcx, [rsp + 0x198]
mov r14, qword [rsp + 0x58]
mov r8, r14
call fcn.18016a830
jmp 0x18006a31e
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 0x18006a506
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a347
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b82a
mov qword [0x1801fb9b8], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b82a
mov rbx, rax
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a38d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b83b
mov qword [0x1801fb9b8], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b83b
mov r13, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x40
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006a3de
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b819
mov qword [0x1801fb9b8], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b819
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 0x18006b413
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 0x18006a488
lea rcx, [rsp + 0x180]
call fcn.180062eb0
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 0x18006a2f0
lea rcx, [rsp + 0x198]
mov rdx, rbx
call fcn.1800592c0
mov rbx, qword [rsp + 0x1a8]
jmp 0x18006a2f0
mov r14, qword [rsp + 0x1a0]
movdqu xmm0, xmmword [rsp + 0x180]
movdqa xmmword [rsp + 0x350], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x360], rax
test rdi, rdi
mov qword [rsp + 0x60], r14
je 0x18006b417
movabs rax, 0x1c71c71c71c71c8
xor r12d, r12d
cmp rdi, rax
setb al
jae 0x18006b413
lea rcx, [rdi*8]
mov r12b, al
shl r12, 3
lea rax, [rcx + rcx*8]
mov r14, rax
test rax, rax
je 0x18006b438
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x18006a5a2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b444
mov rcx, rax
mov qword [0x1801fb9b8], rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b444
mov r11, rdi
shl r11, 4
add r11, rsi
xor r12d, r12d
pxor xmm0, xmm0
mov qword [rsp + 0x50], rax
mov rcx, rax
mov rdx, rsi
nop word cs:[rax + rax]
mov r8, qword [rdx]
movzx r9d, byte [rdx + 8]
movdqu xmmword [rsp + 0x186], xmm0
mov word [rsp + 0x196], 0
movdqu 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
movdqu xmm1, xmmword [rsp + 0x110]
movdqu 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 0x18006a5e0
cmp qword [rsp + 0x80], 0
je 0x18006a678
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x58]
shl rsi, 7
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x18006a6ad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b88c
mov rcx, rax
mov qword [0x1801fb9b8], rax
lea r8, [rsi + 0x80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b88c
mov r14, rax
and r14, 0xffffffffffffff80
mov qword [r14 + 0x78], rax
sub r14, 0xffffffffffffff80
mov r8, qword [rsp + 0x58]
cmp r8, 1
jne 0x18006a6e3
xor ecx, ecx
jmp 0x18006a746
mov ecx, eax
and ecx, 0x7f
mov edx, r8d
and edx, 0xfffe
sub rax, rcx
add rax, 0x110
xor ecx, ecx
nop dword [rax]
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 0x18006a700
test r8b, 1
je 0x18006a763
shl rcx, 7
mov qword [r14 + rcx], 0
mov word [r14 + rcx + 8], 0
mov qword [r14 + rcx + 0x10], 0
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x18006a78f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b89b
mov rcx, rax
mov qword [0x1801fb9b8], rax
mov r8d, 0x5f0
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b89b
mov rsi, rax
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call fcn.1801654b0
mov rax, qword [rsp + 0x360]
mov qword [rsp + 0x127], rax
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rsp + 0x117], xmm0
mov rax, qword [rsp + 0x98]
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
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
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x18006a863
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b8ac
mov rcx, rax
mov qword [0x1801fb9b8], rax
mov r8d, 0x300
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006b8ac
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
movdqa 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
movdqu xmm0, xmmword [rsp + 0x18f]
movdqu xmmword [rax + 0x248], xmm0
mov qword [rax + 0x258], 1
mov qword [rax + 0x260], r14
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x268], rcx
mov qword [rax + 0x270], rcx
mov qword [rax + 0x278], 0
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x280], rcx
mov qword [rax + 0x288], rdi
mov qword [rax + 0x290], r12
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x3a0], r9
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x3a8], rcx
mov rdx, qword [rsp + 0x70]
mov rcx, rdx
shl rcx, 5
add rcx, r9
mov qword [rsp + 0x3b0], r9
mov qword [rsp + 0x320], rcx
mov qword [rsp + 0x3b8], rcx
mov qword [rsp + 0x3c0], r13
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x3c8], rcx
mov rcx, rax
add rax, 0x80
mov qword [rsp + 0x50], 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 rdx, rdx
je 0x18006b46c
lea rax, [rcx + 0x258]
mov qword [rsp + 0xa0], rax
add rcx, 0x260
mov qword [rsp + 0x310], rcx
xor edi, edi
movdqa xmm7, xmmword [0x1801727b0]
jmp 0x18006aa3b
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
mov r9, rax
cmp rax, qword [rsp + 0x320]
je 0x18006b46c
lea r8, [r9 + 0x20]
mov qword [rsp + 0x3b0], r8
movzx esi, byte [r9 + 0x18]
cmp sil, 2
je 0x18006b46c
mov rax, qword [r9 + 0x10]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x180], xmm0
mov eax, dword [r9 + 0x19]
mov ecx, dword [r9 + 0x1c]
lea rdx, [rsp + 0x199]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov byte [rsp + 0x198], sil
cmp r13, rbx
je 0x18006b451
mov qword [rsp + 0x70], r8
lea rax, [r9 + 0x19]
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x3d0], rcx
mov r14, qword [r13]
movzx r12d, byte [r13 + 8]
mov rcx, qword [r9 + 0x10]
mov qword [rsp + 0x380], rcx
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x370], xmm0
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0x8b], eax
mov dword [rsp + 0x88], ecx
lea rax, [rdi + 1]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x3f8], rax
mov r13, qword [rsp + 0x98]
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x18006ab20
mov rax, qword [r13 + 0x30]
lea rcx, [rsp + 0x180]
mov r8, rdi
call qword [rax + 0x20]
jmp 0x18006ab2c
mov qword [rsp + 0x180], 0
mov r9, qword [r13]
mov r10, qword [r13 + 8]
mov rdx, qword [rsp + 0x50]
lock inc qword [rdx]
jle 0x18006b413
mov rax, qword [rsp + 0x190]
lea r8, [rsp + 0xf0]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [r8], xmm0
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb0], r10
mov rax, qword [rsp + 0x380]
lea rcx, [rsp + 0xc8]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x370]
movdqu xmmword [rcx], xmm0
mov byte [rsp + 0xe0], sil
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x8b]
mov dword [r8 - 0xc], ecx
mov dword [r8 - 0xf], eax
mov qword [rsp + 0xb8], r14
mov byte [rsp + 0xc0], r12b
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x108], rdi
test rdi, rdi
je 0x18006acc0
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 rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x78], rcx
test rcx, rcx
mov r14, qword [rsp + 0x340]
mov r12, qword [rsp + 0x348]
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x338], rax
mov qword [rsp + 0x330], rdx
je 0x18006aec0
test rax, rax
mov r12, rax
je 0x18006aec4
js 0x18006b413
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006aca0
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b87d
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, r12
call r15
mov rsi, rax
test rax, rax
jne 0x18006aec9
jmp 0x18006b87d
cmp byte [r13 + 0x58], 0
je 0x18006abdb
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x48], 0
jne 0x18006b68f
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
movdqu xmm0, xmmword [rsp + 0xa8]
movdqu xmm1, xmmword [rsp + 0xb8]
movups xmm2, xmmword [rsp + 0xc8]
movups xmm3, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x140], xmm3
movaps xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x120], xmm1
movdqa xmmword [rsp + 0x110], xmm0
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x110]
call fcn.180068a10
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006ad9e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b819
mov qword [0x1801fb9b8], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b819
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.180164e10
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x48], 0
jne 0x18006b413
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x48], rsi
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x210], 0
je 0x18006b413
mov rsi, qword [rax + 0x200]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x8000000000000001
lea r14, [rcx - 2]
test rax, r14
jne 0x18006b389
xor edi, edi
movzx eax, byte [rsi + 8]
test al, al
jne 0x18006b413
mov byte [rsi + 9], 1
lea rcx, [rsi + 0x10]
call qword [sym.imp.kernel32.dll_WakeAllConditionVariable]
test dil, dil
jne 0x18006ae87
mov rax, qword [0x1801fb9f0]
test rax, r14
jne 0x18006b3a2
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r9, rax
cmp rax, qword [rsp + 0x320]
jne 0x18006aa3b
jmp 0x18006b46c
xor esi, esi
jmp 0x18006aeee
mov esi, 1
mov rcx, rsi
mov rdx, qword [rsp + 0x78]
mov r8, r12
call fcn.180164e10
mov qword [rsp + 0x318], r12
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x80]
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x1b0], rax
movdqa xmm0, xmmword [rsp + 0x110]
movdqa xmm1, xmmword [rsp + 0x120]
movaps xmm2, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x1a0], xmm2
movdqa xmmword [rsp + 0x190], xmm1
movdqa xmmword [rsp + 0x180], xmm0
test r9, r9
cmovne r14, r10
mov rax, r14
je 0x18006afc0
test rsi, rsi
mov qword [rsp + 0x348], r12
mov qword [rsp + 0x328], rax
je 0x18006afde
cmp r12, 0xf
ja 0x18006b120
test r12, r12
je 0x18006af82
xor ecx, ecx
nop dword [rax]
cmp byte [rsi + rcx], 0
je 0x18006b413
inc rcx
cmp r12, rcx
jne 0x18006af70
mov qword [rsp + 0x388], rsi
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], r12
lea rcx, [rsp + 0x388]
call fcn.18001ea80
mov r12, rax
mov rsi, rdx
jmp 0x18006afe1
call fcn.1800f8670
test rsi, rsi
mov qword [rsp + 0x348], r12
mov qword [rsp + 0x328], rax
jne 0x18006af5b
xor r12d, r12d
mov qword [rsp + 0x340], r14
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006b012
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b84c
mov qword [0x1801fb9b8], rax
mov r8d, 0x30
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b84c
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 [0x1801fb9b0]
nop word [rax + rax]
mov rcx, rax
inc rcx
je 0x18006b413
lock cmpxchg qword [0x1801fb9b0], rcx
jne 0x18006b050
mov qword [r14 + 0x10], rcx
mov byte [r14 + 0x28], 0
lock inc qword [r14]
jle 0x18006b413
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006b0a3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b84c
mov qword [0x1801fb9b8], rax
mov r8d, 0x30
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b84c
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
lock inc qword [rax]
jle 0x18006b413
movzx eax, byte [0x1801fb958]
test al, al
je 0x18006b1d0
mov byte [0x1801fb958], 1
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x88], 0
je 0x18006b16c
lea rax, [rax + 0x90]
jmp 0x18006b17a
lea r9, [rsi + 7]
and r9, 0xfffffffffffffff8
sub r9, rsi
je 0x18006b20d
cmp r9, r12
cmovae r9, r12
test r9, r9
je 0x18006b20d
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rsi + rcx], 0
je 0x18006b413
inc rcx
cmp r9, rcx
jne 0x18006b150
lea rcx, [r12 - 0x10]
jmp 0x18006b3f3
call fcn.1800f8040
test rax, rax
je 0x18006b413
mov r12, qword [rax]
mov qword [rax], 0
test r12, r12
je 0x18006b1d0
lock inc qword [r12]
jle 0x18006b413
mov byte [0x1801fb958], 1
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x88], 0
je 0x18006b21a
lea rax, [rax + 0x90]
jmp 0x18006b228
movzx eax, byte [0x1801fb958]
test al, al
je 0x18006b208
mov byte [0x1801fb958], 1
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x88], 0
je 0x18006b235
lea rax, [rax + 0x90]
jmp 0x18006b243
xor r12d, r12d
jmp 0x18006b260
lea rcx, [r12 - 0x10]
xor r9d, r9d
jmp 0x18006b3c0
call fcn.1800f8040
test rax, rax
je 0x18006b8bd
mov rcx, qword [rax]
mov qword [rax], r12
test rcx, rcx
jne 0x18006b255
jmp 0x18006b260
call fcn.1800f8040
test rax, rax
je 0x18006b413
mov rcx, qword [rax]
mov qword [rax], 0
xor r12d, r12d
test rcx, rcx
je 0x18006b260
lock dec qword [rcx]
jne 0x18006b260
call fcn.180068ef0
mov rax, rsi
add rax, 0x10
mov rcx, qword [rax]
test rcx, rcx
je 0x18006b27a
lock inc qword [rcx + 0x18]
jle 0x18006b86e
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18006b2a3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006b85d
mov qword [0x1801fb9b8], rax
mov r8d, 0x80
mov rcx, rax
xor edx, edx
call r15
test rax, rax
je 0x18006b85d
mov qword [rax], r14
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x20], rcx
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movdqu xmmword [rax + 0x28], xmm0
movdqu xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x48], xmm2
mov rcx, qword [rsp + 0x1b0]
mov qword [rax + 0x58], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x60], rcx
mov rcx, qword [rsp + 0x330]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x338]
mov qword [rax + 0x70], rcx
mov qword [rax + 0x78], rdi
mov rcx, qword [rsp + 0x328]
mov rdx, rax
lea r8, [0x1801be4e0]
call fcn.1800f8870
mov rdi, rdx
test rax, rax
jne 0x18006b59b
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
lock dec qword [r14]
jne 0x18006b36d
mov rcx, r14
call fcn.180067b00
lock dec qword [rsi]
mov rdi, qword [rsp + 0x60]
jne 0x18006aa20
mov rcx, rsi
call fcn.180100bf0
jmp 0x18006aa20
call fcn.18016d440
mov edi, eax
xor dil, 1
movzx eax, byte [rsi + 8]
test al, al
je 0x18006ae64
jmp 0x18006b413
call fcn.18016d440
test al, al
jne 0x18006ae87
mov byte [rsi + 8], 1
jmp 0x18006ae87
movdqu xmm0, xmmword [rsi + r9]
movdqa xmm1, xmm0
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
movabs r8, 0x8080808080808080
test rdx, r8
jne 0x18006b403
add r9, 0x10
cmp r9, rcx
jbe 0x18006b3c0
jmp 0x18006b403
inc r9
cmp r12, r9
je 0x18006af82
cmp byte [rsi + r9], 0
jne 0x18006b400
ud2
mov eax, 8
mov qword [rsp + 0x50], rax
xor r12d, r12d
cmp qword [rsp + 0x80], 0
jne 0x18006a666
jmp 0x18006a678
mov rax, r12
test rax, rax
jne 0x18006a5b6
mov rcx, r12
mov rdx, r14
call fcn.180166e20
ud2
mov rax, qword [rsp + 0x180]
lock dec qword [rax]
jne 0x18006b46c
lea rcx, [rsp + 0x180]
call fcn.1800fc980
lea rcx, [rsp + 0x3a0]
call fcn.18006b8e0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov qword [rax], 3
mov r13, qword [rsp + 0x98]
mov rsi, qword [r13 + 0x18]
test rsi, rsi
je 0x18006b4cf
mov rdi, qword [r13 + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18006b4cf
cmp qword [rdi + 0x10], 0x11
jb 0x18006b4bd
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [r13 + 0x28]
test rsi, rsi
je 0x18006b505
mov rdi, qword [r13 + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18006b505
cmp qword [rdi + 0x10], 0x11
jb 0x18006b4f3
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [r13 + 0x38]
test rsi, rsi
je 0x18006b53b
mov rdi, qword [r13 + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18006b53b
cmp qword [rdi + 0x10], 0x11
jb 0x18006b529
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [r13 + 0x48]
test rsi, rsi
je 0x18006b571
mov rdi, qword [r13 + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18006b571
cmp qword [rdi + 0x10], 0x11
jb 0x18006b55f
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
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]
jne 0x18006b5a9
mov rcx, rsi
call fcn.180100bf0
lock dec qword [r14]
mov rsi, qword [rsp + 0xa0]
jne 0x18006b5bf
mov rcx, r14
call fcn.180067b00
mov rax, qword [rsp + 0x90]
mov qword [rax], 2
mov qword [rax + 8], rdi
lea rcx, [rsp + 0x3a0]
call fcn.18006b8e0
lock dec qword [rsi]
jne 0x18006b64e
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x210]
test rax, rax
je 0x18006b64e
mov rcx, qword [rsp + 0x50]
mov rdi, qword [rcx + 0x200]
shl rax, 3
lea rbx, [rax + rax*8]
xor r14d, r14d
xor esi, esi
jmp 0x18006b62c
add r14, 0x48
inc rsi
cmp rbx, r14
je 0x18006b64e
mov eax, 3
xchg qword [rdi + r14 + 0x30], rax
cmp rax, 2
jne 0x18006b620
mov rcx, qword [rsp + 0x310]
mov rdx, rsi
call fcn.180068910
jmp 0x18006b620
mov rcx, qword [rsp + 0x50]
lock dec qword [rcx]
jne 0x18006b499
call fcn.180068cb0
jmp 0x18006b499
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x18006b741
cmp eax, 0x2b
jne 0x18006b750
dec r9
je 0x180069e2a
lea r10, [r8 + 1]
jmp 0x18006b753
mov rax, qword [rsp + 0x90]
mov qword [rax], 1
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x18006b6c5
cmp qword [rsp + 0xf8], 0
je 0x18006b6c5
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0xc8]
lock dec qword [rax]
mov rsi, qword [rsp + 0xa0]
je 0x18006b6fd
mov rax, qword [rsp + 0xb8]
lock dec qword [rax]
je 0x18006b718
mov rcx, qword [rsp + 0xe8]
lock dec qword [rcx]
jne 0x18006b5d2
jmp 0x18006b737
lea rcx, [rsp + 0xc8]
call fcn.1800fc980
mov rax, qword [rsp + 0xb8]
lock dec qword [rax]
jne 0x18006b6e9
lea rcx, [rsp + 0xb8]
call fcn.1800fc980
mov rcx, qword [rsp + 0xe8]
lock dec qword [rcx]
jne 0x18006b5d2
call fcn.180068cb0
jmp 0x18006b5d2
mov r10, r8
cmp r9, 1
je 0x180069e2a
jmp 0x18006b753
mov r10, r8
cmp r9, 0x10
jbe 0x18006b7b2
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop word cs:[rax + rax]
cmp r9, r11
je 0x18006b7e3
movzx r14d, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add r14d, 0xffffffd0
cmp r14d, 0xa
cmovb ebx, r14d
jae 0x180069e2a
test dl, dl
jne 0x180069e2a
mov rsi, rax
mov eax, ebx
inc r11
mov ebx, r14d
add rsi, rax
jae 0x18006b770
jmp 0x180069e2a
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x180069e2a
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x18006b7c0
mov dil, 1
test rcx, rcx
jne 0x180069e31
jmp 0x180069e40
cmp al, 2
je 0x180069e4b
test rcx, rcx
je 0x180069e4b
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180069e4b
mov ecx, 0x80
mov edx, 0x180
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x400
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x10
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x30
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x80
call fcn.180166e20
ud2
add rcx, 0x10
xor edx, edx
call fcn.1800f53e0
ud2
mov ecx, 1
mov rdx, r12
call fcn.180166e20
ud2
mov ecx, 0x80
mov rdx, rsi
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x5f0
call fcn.180166e20
ud2
mov ecx, 0x80
mov edx, 0x280
call fcn.180166e20
ud2
lock dec qword [r12]
jne 0x18006b413
mov rcx, r12
call fcn.180068ef0
ud2