Function at 0x14001ccd0
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, 0xdb8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xd20], xmm8
movdqa xmmword [rbp + 0xd10], xmm7
movaps xmmword [rbp + 0xd00], xmm6
and rsp, 0xffffffffffffff80
mov rbx, rdx
mov qword [rsp + 0xd8], rcx
mov rsi, qword [rdx + 0x10]
test rsi, rsi
mov qword [rsp + 0x68], rdx
jne 0x14001d172
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUS
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.140073280
mov rcx, qword [rsp + 0x180]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001cf45
cmp byte [rsp + 0x198], 0
mov r8, qword [rsp + 0x188]
je 0x14001cda3
mov r9, qword [rsp + 0x190]
test r9, r9
je 0x14001cef1
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14001ce56
cmp eax, 0x2b
jne 0x14001ce64
dec r9
je 0x14001cef1
lea r10, [r8 + 1]
jmp 0x14001ce67
mov r9, qword [rsp + 0x190]
test r9, r9
je 0x14001cf19
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14001cdd8
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop dword [rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x14001ce3e
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14001cdd0
cmp r11b, 0xe0
jb 0x14001cdbd
cmp r11b, 0xed
jne 0x14001ce13
cmp rdx, rax
je 0x14001ce3e
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14001ce3e
cmp byte [r10 + 1], 0x9f
ja 0x14001cf2f
add r10, 3
mov rdx, r10
jmp 0x14001cdd0
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14001cdd0
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14001cdd0
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x14001cd72
jmp 0x14001cf45
mov r10, r8
cmp r9, 1
jne 0x14001ce67
jmp 0x14001cef1
mov r10, r8
cmp r9, 0x11
jae 0x14001cea9
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001cef1
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14001ce80
mov dil, 1
test rcx, rcx
jne 0x14001cef8
jmp 0x14001cf06
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop word cs:[rax + rax]
cmp r9, r11
je 0x14001ce9f
movzx ebx, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14001cf21
test dl, dl
jne 0x14001cf21
mov rsi, rax
mov eax, ebx
inc r11
add rsi, rax
mov rbx, qword [rsp + 0x68]
jae 0x14001cec0
xor edi, edi
test rcx, rcx
je 0x14001cf06
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test dil, dil
je 0x14001cf45
test rsi, rsi
jne 0x14001d172
jmp 0x14001d139
xor r9d, r9d
jmp 0x14001cd72
xor edi, edi
mov rbx, qword [rsp + 0x68]
test rcx, rcx
jne 0x14001cef8
jmp 0x14001cf06
shl rcx, 1
test rcx, rcx
je 0x14001cf45
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rdx, [0x1401c8031]
lea rcx, [rsp + 0x180]
mov r8d, 0x11
call fcn.140073280
mov rcx, qword [rsp + 0x180]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001d139
cmp byte [rsp + 0x198], 0
mov r8, qword [rsp + 0x188]
je 0x14001cfc5
mov r9, qword [rsp + 0x190]
test r9, r9
je 0x14001d119
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14001d076
cmp eax, 0x2b
jne 0x14001d084
dec r9
je 0x14001d119
lea r10, [r8 + 1]
jmp 0x14001d087
mov r9, qword [rsp + 0x190]
test r9, r9
je 0x14001edf8
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14001cff8
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop word [rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x14001d05e
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14001cff0
cmp r11b, 0xe0
jb 0x14001cfdf
cmp r11b, 0xed
jne 0x14001d033
cmp rdx, rax
je 0x14001d05e
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14001d05e
cmp byte [r10 + 1], 0x9f
ja 0x14001ee2a
add r10, 3
mov rdx, r10
jmp 0x14001cff0
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14001cff0
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14001cff0
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x14001cf94
jmp 0x14001d139
mov r10, r8
cmp r9, 1
jne 0x14001d087
jmp 0x14001d119
mov r10, r8
cmp r9, 0x11
jae 0x14001d0c9
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001d119
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14001d0a0
mov dil, 1
test rcx, rcx
jne 0x14001d120
jmp 0x14001d12e
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop word cs:[rax + rax]
cmp r9, r11
je 0x14001d0bf
movzx ebx, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14001ee00
test dl, dl
jne 0x14001ee00
mov rsi, rax
mov eax, ebx
inc r11
add rsi, rax
mov rbx, qword [rsp + 0x68]
jae 0x14001d0e0
xor edi, edi
test rcx, rcx
je 0x14001d12e
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test rsi, rsi
setne al
test dil, al
jne 0x14001d172
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 esi, dword [rsp + 0x1a0]
cmp esi, 1
adc esi, 0
cmp rsi, 0xffff
mov eax, 0xffff
cmovb rax, rsi
mov rsi, rax
movzx ebx, byte [rbx + 0x59]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x1a0], 8
mov qword [rsp + 0x1a8], 0
test rax, rax
mov qword [rsp + 0x80], rax
jne 0x14001e92e
mov r12, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
mov qword [rsp + 0x70], rdx
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x1a0], 8
mov qword [rsp + 0x1a8], 0
test rsi, rsi
jne 0x14001eb01
xor eax, eax
xor edx, edx
sub rax, rdx
cmp rax, rsi
jb 0x14001eb2f
lea r14, [rsp + 0x198]
xorps xmm6, xmm6
lea r13, [rsp + 0x180]
jmp 0x14001d2cc
mov rcx, qword [rsp + 0x1a0]
mov rax, r15
shl rax, 4
mov qword [rcx + rax], rbx
mov byte [rcx + rax + 8], 0
inc r15
mov qword [rsp + 0x1a8], r15
dec rsi
je 0x14001d3e1
mov ecx, 0x40
call fcn.140020920
mov rdi, rax
movzx eax, byte [0x14024a149]
mov edx, 0x10
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov r15, rax
mov qword [rax], rdi
mov qword [rax + 8], 0x40
movzx eax, byte [0x14024a149]
mov edx, 0x200
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rbx, rax
and rbx, 0xffffffffffffff80
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], 1
mov qword [rbx + 0x88], 1
mov qword [rbx + 0x100], r15
movaps xmmword [rbx + 0x180], xmm6
lock inc qword [rbx + 0x80]
jle 0x14001ee6a
mov rdx, qword [rsp + 0x190]
cmp rdx, qword [rsp + 0x180]
jne 0x14001d37e
mov rcx, r13
call fcn.14001fad0
mov rdx, qword [rsp + 0x190]
sub rbx, 0xffffffffffffff80
mov rax, qword [rsp + 0x188]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], rdi
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0x190], rdx
mov r15, qword [rsp + 0x1a8]
cmp r15, qword [rsp + 0x198]
jne 0x14001d2a0
mov rcx, r14
mov rdx, r15
call fcn.140017ef0
mov r15, qword [rsp + 0x1a8]
jmp 0x14001d2a0
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xc0], rax
movdqu xmm0, xmmword [rsp + 0x180]
movdqa xmmword [rsp + 0xb0], xmm0
mov r14, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x70]
mov rsi, rcx
shl rsi, 4
add rsi, r12
test rcx, rcx
je 0x14001d566
movabs rax, 0x1c71c71c71c71c7
cmp rcx, rax
ja 0x14001ee6a
lea rax, [rcx*8]
lea rdx, [rax + rax*8]
movzx eax, byte [0x14024a149]
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov r13, rax
lea rax, [rsp + 0x186]
lea rcx, [rsp + 0x796]
xor ebx, ebx
pxor xmm0, xmm0
mov rdx, r13
mov r8, r12
mov r9, qword [r8]
movzx r10d, byte [r8 + 8]
movdqu xmmword [rax], xmm0
mov word [rax + 0x10], 0
movdqu xmmword [rcx], xmm0
mov qword [rdx], 0
mov word [rdx + 8], 0
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [rdx + 0xa], xmm1
mov r11, qword [rsp + 0x190]
mov qword [rdx + 0x1a], r11
movdqu xmm1, xmmword [rsp + 0x790]
movdqu xmmword [rdx + 0x22], xmm1
mov r11, qword [rsp + 0x79e]
mov qword [rdx + 0x30], r11
mov qword [rdx + 0x38], r9
mov byte [rdx + 0x40], r10b
inc rbx
add rdx, 0x48
add r8, 0x10
cmp r8, rsi
jne 0x14001d480
cmp qword [rsp + 0x78], 0
mov rsi, qword [rsp + 0x80]
je 0x14001d50e
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
test rsi, rsi
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x98], r13
je 0x14001d5a8
mov rdx, rsi
shl rdx, 7
movzx eax, byte [0x14024a149]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov r13, rax
and r13, 0xffffffffffffff80
mov qword [r13 + 0x78], rax
sub r13, 0xffffffffffffff80
cmp rsi, 1
jne 0x14001d5b6
xor r14d, r14d
jmp 0x14001d616
cmp rsi, r12
jne 0x14001d594
mov r13d, 8
xor ebx, ebx
cmp qword [rsp + 0x78], 0
mov rsi, qword [rsp + 0x80]
jne 0x14001d4fd
jmp 0x14001d50e
add r12, 0x10
mov rax, qword [r12]
lock dec qword [rax]
jne 0x14001d590
mov rcx, r12
call fcn.140020080
jmp 0x14001d590
mov r13d, pe_nt_image_headers64
xor r14d, r14d
jmp 0x14001d63b
mov edx, eax
and edx, 0x7f
mov ecx, esi
and ecx, 0xfffe
sub rax, rdx
add rax, 0x110
xor r14d, r14d
nop
mov qword [rax - 0x90], 0
mov word [rax - 0x88], 0
mov qword [rax - 0x80], 0
add r14, 2
mov qword [rax - 0x10], 0
mov word [rax - 8], 0
mov qword [rax], 0
add rax, 0x100
cmp rcx, r14
jne 0x14001d5d0
test sil, 1
je 0x14001d63b
lea rax, [r14 + 1]
shl r14, 7
mov qword [r13 + r14], 0
mov word [r13 + r14 + 8], 0
mov qword [r13 + r14 + 0x10], 0
mov r14, rax
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
movdqu xmmword [rsp + 0x198], xmm0
mov qword [rsp + 0x1a8], 0
movdqa xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c0], 0
movdqu xmmword [rsp + 0x1c8], xmm0
mov qword [rsp + 0x1d8], 0
movdqa xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], 0
movdqu xmmword [rsp + 0x1f8], xmm0
mov qword [rsp + 0x208], 0
movdqa xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 0
movdqu xmmword [rsp + 0x228], xmm0
mov qword [rsp + 0x238], 0
movdqa xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x250], 0
movdqu xmmword [rsp + 0x258], xmm0
mov qword [rsp + 0x268], 0
movdqa xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x280], 0
movdqu xmmword [rsp + 0x288], xmm0
mov qword [rsp + 0x298], 0
movdqa xmmword [rsp + 0x2a0], xmm0
mov qword [rsp + 0x2b0], 0
movdqu xmmword [rsp + 0x2b8], xmm0
mov qword [rsp + 0x2c8], 0
movdqa xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], 0
movdqu xmmword [rsp + 0x2e8], xmm0
mov qword [rsp + 0x2f8], 0
movdqa xmmword [rsp + 0x300], xmm0
mov qword [rsp + 0x310], 0
movdqu xmmword [rsp + 0x318], xmm0
mov qword [rsp + 0x328], 0
movdqa xmmword [rsp + 0x330], xmm0
mov qword [rsp + 0x340], 0
movdqu xmmword [rsp + 0x348], xmm0
mov qword [rsp + 0x358], 0
movdqa xmmword [rsp + 0x360], xmm0
mov qword [rsp + 0x370], 0
movdqu xmmword [rsp + 0x378], xmm0
mov qword [rsp + 0x388], 0
movdqa xmmword [rsp + 0x390], xmm0
mov qword [rsp + 0x3a0], 0
movdqu xmmword [rsp + 0x3a8], xmm0
mov qword [rsp + 0x3b8], 0
movdqa xmmword [rsp + 0x3c0], xmm0
mov qword [rsp + 0x3d0], 0
movdqu xmmword [rsp + 0x3d8], xmm0
mov qword [rsp + 0x3e8], 0
movdqa xmmword [rsp + 0x3f0], xmm0
mov qword [rsp + 0x400], 0
movdqu xmmword [rsp + 0x408], xmm0
mov qword [rsp + 0x418], 0
movdqa xmmword [rsp + 0x420], xmm0
mov qword [rsp + 0x430], 0
movdqu xmmword [rsp + 0x438], xmm0
mov qword [rsp + 0x448], 0
movdqa xmmword [rsp + 0x450], xmm0
mov qword [rsp + 0x460], 0
movdqu xmmword [rsp + 0x468], xmm0
mov qword [rsp + 0x478], 0
movdqa xmmword [rsp + 0x480], xmm0
mov qword [rsp + 0x490], 0
movdqu xmmword [rsp + 0x498], xmm0
mov qword [rsp + 0x4a8], 0
movdqa xmmword [rsp + 0x4b0], xmm0
mov qword [rsp + 0x4c0], 0
movdqu xmmword [rsp + 0x4c8], xmm0
mov qword [rsp + 0x4d8], 0
movdqa xmmword [rsp + 0x4e0], xmm0
mov qword [rsp + 0x4f0], 0
movdqu xmmword [rsp + 0x4f8], xmm0
mov qword [rsp + 0x508], 0
movdqa xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], 0
movdqu xmmword [rsp + 0x528], xmm0
mov qword [rsp + 0x538], 0
movdqa xmmword [rsp + 0x540], xmm0
mov qword [rsp + 0x550], 0
movdqu xmmword [rsp + 0x558], xmm0
mov qword [rsp + 0x568], 0
movdqa xmmword [rsp + 0x570], xmm0
mov qword [rsp + 0x580], 0
movdqu xmmword [rsp + 0x588], xmm0
mov qword [rsp + 0x598], 0
movdqa xmmword [rsp + 0x5a0], xmm0
mov qword [rsp + 0x5b0], 0
movdqu xmmword [rsp + 0x5b8], xmm0
mov qword [rsp + 0x5c8], 0
movdqa xmmword [rsp + 0x5d0], xmm0
mov qword [rsp + 0x5e0], 0
movdqu xmmword [rsp + 0x5e8], xmm0
mov qword [rsp + 0x5f8], 0
movdqa xmmword [rsp + 0x600], xmm0
mov qword [rsp + 0x610], 0
movdqu xmmword [rsp + 0x618], xmm0
mov qword [rsp + 0x628], 0
movdqa xmmword [rsp + 0x630], xmm0
mov qword [rsp + 0x640], 0
movdqu xmmword [rsp + 0x648], xmm0
mov qword [rsp + 0x658], 0
movdqa xmmword [rsp + 0x660], xmm0
mov qword [rsp + 0x670], 0
movdqu xmmword [rsp + 0x678], xmm0
mov qword [rsp + 0x688], 0
movdqa xmmword [rsp + 0x690], xmm0
mov qword [rsp + 0x6a0], 0
movdqu xmmword [rsp + 0x6a8], xmm0
mov qword [rsp + 0x6b8], 0
movdqa xmmword [rsp + 0x6c0], xmm0
mov qword [rsp + 0x6d0], 0
movdqu xmmword [rsp + 0x6d8], xmm0
mov qword [rsp + 0x6e8], 0
movdqa xmmword [rsp + 0x6f0], xmm0
mov qword [rsp + 0x700], 0
movdqu xmmword [rsp + 0x708], xmm0
mov qword [rsp + 0x718], 0
movdqa xmmword [rsp + 0x720], xmm0
mov qword [rsp + 0x730], 0
movdqu xmmword [rsp + 0x738], xmm0
mov qword [rsp + 0x748], 0
movdqa xmmword [rsp + 0x750], xmm0
mov qword [rsp + 0x760], 0
lea rcx, [rsp + 0x790]
lea rdx, [rsp + 0x180]
mov r8d, 0x5e8
call sub.msvcrt.dll_memcpy
movzx eax, byte [0x14024a149]
mov edx, 0x5f0
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov r12, rax
mov qword [rax], 0
mov rcx, rax
add rcx, 8
lea rdx, [rsp + 0x790]
mov r8d, 0x5e8
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x197], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x187], xmm0
mov rax, qword [rsp + 0x68]
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
movdqu xmm0, xmmword [rsp + 0x180]
mov rax, qword [rsp + 0x18f]
mov qword [rsp + 0xbf], rax
mov rax, qword [rsp + 0x197]
mov qword [rsp + 0xc7], rax
movdqa xmmword [rsp + 0xb0], xmm0
movzx eax, byte [0x14024a149]
mov edx, 0x300
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], 0
mov qword [rcx + 0x108], r12
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movaps xmm3, xmmword [rsp + 0x1b0]
movaps xmmword [rcx + 0x110], xmm0
movaps xmmword [rcx + 0x120], xmm1
movaps xmmword [rcx + 0x130], xmm2
movaps xmmword [rcx + 0x140], xmm3
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rcx + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rcx + 0x160], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rcx + 0x170], xmm0
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x188], r12
movaps xmm0, xmmword [rsp + 0x790]
movdqa xmm1, xmmword [rsp + 0x7a0]
movaps xmm2, xmmword [rsp + 0x7b0]
movaps xmm3, xmmword [rsp + 0x7c0]
movaps xmmword [rcx + 0x190], xmm0
movdqa xmmword [rcx + 0x1a0], xmm1
movaps xmmword [rcx + 0x1b0], xmm2
movaps xmmword [rcx + 0x1c0], xmm3
movaps xmm0, xmmword [rsp + 0x7d0]
movaps xmmword [rcx + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x7e0]
movaps xmmword [rcx + 0x1e0], xmm0
movaps xmm0, xmmword [rsp + 0x7f0]
movaps xmmword [rcx + 0x1f0], xmm0
movaps xmmword [rcx + 0x200], xmm6
movdqa xmmword [rcx + 0x210], xmm7
movaps xmmword [rcx + 0x220], xmm8
mov qword [rcx + 0x230], 0
mov byte [rcx + 0x238], 0
movups xmm0, xmmword [rsp + 0xbf]
movups xmmword [rcx + 0x248], xmm0
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [rcx + 0x239], xmm0
mov qword [rcx + 0x258], 1
mov qword [rcx + 0x260], rsi
mov qword [rcx + 0x268], r13
mov qword [rcx + 0x270], r14
lea r12, [rcx + 0x80]
mov qword [rcx + 0x278], 0
mov rax, qword [rsp + 0x70]
mov qword [rcx + 0x280], rax
mov rax, qword [rsp + 0x98]
mov qword [rcx + 0x288], rax
mov qword [rcx + 0x290], rbx
mov rax, qword [rsp + 0xa0]
mov r13, rax
shl r13, 5
mov rbx, qword [rsp + 0x90]
add r13, rbx
shl r15, 4
mov r14, qword [rsp + 0x88]
add r15, r14
test rax, rax
je 0x14001e777
add rcx, 0x258
mov qword [rsp + 0x130], rcx
xor eax, eax
mov qword [rsp + 0x80], rax
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x1401a8ae0]
lea rcx, [rsp + 0x180]
mov r14, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x78], r12
mov qword [rsp + 0xe8], r13
jmp 0x14001debc
inc qword [rsp + 0x80]
mov rax, rbx
cmp rbx, r13
lea rcx, [rsp + 0x180]
je 0x14001e7ac
lea rbx, [rax + 0x20]
movzx esi, byte [rax + 0x18]
cmp sil, 2
je 0x14001e777
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x190], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x180], xmm0
mov byte [rsp + 0x198], sil
mov r9d, dword [rax + 0x19]
mov edx, dword [rax + 0x1c]
lea r8, [rsp + 0x199]
mov dword [r8 + 3], edx
mov dword [r8], r9d
cmp r14, r15
je 0x14001e759
lea r8, [rax + 0x19]
mov rdi, qword [r14]
movzx r13d, byte [r14 + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x170], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x160], xmm0
mov eax, dword [r8]
mov edx, dword [r8 + 3]
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xab], edx
mov r12, qword [rsp + 0x68]
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14001df70
mov rax, qword [r12 + 0x30]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
jmp 0x14001df82
movabs rax, 0x8000000000000000
mov qword [rsp + 0x180], rax
mov r8, qword [r12]
mov r9, qword [r12 + 8]
mov r12, qword [rsp + 0x78]
lock inc qword [r12]
jle 0x14001ee6a
add r14, 0x10
mov rax, qword [rsp + 0x190]
lea rdx, [rsp + 0x7a0]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rdx], xmm0
mov qword [rsp + 0x790], r8
mov qword [rsp + 0x798], r9
mov rax, qword [rsp + 0x170]
lea rcx, [rsp + 0x7c8]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x160]
movdqu xmmword [rcx], xmm0
mov byte [rsp + 0x7e0], sil
mov eax, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xab]
mov dword [rdx + 0x44], ecx
mov dword [rdx + 0x41], eax
mov qword [rsp + 0x7b8], rdi
mov byte [rsp + 0x7c0], r13b
mov qword [rsp + 0x7e8], r12
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x7f0], rax
test rax, rax
jne 0x14001e130
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x58], 0
je 0x14001e130
xor ecx, ecx
call fcn.14001c620
test rax, rax
je 0x14001ee6a
cmp qword [rax], 0
mov r13, qword [rsp + 0xe8]
lea rcx, [rsp + 0x180]
jne 0x14001eb44
lea rdx, [rsp + 0x790]
mov rdi, rcx
call fcn.14001b8b0
movzx eax, byte [0x14024a149]
mov edx, 0x200
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
mov rdx, rdi
call sub.msvcrt.dll_memcpy
xor ecx, ecx
call fcn.14001c620
test rax, rax
je 0x14001ee6a
cmp qword [rax], 0
jne 0x14001ee6a
mov qword [rax], rsi
cmp qword [r12 + 0x210], 0
je 0x14001ee6a
mov rsi, qword [r12 + 0x208]
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [rsi + 8]
test al, al
jne 0x14001ee6a
mov byte [rsi + 9], 1
lea rcx, [rsi + 0x10]
call sub.KERNEL32.dll_WakeAllConditionVariable
mov rcx, rsi
call fcn.140107120
jmp 0x14001dea0
mov rcx, qword [rsp + 0x7a0]
mov rax, qword [rsp + 0x7a8]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x7b0]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x7b8]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movdqa xmmword [rsp + 0x180], xmm0
movdqa xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x1b0], xmm3
movabs rax, 0x8000000000000000
mov r13, rax
mov qword [rsp + 0x140], rcx
cmp rcx, rax
mov rsi, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x128], r9
je 0x14001e226
mov r13, qword [rsp + 0xa0]
test r13, r13
je 0x14001e1fb
js 0x14001ee6a
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, r13
call fcn.140080d30
mov rsi, rax
test rax, rax
jne 0x14001e200
jmp 0x14001ee6a
mov esi, 1
mov rcx, rsi
mov rdx, qword [rsp + 0x120]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rdx, r13
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x128]
test r8, r8
mov qword [rsp + 0x70], rdx
jne 0x14001e23d
call fcn.140080be0
mov rdx, qword [rsp + 0x70]
mov r9, rax
movabs rax, 0x8000000000000000
cmp r13, rax
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0x138], r9
jne 0x14001e270
xor r12d, r12d
jmp 0x14001e493
cmp rdx, 0x10
jae 0x14001e2a7
test rdx, rdx
je 0x14001e352
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsi + rax], 0
je 0x14001ee6a
inc rax
cmp rdx, rax
jne 0x14001e290
jmp 0x14001e352
lea rax, [rsi + 7]
and rax, 0xfffffffffffffff8
sub rax, rsi
je 0x14001e2e8
cmp rax, rdx
cmovae rax, rdx
test rax, rax
je 0x14001e2e8
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rsi + rcx], 0
je 0x14001ee6a
inc rcx
cmp rax, rcx
jne 0x14001e2d0
lea rcx, [rdx - 0x10]
jmp 0x14001e2f0
lea rcx, [rdx - 0x10]
xor eax, eax
jmp 0x14001e2f5
cmp rax, rcx
ja 0x14001e329
movdqu xmm0, xmmword [rsi + rax]
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 0x14001e329
add rax, 0x10
jmp 0x14001e2f0
mov rdx, qword [rsp + 0x70]
cmp rax, rdx
je 0x14001e352
nop word cs:[rax + rax]
cmp byte [rsi + rax], 0
je 0x14001ee6a
inc rax
cmp rdx, rax
jne 0x14001e340
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rdx
cmp r13, rdx
je 0x14001e383
mov r8, rsi
mov rsi, rdx
cmp rdx, r13
je 0x14001e41e
jmp 0x14001e448
mov rsi, rdx
inc rsi
je 0x14001ee6a
test r13, r13
je 0x14001e3b3
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc0], r13
mov eax, 1
jmp 0x14001e3b5
xor eax, eax
mov rdx, rsi
not rdx
shr rdx, 0x3f
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0x778]
mov r8, rsi
lea r9, [rsp + 0xb0]
call fcn.140003870
cmp qword [rsp + 0x778], 0
mov rax, qword [rsp + 0x780]
je 0x14001e72d
mov r8, qword [rsp + 0xe0]
movabs rcx, 0x8000000000000001
cmp rax, rcx
mov rdx, qword [rsp + 0x70]
jne 0x14001ee67
mov rsi, rdx
cmp rdx, r13
jne 0x14001e448
lea rcx, [rsp + 0xf0]
mov rdx, qword [rsp + 0x70]
call fcn.140003900
mov rsi, qword [rsp + 0x100]
mov r13, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
mov byte [r8 + rsi], 0
inc rsi
mov qword [rsp + 0x100], rsi
cmp r13, rsi
jbe 0x14001e490
mov rcx, qword [0x14024a138]
xor edx, edx
test rsi, rsi
je 0x14001e480
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov r8, rax
test rax, rax
jne 0x14001e490
jmp 0x14001ee6a
call sub.KERNEL32.dll_HeapFree
mov r8d, 1
nop dword [rax + rax]
mov r12, r8
movzx eax, byte [0x14024a149]
mov edx, 0x30
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov r13, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], rsi
mov rax, qword [0x14024a108]
mov rcx, rax
inc rcx
je 0x14001ee6a
lock cmpxchg qword [0x14024a108], rcx
jne 0x14001e4d0
mov qword [r13 + 0x10], rcx
mov byte [r13 + 0x28], 0
lock inc qword [r13]
jle 0x14001ee6a
movzx eax, byte [0x14024a149]
mov edx, 0x30
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0xb0], rax
lock inc qword [rax]
jle 0x14001ee6a
movzx eax, byte [0x14024a058]
test al, al
je 0x14001e5a0
mov byte [0x14024a058], 1
call fcn.1400729e0
test rax, rax
je 0x14001ee6a
mov rcx, qword [rax]
mov qword [rax], 0
test rcx, rcx
je 0x14001e5a0
lock inc qword [rcx]
jle 0x14001ee6a
mov r12, rcx
mov byte [0x14024a058], 1
call fcn.1400729e0
test rax, rax
je 0x14001ee56
mov rcx, qword [rax]
mov qword [rax], r12
test rcx, rcx
jne 0x14001e5d2
jmp 0x14001e5e2
movzx eax, byte [0x14024a058]
test al, al
je 0x14001e5df
mov byte [0x14024a058], 1
call fcn.1400729e0
test rax, rax
je 0x14001ee6a
mov rcx, qword [rax]
mov qword [rax], 0
xor r12d, r12d
test rcx, rcx
je 0x14001e5e2
lock dec qword [rcx]
jne 0x14001e5e2
call fcn.1400c5b20
jmp 0x14001e5e2
xor r12d, r12d
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x118], rax
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001e606
lock inc qword [rcx + 0x18]
jle 0x14001ee49
movzx eax, byte [0x14024a149]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov qword [rax], r13
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x38], rcx
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movaps xmm3, xmmword [rsp + 0x1b0]
movdqu xmmword [rax + 0x40], xmm0
movdqu xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm2
movups xmmword [rax + 0x70], xmm3
mov rcx, qword [rsp + 0x138]
mov rdx, rax
lea r8, [0x1401c8048]
call fcn.140071df0
mov rsi, rdx
test rax, rax
jne 0x14001ebc5
mov qword [rsp + 0x148], r13
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rsi
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r13]
jne 0x14001e6fc
mov rcx, qword [rsp + 0x148]
call fcn.1400c5730
mov rax, qword [rsp + 0x150]
lock dec qword [rax]
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x78]
jne 0x14001dea0
lea rcx, [rsp + 0x150]
call fcn.14001fc30
jmp 0x14001dea0
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xf0], rsi
mov r8, rax
mov r13, rsi
mov rdx, qword [rsp + 0x70]
mov rsi, rdx
cmp rdx, r13
je 0x14001e41e
jmp 0x14001e448
mov rax, qword [rsp + 0x180]
lock dec qword [rax]
jne 0x14001e774
lea rcx, [rsp + 0x180]
call fcn.140020080
mov r14, r15
sub r13, rbx
je 0x14001e7ac
shr r13, 5
jmp 0x14001e799
add rbx, 0x20
dec r13
je 0x14001e7ac
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14001e790
mov rcx, rbx
call fcn.140020080
jmp 0x14001e790
cmp qword [rsp + 0x110], 0
mov rbx, qword [rsp + 0x68]
je 0x14001e7d2
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x90]
call sub.KERNEL32.dll_HeapFree
sub r15, r14
je 0x14001e7fc
shr r15, 4
jmp 0x14001e7e9
add r14, 0x10
dec r15
je 0x14001e7fc
mov rax, qword [r14]
lock dec qword [rax]
jne 0x14001e7e0
mov rcx, r14
call fcn.140020080
jmp 0x14001e7e0
cmp qword [rsp + 0x108], 0
je 0x14001e81d
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x88]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xd8]
mov qword [rax + 8], r12
mov qword [rax], 3
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x14001e865
mov rdi, qword [rbx + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14001e865
cmp qword [rdi + 0x10], 0x11
jb 0x14001e854
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x14001e89a
mov rdi, qword [rbx + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14001e89a
cmp qword [rdi + 0x10], 0x11
jb 0x14001e889
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x14001e8cf
mov rdi, qword [rbx + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14001e8cf
cmp qword [rdi + 0x10], 0x11
jb 0x14001e8be
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rbx + 0x48]
test rsi, rsi
je 0x14001e904
mov rdi, qword [rbx + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14001e904
cmp qword [rdi + 0x10], 0x11
jb 0x14001e8f3
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rbp + 0xd00]
movaps xmm7, xmmword [rbp + 0xd10]
movaps xmm8, xmmword [rbp + 0xd20]
lea rsp, [rbp + 0xd38]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rsp + 0x180]
xor edx, edx
mov r8, rsi
call fcn.1400a42f0
mov rax, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
cmp rax, rsi
jb 0x14001ee15
xorps xmm6, xmm6
mov r13, rsi
jmp 0x14001e9a4
mov rsi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x1a0]
mov rax, rdx
shl rax, 4
mov qword [r12 + rax], rdi
mov byte [r12 + rax + 8], r14b
inc rdx
mov qword [rsp + 0x1a8], rdx
dec r13
je 0x14001d1e7
mov ecx, 0x40
call fcn.140020920
mov rsi, rax
movzx eax, byte [0x14024a149]
mov edx, 0x10
xor ecx, ecx
call fcn.140080d30
mov r15, rax
test bl, bl
je 0x14001ea10
test r15, r15
je 0x14001ee6a
mov qword [r15], rsi
mov qword [r15 + 8], 0x40
movzx eax, byte [0x14024a149]
mov edx, 0x200
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rdi, rax
and rdi, 0xffffffffffffff80
sub rdi, 0xffffffffffffff80
xor r14d, r14d
jmp 0x14001ea4e
test r15, r15
je 0x14001ee6a
mov qword [r15], rsi
mov qword [r15 + 8], 0x40
movzx eax, byte [0x14024a149]
mov edx, 0x200
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x14001ee6a
mov rdi, rax
and rdi, 0xffffffffffffff80
sub rdi, 0xffffffffffffff80
mov r14b, 1
mov qword [rdi - 8], rax
mov qword [rdi], 1
mov qword [rdi + 8], 1
mov qword [rdi + 0x80], r15
movaps xmmword [rdi + 0x100], xmm6
lock inc qword [rdi]
jle 0x14001ee6a
mov rdx, qword [rsp + 0x190]
cmp rdx, qword [rsp + 0x180]
jne 0x14001eaa0
lea rcx, [rsp + 0x180]
call fcn.14001fad0
mov rdx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x188]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rdi
mov qword [rax + rcx + 8], rsi
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], r14b
inc rdx
mov qword [rsp + 0x190], rdx
mov rdx, qword [rsp + 0x1a8]
cmp rdx, qword [rsp + 0x198]
jne 0x14001e970
lea rcx, [rsp + 0x198]
call fcn.140017ef0
mov rdx, qword [rsp + 0x1a8]
jmp 0x14001e970
lea rcx, [rsp + 0x180]
xor edx, edx
mov r8, rsi
call fcn.1400a42f0
mov rax, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a8]
sub rax, rdx
cmp rax, rsi
jae 0x14001d27f
lea rcx, [rsp + 0x198]
mov r8, rsi
call fcn.14001fb80
jmp 0x14001d27f
mov rax, qword [rsp + 0xd8]
mov qword [rax], 1
mov rax, qword [rsp + 0x7a0]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14001eb85
test rax, rax
je 0x14001eb85
mov r8, qword [rsp + 0x7a8]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x7c8]
lock dec qword [rax]
je 0x14001ec11
mov rax, qword [rsp + 0x7b8]
lock dec qword [rax]
je 0x14001ec30
mov rax, qword [rsp + 0x7e8]
lock dec qword [rax]
je 0x14001ec4f
sub r13, rbx
jne 0x14001ec61
jmp 0x14001ec8c
mov rax, qword [rsp + 0x118]
lock dec qword [rax]
jne 0x14001ebe0
lea rcx, [rsp + 0xb0]
call fcn.14001fc30
lock dec qword [r13]
jne 0x14001ebef
mov rcx, r13
call fcn.1400c5730
mov rax, qword [rsp + 0xd8]
mov qword [rax], 2
mov qword [rax + 8], rsi
mov r13, qword [rsp + 0xe8]
sub r13, rbx
jne 0x14001ec61
jmp 0x14001ec8c
lea rcx, [rsp + 0x7c8]
call fcn.140020080
mov rax, qword [rsp + 0x7b8]
lock dec qword [rax]
jne 0x14001eba5
lea rcx, [rsp + 0x7b8]
call fcn.140020080
mov rax, qword [rsp + 0x7e8]
lock dec qword [rax]
jne 0x14001ebb7
mov rcx, qword [rsp + 0x7e8]
call fcn.14001fe50
sub r13, rbx
je 0x14001ec8c
shr r13, 5
jmp 0x14001ec79
add rbx, 0x20
dec r13
je 0x14001ec8c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14001ec70
mov rcx, rbx
call fcn.140020080
jmp 0x14001ec70
cmp qword [rsp + 0x110], 0
je 0x14001ecad
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x90]
call sub.KERNEL32.dll_HeapFree
sub r15, r14
je 0x14001ecdc
shr r15, 4
jmp 0x14001ecc9
add r14, 0x10
dec r15
je 0x14001ecdc
mov rax, qword [r14]
lock dec qword [rax]
jne 0x14001ecc0
mov rcx, r14
call fcn.140020080
jmp 0x14001ecc0
cmp qword [rsp + 0x108], 0
je 0x14001ecfd
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x88]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x130]
lock dec qword [rax]
jne 0x14001edda
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x210]
test rax, rax
je 0x14001edda
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx + 0x208]
shl rax, 3
lea r14, [rax + rax*8]
mov r15d, 0x10
xor r12d, r12d
xor r13d, r13d
jmp 0x14001ed68
mov rcx, rsi
call fcn.140107120
add r12, 0x48
sub r15, 0xffffffffffffff80
inc r13
cmp r14, r12
je 0x14001edda
mov eax, 3
xchg qword [rbx + r12 + 0x30], rax
cmp rax, 2
jne 0x14001ed58
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x1f0], r13
jbe 0x14001ee6a
mov rdi, qword [rax + 0x1e8]
lea rsi, [rdi + r15]
add rsi, 0xfffffffffffffff0
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
movzx eax, byte [rdi + r15 - 8]
test al, al
jne 0x14001ee6a
cmp byte [rdi + r15 - 7], 0
je 0x14001ed50
mov byte [rdi + r15 - 7], 0
add rdi, r15
mov rcx, rdi
call sub.KERNEL32.dll_WakeConditionVariable
mov rax, qword [rsp + 0x78]
lock dec qword [rax + 0x1f8]
jmp 0x14001ed50
mov rcx, qword [rsp + 0x78]
lock dec qword [rcx]
mov rbx, qword [rsp + 0x68]
jne 0x14001e830
call fcn.14001fe50
jmp 0x14001e830
xor r9d, r9d
jmp 0x14001cf94
xor edi, edi
mov rbx, qword [rsp + 0x68]
test rcx, rcx
jne 0x14001d120
jmp 0x14001d12e
lea rcx, [rsp + 0x198]
mov r8, rsi
call fcn.14001fb80
jmp 0x14001e95c
shl rcx, 1
test rcx, rcx
je 0x14001d139
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14001d139
add rcx, 0x10
xor edx, edx
call fcn.14007c760
ud2
lock dec qword [r12]
jne 0x14001ee6a
mov rcx, r12
call fcn.1400833d0
ud2
test rax, rax
ud2