Function at 0x180099a40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc98
movaps xmmword [rsp + 0xc80], xmm10
movaps xmmword [rsp + 0xc70], xmm9
movaps xmmword [rsp + 0xc60], xmm8
movaps xmmword [rsp + 0xc50], xmm7
movaps xmmword [rsp + 0xc40], xmm6
mov rbp, r8
mov rdi, rdx
mov qword [rsp + 0x110], rcx
mov rsi, qword [rdx + 0x3f0]
lea r14, [rsi + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18016cbb8]
shl rax, 1
test rax, rax
jne 0x18009f1e4
xor r15d, r15d
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x18009f1fc
cmp dword [rsi + 0x98], 0
mov qword [rsp + 0x98], rbp
je 0x180099cf7
mov qword [rsp + 0x1f0], 0
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x18009f318
mov rbx, qword [rsp + 0x1f0]
mov rcx, qword [0x18016cb98]
test rcx, rcx
jne 0x180099b48
mov qword [rsp + 0x1f0], 0
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x18009f318
mov rcx, qword [rsp + 0x1f0]
mov qword [0x18016cb98], rcx
test rcx, rcx
je 0x18009f1fc
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x180099b5e
mov rax, rbx
xor edx, edx
div rcx
jmp 0x180099b64
mov eax, ebx
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
mov qword [rsp + 0xf0], r14
mov dword [rsp + 0x180], r15d
je 0x180099b98
xor edx, edx
div rcx
mov rcx, rax
jmp 0x180099b9e
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
lea r14, [rsi + 0x1b8]
lea r15, [rsi + 0x170]
lea r12, [rsi + 0x98]
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsp + 0x5e0], rdx
mov dword [rsp + 0x5e8], ecx
mov rbp, qword [rsi + 0x30]
mov ebx, dword [rsi + 0x38]
lea r13, [rsp + 0x5e0]
nop word cs:[rax + rax]
mov ecx, dword [rsi + 0x9c]
cmp qword [rsi + 0x1c8], rcx
jbe 0x18009f1fc
mov rax, qword [rsi + 0x1b8]
test rax, rax
je 0x18009f1fc
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x18009f1fc
mov edx, dword [rsi + 0xa0]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x18009f1fc
mov r8d, dword [rax + 0x48]
cmp r8d, 0x3b9aca00
je 0x18009f1fc
mov rdx, qword [rax + 0x40]
mov rcx, r13
call fcn.1800d6740
cmp edx, 0x3b9aca00
mov ecx, 0
cmove rax, rcx
cmp rax, rbp
jb 0x180099cdf
cmp edx, 0x3b9aca00
setne cl
cmp edx, ebx
seta dl
cmp rax, rbp
jne 0x180099c91
and cl, dl
je 0x180099cdf
lea rcx, [rsp + 0x360]
mov rdx, r12
mov r8, r14
call fcn.180025bc0
cmp qword [rsp + 0x360], 0
je 0x180099cdf
movdqu xmm0, xmmword [rsp + 0x360]
movdqa xmmword [rsp + 0x1f0], xmm0
mov rcx, r15
lea rdx, [rsp + 0x1f0]
mov r8b, 1
call fcn.1800210d0
cmp dword [r12], 0
jne 0x180099c00
mov rbp, qword [rsp + 0x98]
mov r14, qword [rsp + 0xf0]
mov r15d, dword [rsp + 0x180]
test r15b, r15b
jne 0x180099d16
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009f302
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
lea rax, [rdi + 0x390]
mov qword [rsp + 0x180], rax
lea rax, [rdi + 0x398]
lea rcx, [rdi + 0x48]
mov qword [rsp + 0xc8], rcx
lea r13, [rsp + 0x1f8]
lea rcx, [rdi + 0x380]
mov qword [rsp + 0x520], rcx
lea rcx, [rdi + 0x3c8]
mov qword [rsp + 0x338], rcx
lea r12, [rsp + 0x208]
xorps xmm6, xmm6
movaps xmm7, xmmword [0x180111c00]
lea rcx, [rdi + 0x3e8]
mov qword [rsp + 0x588], rcx
lea rcx, [rdi + 0x400]
mov qword [rsp + 0x580], rcx
lea rcx, [rdi + 0x190]
mov qword [rsp + 0xf0], rcx
lea rcx, [rdi + 0x1b8]
mov qword [rsp + 0x4a8], rcx
lea rcx, [rdi + 0x220]
mov qword [rsp + 0x1d8], rcx
lea rcx, [rdi + 0x50]
mov qword [rsp + 0x568], rcx
lea rcx, [rdi + 0x58]
mov qword [rsp + 0x508], rcx
lea rcx, [rdi + 0x228]
mov qword [rsp + 0x4b0], rcx
lea rcx, [rdi + 0x340]
mov qword [rsp + 0x500], rcx
lea rcx, [rdi + 0x46c]
mov qword [rsp + 0x578], rcx
lea rcx, [rdi + 0x4a1]
mov qword [rsp + 0x570], rcx
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x8c], ecx
mov dword [rsp + 0x78], ecx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x510], rcx
mov qword [rsp + 0x528], rax
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x180]
mov rsi, qword [rcx]
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x5f0], xmm1
movdqa xmmword [rsp + 0x5e0], xmm0
mov qword [rcx], 0
test rsi, rsi
je 0x180099fa0
mov qword [rsp + 0x360], rsi
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rsp + 0x368]
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
cmp dword [rdi + 0x100], 4
jne 0x180099eda
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jb 0x180099f25
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
test rax, rax
mov rax, qword [rsp + 0x528]
jne 0x18009f152
mov rbx, rdx
test rdx, rdx
jne 0x18009f200
cmp dword [rdi + 0x100], 4
jne 0x18009f152
cmp qword [rdi + 0x150], 0xfffffffffffffef6
ja 0x18009f152
mov esi, dword [rsp + 0x384]
mov rax, qword [rsp + 0x380]
mov qword [r13 + 0x20], rax
movdqu xmm0, xmmword [rsp + 0x360]
movups xmm1, xmmword [rsp + 0x370]
movups xmmword [r13 + 0x10], xmm1
movdqu xmmword [r13], xmm0
mov byte [rsp + 0x1f0], 6
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov rax, qword [rsp + 0x180]
mov rax, qword [rax]
test rax, rax
jne 0x180099fc0
cmp byte [rdi + 0x3c4], 0
je 0x180099fc0
jmp 0x18009f135
cmp byte [rdi + 0x3c4], 0
je 0x180099fc0
cmp dword [rdi + 0x3b8], 0
je 0x180099fc0
mov esi, dword [rdi + 0x3c0]
xor eax, eax
test rax, rax
je 0x180099f89
nop
mov rdx, qword [rdi + 0x368]
cmp rdx, 2
je 0x180099ffd
mov rcx, qword [rdi + 0x370]
mov rax, qword [rdi + 0x378]
test rdx, rdx
je 0x180099ff2
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x520]
call qword [rax + 0x60]
mov qword [rsp + 0x5e0], 2
mov qword [rsp + 0x600], 0
mov rsi, qword [rdi + 0x3d1]
test byte [rdi + 0x3d0], 1
mov byte [rdi + 0x3d0], 0
je 0x18009a079
cmp dword [rdi + 0x100], 4
jne 0x18009a250
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a250
mov qword [rsp + 0x1f2], rsi
mov word [rsp + 0x1f0], 0x105
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
movzx eax, byte [rdi + 0x3d9]
test eax, eax
je 0x18009a130
cmp eax, 2
jne 0x18009a18b
mov rax, qword [rsp + 0x338]
mov rax, qword [rax]
test rax, rax
je 0x18009a18b
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x18009a2cd
cmp dword [rdi + 0x100], 4
jne 0x18009a72b
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a72b
movabs rax, 0xb416870b7adb7c3b
mov qword [rsp + 0x1f2], rax
mov word [rsp + 0x1f0], 5
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov rax, qword [rsp + 0x338]
mov rax, qword [rax]
mov qword [rax + 0x10], 2
cmp dword [rdi + 0x468], 2
je 0x18009a198
jmp 0x18009a300
cmp dword [rdi + 0x100], 4
jne 0x18009a271
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a271
mov rax, qword [rdi + 0x3da]
mov qword [rsp + 0x1f2], rax
mov word [rsp + 0x1f0], 5
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov byte [rdi + 0x3d9], 1
cmp dword [rdi + 0x468], 2
jne 0x18009a300
mov dword [rdi + 0x468], 2
cmp dword [rdi + 0x428], 0
jne 0x18009a7b0
cmp dword [rdi + 0x100], 4
jne 0x18009a634
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a634
movzx eax, byte [rdi + 0x464]
movdqu xmm0, xmmword [rdi + 0x42c]
movups xmm1, xmmword [rdi + 0x43c]
movups xmm2, xmmword [rdi + 0x44c]
mov rcx, qword [rdi + 0x45c]
movdqu xmmword [rsp + 0x1f4], xmm0
movups xmmword [rsp + 0x204], xmm1
movups xmmword [rsp + 0x214], xmm2
mov qword [rsp + 0x224], rcx
mov byte [rsp + 0x22c], al
mov byte [rsp + 0x1f0], 4
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov dword [rdi + 0x428], 1
jmp 0x18009a7b0
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
test rax, rax
je 0x18009a2b2
mov byte [rdi + 0x3d0], 1
jmp 0x18009a750
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
test rax, rax
jne 0x18009a750
test rdx, rdx
jne 0x18009a2bb
cmp dword [rdi + 0x100], 4
jne 0x18009a750
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a14e
jmp 0x18009a750
test rdx, rdx
je 0x18009a75d
lea rcx, [rsp + 0x8d0]
call fcn.18001bd20
jmp 0x18009add3
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rbp]
call fcn.18001bc00
cmp dword [rdi + 0x468], 2
je 0x18009a198
nop word cs:[rax + rax]
cmp dword [rdi + 0x100], 4
jne 0x18009a5ed
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a5ed
mov byte [rsp + 0x22c], 1
mov dword [rsp + 0x1f4], 0
mov dword [rsp + 0x1fc], 0
mov dword [rsp + 0x204], 0
mov dword [rsp + 0x20c], 0
mov dword [rsp + 0x214], 0
mov dword [rsp + 0x21c], 0
mov dword [rsp + 0x224], 0
mov byte [rsp + 0x1f0], 4
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov rsi, qword [rdi + 0x3f0]
lea rbx, [rsi + 0x10]
mov rcx, rbx
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009eec0
xor ebp, ebp
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x18009f1fc
mov r15, qword [rdi + 0x3f8]
lea r14, [r15 + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009eedc
xor eax, eax
movzx ecx, byte [r15 + 0x18]
test cl, cl
jne 0x18009f1fc
lea rdx, [rsi + 0x170]
cmp dword [rdi + 0x478], 0
je 0x18009a42a
mov ecx, dword [rdi + 0x47c]
mov qword [rdx], rcx
mov qword [rsp + 0x118], rdx
mov dword [rsp + 0x178], eax
mov qword [rsp + 0x518], r15
mov qword [rsp + 0x100], r14
mov dword [rsp + 0x84], ebp
mov qword [rsp + 0x108], rbx
cmp dword [rdi + 0x498], 0
je 0x18009a46f
cmp dword [rdi + 0x49c], 0
setne byte [rsi + 0x131]
cmp dword [rdi + 0x480], 0
je 0x18009ac6e
mov rax, qword [rsp + 0x518]
lea rbx, [rax + 0x20]
lea r14, [rsi + 0xc0]
lea rax, [rsi + 0x1b8]
mov qword [rsp + 0xe8], rax
lea rbp, [rsi + 0x160]
mov r13d, dword [rdi + 0x484]
mov eax, dword [rsi + 0x12c]
mov dword [rsi + 0x12c], r13d
sub r13d, eax
jae 0x18009a66b
mov rcx, qword [rsi + 0x1f8]
xor eax, eax
test rcx, rcx
je 0x18009a943
xor edx, edx
lea r14, [rsp + 0x208]
mov ebp, 6
lea r15, [rsp + 0x9a8]
mov r12, qword [rsp + 0x118]
jmp 0x18009a51e
mov r8, qword [rsi + 0x1f8]
cmp r8, rcx
sbb rdx, 0xffffffffffffffff
cmp r8, rcx
sbb rcx, 0
cmp rdx, rcx
jae 0x18009a960
cmp qword [rsi + 0x210], rdx
jbe 0x18009f1fc
mov r9, qword [rsi + 0x200]
test r9, r9
je 0x18009f1fc
mov r10, rdx
shl r10, 4
mov r11d, dword [r9 + r10 + 0xc]
cmp qword [rsi + 0x1c8], r11
jbe 0x18009f1fc
mov r8, qword [rsi + 0x1b8]
test r8, r8
je 0x18009f1fc
imul r11, r11, 0x130
cmp dword [r8 + r11], 2
je 0x18009f1fc
mov r9d, dword [r9 + r10 + 8]
add r8, r11
cmp dword [r8 + 0x114], r9d
jne 0x18009f1fc
mov r9d, dword [r8 + 0x80]
add r9d, r13d
mov dword [r8 + 0x80], r9d
test r9d, r9d
jg 0x18009a5c0
xor r9d, r9d
mov r10d, dword [r8 + 0x84]
mov r11d, r10d
test r10d, r10d
jle 0x18009a5cf
sub r11d, r9d
jbe 0x18009a500
jmp 0x18009a5db
mov r10d, dword [r8 + 0x84]
mov r11d, r10d
test r10d, r10d
jg 0x18009a5b3
xor r11d, r11d
sub r11d, r9d
jbe 0x18009a500
sub r10d, r11d
mov dword [r8 + 0x84], r10d
add eax, r11d
jmp 0x18009a500
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
mov bl, 4
test rax, rax
jne 0x18009adcc
test rdx, rdx
jne 0x18009a789
cmp dword [rdi + 0x100], 4
jne 0x18009adcc
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a31e
jmp 0x18009adcc
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
test rax, rax
je 0x18009a780
mov byte [rsp + 0x360], 4
movzx ebx, byte [rsp + 0x360]
cmp bl, 3
jne 0x18009ad9b
jmp 0x18009a7b0
je 0x18009ac6e
mov r12, qword [rsi + 0x1f8]
test r12, r12
je 0x18009ac6e
xor r15d, r15d
nop word cs:[rax + rax]
cmp qword [rsi + 0x210], r15
jbe 0x18009f1fc
mov rax, qword [rsi + 0x200]
test rax, rax
je 0x18009f1fc
mov rcx, r15
shl rcx, 4
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x1f0], rdx
movq xmm0, qword [rax + rcx + 8]
pshufd xmm0, xmm0, 0xe1
movq qword [rsp + 0x1f8], xmm0
mov qword [rsp + 0x28], rbp
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov edx, r13d
mov r8, rbx
lea r9, [rsp + 0x1f0]
call fcn.1800a1420
test eax, eax
jne 0x18009ef0b
mov rax, qword [rsi + 0x1f8]
cmp rax, r12
sbb r15, 0xffffffffffffffff
cmp rax, r12
sbb r12, 0
cmp r15, r12
jb 0x18009a690
jmp 0x18009ac6e
mov rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.18009f810
test rax, rax
je 0x18009edcc
nop word cs:[rax + rax]
mov byte [rsp + 0x8d0], 4
jmp 0x18009add3
cmp dword [rdi + 0x100], 4
jne 0x18009a265
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a04a
jmp 0x18009a265
test rdx, rdx
je 0x18009ee9d
lea rcx, [rsp + 0x360]
call fcn.18001bd20
movzx ebx, byte [rsp + 0x360]
cmp bl, 3
jne 0x18009ad9b
nop word [rax + rax]
mov rsi, qword [rdi + 0x3f0]
lea r14, [rsi + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009a926
xor r15d, r15d
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x18009f1fc
cmp dword [rsi + 0x28], 0
je 0x18009a84b
mov ebp, dword [rsi + 0x2c]
cmp dword [rdi + 0x100], 4
jne 0x18009a8c3
cmp qword [rdi + 0x150], 0xfffffffffffffef7
jae 0x18009a8c3
mov dword [rsp + 0x1f4], ebp
mov dword [rsp + 0x1f8], 7
mov byte [rsp + 0x1f0], 8
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x1f0]
call fcn.18007c5d0
cmp al, 0xc
jne 0x18009f1fc
mov dword [rsi + 0x28], 0
xor ebx, ebx
xor r12d, r12d
test r15b, r15b
jne 0x18009a876
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009eef5
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r12, r12
mov rbp, qword [rsp + 0x98]
je 0x18009a8a1
mov byte [rsp + 0x8d0], 4
lea r12, [rsp + 0x208]
jmp 0x18009add3
test rbx, rbx
lea r12, [rsp + 0x208]
je 0x18009a919
lea rcx, [rsp + 0x8d0]
mov rdx, rbx
call fcn.18001bd20
jmp 0x18009add3
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x98]
call fcn.18009f810
mov r12, rax
mov rbx, rdx
test rax, rax
jne 0x18009a857
test rbx, rbx
jne 0x18009a854
cmp dword [rdi + 0x100], 4
mov r12d, 1
jne 0x18009ef67
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a814
jmp 0x18009a857
mov byte [rsp + 0x8d0], 3
jmp 0x18009add3
call fcn.18010ce00
mov r15d, eax
xor r15b, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x18009a7ed
jmp 0x18009f1fc
lea r14, [rsp + 0x208]
mov ebp, 6
lea r15, [rsp + 0x9a8]
mov r12, qword [rsp + 0x118]
lea r13, [rsi + 0xc8]
mov qword [rsp + 0x1f0], 2
mov qword [rsp + 0x210], 0
add eax, dword [rsi + 0xcc]
mov dword [rsi + 0xcc], eax
jmp 0x18009a9f9
cmp byte [rdx + 0x51], 0
je 0x18009abab
shl rax, 0x20
or rax, rcx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x9a8], rcx
mov qword [rsp + 0x9b0], rax
cmp dword [rdx + 0x48], 0x3b9aca00
setne bl
mov rcx, r13
mov rdx, r15
call fcn.180021d80
movdqu xmm0, xmmword [rsp + 0x9a8]
movdqa xmmword [rsp + 0xb60], xmm0
mov rcx, r12
lea rdx, [rsp + 0xb60]
mov r8d, ebx
call fcn.1800210d0
mov eax, dword [rsi + 0xcc]
test eax, eax
jle 0x18009abbe
cmp dword [rsi + 0xec], 0
je 0x18009abbe
mov ecx, dword [rsi + 0xf0]
mov eax, dword [rsi + 0xf4]
cmp ecx, dword [rsi + 0xf8]
jne 0x18009aa90
cmp eax, dword [rsi + 0xfc]
jne 0x18009aa90
mov r8, qword [rsi + 0x1c8]
cmp r8, rcx
jbe 0x18009f1fc
mov rdx, qword [rsi + 0x1b8]
test rdx, rdx
je 0x18009f1fc
imul r9, rcx, 0x130
cmp dword [rdx + r9], 2
je 0x18009f1fc
add r9, rdx
cmp dword [r9 + 0x114], eax
jne 0x18009f1fc
cmp dword [r9 + 0xc4], 0
jne 0x18009f1fc
mov dword [rsi + 0xec], 0
jmp 0x18009ab0d
cmp qword [rsi + 0x1c8], rcx
jbe 0x18009f1fc
mov rdx, qword [rsi + 0x1b8]
test rdx, rdx
je 0x18009f1fc
imul r8, rcx, 0x130
cmp dword [rdx + r8], 2
je 0x18009f1fc
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x18009f1fc
movq xmm0, qword [rdx + 0xc8]
cmp dword [rdx + 0xc4], 0
mov dword [rdx + 0xc4], 0
je 0x18009f1fc
mov dword [rsi + 0xec], 1
movq qword [rsi + 0xf0], xmm0
mov rdx, qword [rsi + 0x1b8]
mov r8, qword [rsi + 0x1c8]
cmp r8, rcx
jbe 0x18009f1fc
test rdx, rdx
je 0x18009f1fc
imul r8, rcx, 0x130
cmp dword [rdx + r8], 2
je 0x18009f1fc
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x18009f1fc
mov byte [rdx + 0x122], 0
cmp qword [rsi + 0x1c8], rcx
jbe 0x18009f1fc
mov rdx, qword [rsi + 0x1b8]
test rdx, rdx
je 0x18009f1fc
cmp dword [rdx + r8], 2
je 0x18009f1fc
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x18009f1fc
movzx r8d, byte [rdx + 0x50]
add r8b, 0xfa
movzx r8d, r8b
cmp r8b, 6
cmovae r8d, ebp
cmp r8b, 5
je 0x18009a990
movzx r8d, r8b
cmp r8d, 3
je 0x18009a990
cmp qword [rdx + 0x88], 0
jne 0x18009a99a
jmp 0x18009a9f3
mov rdx, qword [rsp + 0x1f0]
cmp rdx, 2
je 0x18009ac6e
mov rcx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
test rdx, rdx
je 0x18009abf7
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, r14
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x1f0]
cmp rdx, 2
je 0x18009ac6e
mov rcx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
test rdx, rdx
je 0x18009ac32
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x208]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x1f0]
cmp rax, 2
je 0x18009ac6e
test rax, rax
je 0x18009ac6e
mov rcx, qword [rsp + 0x1f8]
lock dec qword [rcx]
jne 0x18009ac6e
mov rdx, qword [rsp + 0x200]
call fcn.1800537b0
mov bl, 3
mov r14b, 1
cmp dword [rdi + 0x470], 0
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
mov r15, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12d, dword [rsp + 0x84]
je 0x18009aca9
cmp dword [rdi + 0x474], 0
setne byte [rsi + 0x130]
cmp byte [rsp + 0x178], 0
jne 0x18009accd
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ef6c
mov rcx, qword [rsp + 0x100]
call r15
test r12b, r12b
lea r12, [rsp + 0x208]
jne 0x18009acff
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ef8a
mov rcx, qword [rsp + 0x108]
call r15
test r14b, r14b
je 0x18009ad48
cmp dword [rdi + 0x468], 0
mov rdx, qword [rsp + 0x568]
je 0x18009eda3
mov eax, dword [rdi + 0x46c]
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x18009ed6a
cmp ecx, 1
jne 0x18009ed87
cmp qword [rdx], rax
jmp 0x18009ed79
mov byte [rsp + 0x361], 1
mov eax, dword [rsp + 0x4c8]
mov dword [rsp + 0x364], eax
lea rax, [0x180137730]
mov qword [rsp + 0x368], rax
lea rax, [0x18015db18]
mov qword [rsp + 0x370], rax
movdqa xmm0, xmmword [rsp + 0xa80]
lea rax, [rsp + 0x368]
movdqu xmmword [rax + 0x10], xmm0
cmp bl, 3
je 0x18009a7b0
movzx eax, bl
cmp eax, 4
je 0x18009adcc
lea rdx, [rsp + 0x368]
mov rax, qword [rdx + 0x18]
lea rcx, [rsp + 0x8d1]
mov qword [rcx + 0x1f], rax
movdqu xmm0, xmmword [rdx - 7]
movups xmm1, xmmword [rdx + 9]
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov byte [rsp + 0x8d0], bl
mov rdx, qword [rsp + 0x5e0]
cmp rdx, 2
je 0x18009ae90
mov rcx, qword [rsp + 0x5e8]
mov rax, qword [rsp + 0x5f0]
test rdx, rdx
je 0x18009ae0c
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x5f8]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x5e0]
cmp rdx, 2
je 0x18009ae90
mov rcx, qword [rsp + 0x5e8]
mov rax, qword [rsp + 0x5f0]
test rdx, rdx
je 0x18009ae4c
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x5f8]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x5e0]
cmp rax, 2
je 0x18009ae90
test rax, rax
je 0x18009ae90
mov rcx, qword [rsp + 0x5e8]
lock dec qword [rcx]
jne 0x18009ae90
mov rdx, qword [rsp + 0x5f0]
call fcn.1800537b0
nop dword [rax + rax]
mov rax, qword [rdi + 0x368]
cmp rax, 2
je 0x18009aece
mov rcx, qword [rdi + 0x370]
mov r8, qword [rdi + 0x378]
test rax, rax
je 0x18009aec2
mov rax, qword [r8 + 0x10]
dec rax
and rax, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
mov rdx, qword [rsp + 0x520]
call qword [r8 + 0x68]
movzx eax, byte [rsp + 0x8d0]
cmp eax, 3
jne 0x18009f0b8
mov rax, qword [rdi + 0x3f0]
mov rcx, qword [rdi + 0x3f8]
add rax, 0x10
add rcx, 0x10
mov rdx, qword [rsp + 0x588]
mov qword [rsp + 0x738], rdx
mov rdx, qword [rsp + 0x180]
mov qword [rsp + 0x740], rdx
mov qword [rsp + 0x758], rax
mov qword [rsp + 0x760], rcx
mov byte [rsp + 0x768], 0
mov rax, qword [rsp + 0x580]
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x750], rax
mov qword [rsp + 0x530], 2
mov qword [rsp + 0x550], 0
cmp byte [rdi + 0x1b2], 0
jne 0x18009e100
cmp byte [rdi + 0x1b1], 0
je 0x18009b220
cmp byte [rdi + 0x1b0], 0
je 0x18009afe0
lea rcx, [rsp + 0x1f0]
mov rdx, rdi
mov r8, qword [rsp + 0xf0]
call fcn.1800ec320
cmp qword [rsp + 0x1f0], 0
mov r15, qword [rsp + 0x1f8]
jne 0x18009e323
mov r14, qword [rsp + 0x200]
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x360], xmm0
test r15, r15
jne 0x18009b02f
jmp 0x18009e340
lea rcx, [rsp + 0x1f0]
mov rdx, rdi
mov r8, qword [rsp + 0xf0]
call fcn.1800ec320
cmp qword [rsp + 0x1f0], 0
mov r15, qword [rsp + 0x1f8]
jne 0x18009e123
mov r14, qword [rsp + 0x200]
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x360], xmm0
test r15, r15
je 0x18009b217
movaps xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0x5e0], xmm0
movaps xmm0, xmmword [rsp + 0x5e0]
lea rax, [rsp + 0x1c8]
movups xmmword [rax], xmm0
mov r12, qword [rdi + 0x360]
mov qword [rsp + 0x1b8], r15
mov qword [rsp + 0x1c0], r14
mov qword [rsp + 0x188], 2
mov qword [rsp + 0x1a8], 0
cmp r14, 5
jb 0x18009f1fc
lea rax, [r14 - 5]
cmp rax, 3
jbe 0x18009f1fc
movzx eax, byte [r15 + 3]
cmp rax, 9
ja case.default.0x18009b0b6
lea rdx, [0x18009f374]
movsxd rcx, dword [rdx + rax*4]
add rcx, rdx
jmp rcx
xor ecx, ecx
mov r13d, dword [r15 + 5]
movzx r8d, byte [r15 + 4]
mov rdx, qword [rsp + 0x1d8]
mov rbx, qword [rdx]
test cl, cl
jne 0x18009b190
cmp ebx, 2
je 0x18009b190
mov r15b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
mov rbx, qword [rsp + 0x1d0]
test bl, 1
jne 0x18009b697
lock dec qword [rbx + 0x20]
jne 0x18009b6c2
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009b176
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call r14
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call r14
jmp 0x18009b6c2
and r13d, 0xffffff7f
mov esi, r13d
bswap esi
mov r9b, 9
movzx eax, al
lea rcx, [0x18009f39c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov byte [rsp + 0xe8], r8b
mov r8d, 9
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x1b8]
call fcn.180014d70
mov rbx, qword [rsp + 0x208]
test bl, 1
jne 0x18009b7c3
lock dec qword [rbx + 0x20]
jne 0x18009b7ee
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009b7dc
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009b7dc
mov byte [rdi + 0x1b1], 0
nop
mov rsi, qword [rdi + 0x198]
cmp qword [rdi + 0x1a0], rsi
jne 0x18009b249
mov edx, 1
mov rcx, qword [rsp + 0xf0]
call fcn.180014f60
mov rsi, qword [rdi + 0x198]
cmp rsi, 0xffffffffffffffff
je 0x18009b322
mov rbx, qword [rdi + 0x178]
mov r14, qword [rdi + 0x180]
mov rax, qword [rdi + 0x1a0]
cmp rax, rsi
jne 0x18009b28d
mov edx, 0x40
mov rcx, qword [rsp + 0xf0]
call fcn.180014f60
mov rsi, qword [rdi + 0x198]
mov rax, qword [rdi + 0x1a0]
sub rax, rsi
mov rcx, qword [rsp + 0xf0]
add rsi, qword [rcx]
mov qword [rsp + 0x1f0], rsi
mov qword [rsp + 0x1f8], rax
movups xmmword [r13 + 8], xmm6
mov rcx, rbx
mov rdx, rbp
lea r8, [rsp + 0x1f0]
call qword [r14 + 0x18]
test rax, rax
jne 0x18009e140
mov r15, rdx
test rdx, rdx
jne 0x18009e15a
mov rax, qword [rsp + 0x200]
cmp rax, qword [rsp + 0x1f8]
ja 0x18009f1fc
cmp rsi, qword [rsp + 0x1f0]
jne 0x18009f1fc
mov rcx, qword [rdi + 0x198]
add rcx, rax
cmp rcx, qword [rdi + 0x1a0]
ja 0x18009f1fc
mov qword [rdi + 0x198], rcx
test rax, rax
jne 0x18009e0f9
mov al, 1
cmp byte [rdi + 0x1b0], 0
je 0x18009df7f
jmp 0x18009e177
xor ecx, ecx
mov al, 0xa
jmp 0x18009b0ba
mov cl, 1
jmp 0x18009b0ba
mov r14d, r8d
mov r8d, 9
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x1b8]
call fcn.180014d70
mov rbx, qword [rsp + 0x208]
test bl, 1
jne 0x18009b8f3
lock dec qword [rbx + 0x20]
mov r10d, r14d
jne 0x18009b924
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009b90f
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009b90f
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
test r13d, r13d
je 0x18009b5ef
cmp r14, 8
jbe 0x18009f1fc
cmp r14, 0xe
jne 0x18009b5ef
mov ecx, dword [r15 + 9]
bswap ecx
mov eax, ecx
and eax, 0x7fffffff
mov qword [rsp + 0x48], rax
cmp esi, eax
jne 0x18009c59a
movabs rax, 0xffffffff00000000
mov rcx, qword [rsp + 0x40]
and rcx, rax
or rcx, 1
mov qword [rsp + 0x40], rcx
xor eax, eax
mov qword [rsp + 0x48], rax
mov eax, esi
mov qword [rsp + 0x70], rax
jmp 0x18009b66f
cmp r14, 8
jbe 0x18009f1fc
cmp r14, 0xd
je 0x18009bf86
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov al, 1
mov dword [rsp + 0x5c], eax
jmp 0x18009b639
cmp r14, 8
jbe 0x18009f1fc
mov r9b, 0xa
test r13d, r13d
je 0x18009bfcb
mov al, 1
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x80], 0
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x18009b5ef
mov r14d, r8d
mov r8d, 9
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x1b8]
call fcn.180014d70
mov rbx, qword [rsp + 0x208]
test bl, 1
jne 0x18009bd1b
lock dec qword [rbx + 0x20]
jne 0x18009bd46
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009bd34
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009bd34
cmp r14, 8
jbe 0x18009f1fc
xor eax, eax
mov qword [rsp + 0x68], rax
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
test r13d, r13d
jne 0x18009b639
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
mov eax, 0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
cmp r14, 0x11
jne 0x18009b66f
mov rax, qword [r15 + 9]
movq xmm0, rax
and r8b, 1
psrlq xmm0, 0x10
movd dword [rsp + 0xfc], xmm0
mov qword [rsp + 0xe0], rax
shr rax, 0x30
mov qword [rsp + 0x48], rax
mov bl, 1
mov r15b, 5
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x78], eax
mov byte [rsp + 0xd7], r8b
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
jmp 0x18009ce23
cmp r14, 8
jbe 0x18009f1fc
lea rax, [r14 - 9]
cmp rax, 8
jae 0x18009be85
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x80], 0
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x18009b64c
cmp r14, 8
jbe 0x18009f1fc
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov al, 1
mov dword [rsp + 0x5c], eax
cmp r14, 0xd
je 0x18009c020
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
mov esi, dword [rsp + 0x38]
mov r15d, r9d
mov rbx, qword [rsp + 0x1d0]
test bl, 1
je 0x18009b14a
shr rbx, 5
neg rbx
cmp qword [rsp + 0x1c8], rbx
je 0x18009b6c2
add rbx, qword [rsp + 0x1b8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp r15b, 0xa
je 0x18009e266
movzx eax, byte [rsp + 0x156]
mov byte [rsp + 0x14a], al
movzx eax, word [rsp + 0x154]
mov word [rsp + 0x148], ax
mov r8d, 0xd8
lea rcx, [rsp + 0xb60]
lea rdx, [rsp + 0x8d0]
call fcn.1800f8be0
movzx eax, word [rsp + 0x150]
mov word [rsp + 0x144], ax
movzx eax, byte [rsp + 0x152]
mov byte [rsp + 0x146], al
movzx eax, word [rsp + 0x14c]
mov word [rsp + 0x140], ax
movzx eax, byte [rsp + 0x14e]
mov byte [rsp + 0x142], al
cmp r15b, 9
jne 0x18009e191
mov dword [rsp + 0x38], esi
cmp byte [rdi + 0x1b2], 0
je 0x18009af72
jmp 0x18009e100
mov rax, qword [rsp + 0x1d8]
mov qword [rax], 2
mov byte [rsp + 0x118], 0xa
cmp ebx, 2
jne 0x18009bd95
xor esi, esi
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov r9b, 1
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
xor r8d, r8d
lea r14, [0x18015db18]
jmp 0x18009c320
shr rbx, 5
neg rbx
cmp qword [rsp + 0x200], rbx
je 0x18009b7ee
add rbx, qword [rsp + 0x1f0]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1c0]
mov r15, qword [rsp + 0x1d0]
test r15b, 1
jne 0x18009be3b
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], r15
lea r10, [0x18013ac10]
mov qword [rsp + 0xa0], r10
mov rax, r10
shr rax, 0x20
mov qword [rsp + 0x70], rax
mov eax, r10d
mov qword [rsp + 0x48], rax
lea r12, [rsp + 0x208]
test r13d, r13d
je 0x18009d028
movzx ebx, byte [rsp + 0xe8]
mov dword [rsp + 0x3c], ebx
and ebx, 8
mov r8, qword [rsp + 0x40]
je 0x18009c2a6
mov r15, qword [rsp + 0x60]
test r15, r15
lea r13, [rsp + 0x1f8]
je 0x18009c52a
movzx r14d, byte [r8]
cmp r15, r14
jbe 0x18009d03a
cmp r15, 1
jne 0x18009d332
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x360], xmm0
lea rax, [0x180137730]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xb0]
movups xmmword [rax], xmm6
lea rax, [0x18015db18]
jmp 0x18009d397
shr rbx, 5
neg rbx
cmp qword [rsp + 0x200], rbx
mov r10d, r14d
je 0x18009b924
add rbx, qword [rsp + 0x1f0]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10d, r14d
movups xmm0, xmmword [rsp + 0x1b8]
movups xmm1, xmmword [rsp + 0x1c8]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
test r13d, r13d
je 0x18009bf29
test r10b, 8
lea r13, [rsp + 0x1f8]
jne 0x18009c098
xor r8d, r8d
mov r15b, 2
test r10b, 0x20
jne 0x18009c6e6
test r8, r8
je 0x18009b98f
mov rcx, qword [rsp + 0xa8]
mov al, 0xd
sub rcx, r8
jb 0x18009c745
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [r13 + 0xb], xmm0
mov qword [r13 - 5], rax
mov qword [r13 + 3], rcx
movzx eax, byte [rsp + 0x1b4]
lea rcx, [rsp + 0x4fb]
mov byte [rcx + 4], al
mov eax, dword [rsp + 0x1b0]
mov dword [rcx], eax
mov qword [rsp + 0x360], 0
mov rax, qword [rsp + 0x510]
mov byte [rsp + 0x368], al
mov rax, qword [rsp + 0x559]
mov rcx, qword [rsp + 0x560]
lea rdx, [rsp + 0x368]
mov qword [rdx + 8], rcx
mov qword [rdx + 1], rax
mov qword [rsp + 0x378], 2
mov qword [rsp + 0x380], 0
mov qword [rsp + 0x388], 8
movups xmmword [rdx + 0x28], xmm6
mov qword [rsp + 0x3a0], 8
movups xmmword [rdx + 0x40], xmm6
mov word [rdx + 0x50], 0
movzx eax, word [rsp + 0x1ee]
mov word [rdx + 0x56], ax
mov eax, dword [rsp + 0x1ea]
mov dword [rdx + 0x52], eax
mov byte [rsp + 0x3c0], 0xb
mov rax, qword [rsp + 0x6d0]
mov qword [rdx + 0x68], rax
movups xmm0, xmmword [rsp + 0x6c1]
movups xmmword [rdx + 0x59], xmm0
mov qword [rsp + 0x3d8], 0
mov rax, qword [rsp + 0x730]
mov qword [rdx + 0x88], rax
movups xmm0, xmmword [rsp + 0x720]
movups xmmword [rdx + 0x78], xmm0
mov qword [rsp + 0x3f8], 0
mov rax, qword [rsp + 0x718]
mov qword [rdx + 0xa8], rax
movups xmm0, xmmword [rsp + 0x708]
movups xmmword [rdx + 0x98], xmm0
mov qword [rsp + 0x418], 0
mov rax, qword [rsp + 0x700]
mov qword [rdx + 0xc8], rax
movups xmm0, xmmword [rsp + 0x6f0]
movups xmmword [rdx + 0xb8], xmm0
mov qword [rsp + 0x438], 0
mov rax, qword [rsp + 0x6e8]
mov qword [rdx + 0xe8], rax
movups xmm0, xmmword [rsp + 0x6d8]
movups xmmword [rdx + 0xd8], xmm0
mov word [rsp + 0x458], 0
movzx eax, word [rsp + 0x1e8]
mov word [rdx + 0xf6], ax
mov eax, dword [rsp + 0x1e4]
mov dword [rdx + 0xf2], eax
mov byte [rsp + 0x460], 0
mov eax, dword [rsp + 0x4fc]
mov dword [rdx + 0x101], eax
mov rax, qword [rsp + 0x4f4]
mov qword [rdx + 0xf9], rax
mov byte [rsp + 0x46d], r15b
mov word [rsp + 0x46e], 0
mov dword [rsp + 0x470], esi
mov byte [rsp + 0x474], r10b
movzx eax, byte [rsp + 0x1f2]
mov byte [rdx + 0x10f], al
movzx eax, word [rsp + 0x1f0]
mov word [rdx + 0x10d], ax
movups xmm0, xmmword [r13 - 5]
movups xmm1, xmmword [r13 + 0xb]
movaps xmmword [rsp + 0x350], xmm1
movaps xmmword [rsp + 0x340], xmm0
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x340]
mov r8, r12
mov r9, qword [rsp + 0x4a8]
mov ebx, r10d
call fcn.18001c420
cmp al, 0x15
jne 0x18009c5e4
test bl, 4
je 0x18009c64b
mov eax, dword [rsp + 0x360]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x364]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x378]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x37c]
mov qword [rsp + 0x50], rax
mov esi, dword [rsp + 0x380]
mov eax, dword [rsp + 0x384]
mov dword [rsp + 0x3c], eax
movsd xmm10, qword [rsp + 0x388]
mov eax, dword [rsp + 0x390]
mov dword [rsp + 0x158], eax
movzx eax, byte [rsp + 0x394]
mov dword [rsp + 0x78], eax
lea rbx, [rsp + 0x368]
movzx eax, word [rbx + 0x2d]
mov word [rsp + 0x7c], ax
movzx eax, byte [rbx + 0x2f]
mov byte [rsp + 0x7e], al
mov r8d, 0xd8
lea rcx, [rsp + 0x5e0]
lea rdx, [rsp + 0x398]
call fcn.1800f8be0
movzx eax, byte [rsp + 0x470]
mov dword [rsp + 0x8c], eax
movzx eax, byte [rsp + 0x474]
mov dword [rsp + 0x88], eax
movzx eax, word [rbx + 0x109]
mov word [rsp + 0x94], ax
movzx eax, byte [rbx + 0x10b]
mov byte [rsp + 0x96], al
movzx eax, word [rbx + 0x10d]
mov word [rsp + 0x90], ax
movzx eax, byte [rbx + 0x10f]
mov byte [rsp + 0x92], al
lea rcx, [rsp + 0x340]
call fcn.180015330
mov r15b, 1
jmp 0x18009ce11
shr rbx, 5
neg rbx
cmp qword [rsp + 0x200], rbx
je 0x18009bd46
add rbx, qword [rsp + 0x1f0]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
movups xmm0, xmmword [rsp + 0x1b8]
movups xmm1, xmmword [rsp + 0x1c8]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
test r13d, r13d
je 0x18009bf7e
mov eax, r14d
test r14b, 8
jne 0x18009c113
xor eax, eax
mov r13b, 0x13
cmp qword [rsp + 0xa8], 5
jae 0x18009c87a
jmp 0x18009c94c
mov byte [rsp + 0xe8], r8b
mov r8d, 0x138
lea rcx, [rsp + 0x368]
mov rdx, qword [rsp + 0x4b0]
call fcn.1800f8be0
mov qword [rsp + 0x360], rbx
xor eax, eax
test rbx, rbx
sete al
cmp dword [rsp + rax*8 + 0x470], esi
jne 0x18009c18f
mov rbx, qword [rsp + 0x488]
test rbx, rbx
je 0x18009ca2b
cmp byte [rsp + 0x468], 0
je 0x18009cf33
lea rax, [rbx + r14]
cmp rax, r12
jbe 0x18009cf33
mov al, 1
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x84], 0
lea r15, [0x180137730]
xor r12d, r12d
xor r13d, r13d
xor ecx, ecx
lea r14, [0x18015db18]
mov dword [rsp + 0x108], 9
jmp 0x18009c1c4
mov r14, qword [rsp + 0x1c8]
shr r15, 5
sub rax, r15
lea rbx, [r15 + rcx]
cmp rcx, r14
lea r12, [rsp + 0x208]
jne 0x18009c23b
test rbx, rbx
je 0x18009ca86
test al, 1
mov qword [rsp + 0x40], rax
jne 0x18009cfc6
or rax, 1
lea r10, [0x180125618]
jmp 0x18009cfcd
mov esi, dword [r15 + 9]
mov eax, 0xffffff7f
and esi, eax
mov ebx, dword [r15 + 0xd]
add r14, 0xffffffffffffffef
je 0x18009c414
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
js 0x18009f1fc
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009bedd
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f339
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f339
add r15, 0x11
mov rcx, rax
mov rdx, r15
mov r8, r14
mov qword [rsp + 0x40], rax
call fcn.1800f8be0
mov rcx, qword [rsp + 0x40]
test cl, 1
jne 0x18009c4d3
or rcx, 1
lea rax, [0x180125618]
jmp 0x18009c4da
mov r14b, 0x12
lea r13, [rsp + 0x1f8]
mov rbx, qword [rsp + 0xb8]
test bl, 1
lea r12, [rsp + 0x208]
jne 0x18009c761
lock dec qword [rbx + 0x20]
jne 0x18009c78c
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009c77a
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009c77a
mov r13b, 0x12
jmp 0x18009c94c
mov eax, dword [r15 + 9]
bswap eax
mov qword [rsp + 0x48], rax
mov bl, 1
mov r15b, 8
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0xfc], esi
mov qword [rsp + 0xe0], rax
jmp 0x18009ce23
add r14, 0xfffffffffffffff7
mov al, 1
test r8b, 1
jne 0x18009c441
mov dword [rsp + 0x5c], eax
mov eax, 1
mov qword [rsp + 0x70], rax
mov rax, r14
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rax, rcx
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x18009d0b8
mov dword [rsp + 0x80], 0
jmp 0x18009b5ef
movzx r8d, byte [r15 + 9]
movzx eax, byte [r15 + 0xa]
shl eax, 0x10
movzx ecx, byte [r15 + 0xb]
shl ecx, 8
movzx edx, byte [r15 + 0xc]
and r8d, 0x7f
shl r8d, 0x18
or r8d, eax
or r8d, ecx
or r8d, edx
mov qword [rsp + 0x48], r8
mov bl, 1
mov r15b, 7
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
je 0x18009b449
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0xfc], esi
jmp 0x18009c51d
cmp qword [rsp + 0xa8], 0
je 0x18009c571
mov rax, qword [rsp + 0xa0]
movzx r15d, byte [rax]
mov r8d, 1
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0xa0]
call fcn.180014d70
mov rbx, qword [rsp + 0x378]
test bl, 1
jne 0x18009c6a5
lock dec qword [rbx + 0x20]
mov r10d, r14d
jne 0x18009c6d6
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009c6c1
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009c6c1
cmp qword [rsp + 0xa8], 0
je 0x18009c592
mov rax, qword [rsp + 0xa0]
movzx r13d, byte [rax]
mov r8d, 1
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0xa0]
call fcn.180014d70
mov rbx, qword [rsp + 0x378]
test bl, 1
jne 0x18009c836
lock dec qword [rbx + 0x20]
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
jne 0x18009c865
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009c856
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call r15
jmp 0x18009c856
mov al, 1
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x108], 1
lea r15, [0x180137730]
xor r12d, r12d
xor r13d, r13d
xor ecx, ecx
lea r14, [0x18015db18]
mov qword [rsp + 0x48], r14
mov r14d, ecx
lea rcx, [rsp + 0x368]
call fcn.180053da0
lea rcx, [rsp + 0x3c8]
call fcn.18001d0c0
mov rbx, qword [rsp + 0x498]
test bl, 1
jne 0x18009c2b6
lock dec qword [rbx + 0x20]
mov al, 1
mov dword [rsp + 0x5c], eax
jne 0x18009c2e7
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009c228
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call rsi
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call rsi
jmp 0x18009c2e7
mov qword [rsp + 0x40], rax
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009c269
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f321
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f321
add r14, r15
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov qword [rax + 8], r14
mov qword [rax + 0x10], 1
lea r10, [0x180112608]
jmp 0x18009cfcd
xor r14d, r14d
lea r13, [rsp + 0x1f8]
jmp 0x18009d8ac
shr rbx, 5
neg rbx
mov al, 1
mov dword [rsp + 0x5c], eax
cmp qword [rsp + 0x490], rbx
je 0x18009c2e7
add rbx, qword [rsp + 0x480]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0x100]
mov r9d, eax
mov qword [rsp + 0x40], r15
mov eax, dword [rsp + 0x84]
mov esi, eax
mov eax, r12d
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], r13d
mov r8d, r14d
mov r14, qword [rsp + 0x48]
mov eax, dword [rsp + 0x108]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x48], r9
jne 0x18009c357
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
jmp 0x18009c3ee
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
lea r13, [rsp + 0x1f8]
je 0x18009c386
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea r12, [rsp + 0x208]
lea rdx, [rsp + 0x1a0]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
je 0x18009c3ee
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
je 0x18009c3ce
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a0]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x188]
cmp rax, 2
jne 0x18009c532
mov esi, dword [rsp + 0x38]
movzx r9d, byte [rsp + 0x118]
mov r15d, r9d
mov rbx, qword [rsp + 0x1d0]
test bl, 1
je 0x18009b14a
jmp 0x18009b697
lea rax, [0x18015db18]
mov qword [rsp + 0x40], rax
xor ecx, ecx
xor r14d, r14d
lea rax, [0x180137730]
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
jmp 0x18009c4da
mov dword [rsp + 0x5c], eax
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x80], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
mov eax, 0
mov qword [rsp + 0x68], rax
mov eax, 0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
test r14, r14
jne 0x18009b66f
xorps xmm0, xmm0
mov al, 1
mov dword [rsp + 0x78], eax
xor edx, edx
xor r14d, r14d
xor r8d, r8d
xor r10d, r10d
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3c], 0
jmp 0x18009d775
lea rax, [0x180125630]
bswap esi
bswap ebx
mov dword [rsp + 0x3c], ebx
mov qword [rsp + 0x68], rcx
shr rcx, 0x20
mov qword [rsp + 0x50], rcx
mov rcx, rax
mov qword [rsp + 0x48], rax
shr rax, 0x20
mov qword [rsp + 0x70], rax
mov bl, 1
mov r15b, 6
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0xe0], rax
jmp 0x18009d8ec
xor r15d, r15d
jmp 0x18009d03a
test rax, rax
movzx r9d, byte [rsp + 0x118]
je 0x18009b67f
mov rcx, qword [rsp + 0x190]
lock dec qword [rcx]
jne 0x18009b67f
mov rdx, qword [rsp + 0x198]
call fcn.1800537b0
movzx r9d, byte [rsp + 0x118]
jmp 0x18009b67f
mov r14b, 0x13
mov rbx, qword [rsp + 0xb8]
test bl, 1
lea r12, [rsp + 0x208]
je 0x18009bf4d
jmp 0x18009c761
mov r13b, 0x13
jmp 0x18009c94c
movzx eax, byte [r15 + 0xd]
shr ecx, 0x17
and ecx, 0x100
or ecx, eax
mov qword [rsp + 0x70], rcx
mov bl, 1
mov r15b, 2
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0xfc], esi
mov qword [rsp + 0xe0], rax
jmp 0x18009ce23
lea ecx, [rax - 0xc]
movzx ecx, cl
cmp cl, 9
mov edx, 9
cmovae ecx, edx
mov r11d, 1
xor r15d, r15d
mov r10b, 1
cmp cl, 9
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x60]
jne 0x18009ce6d
test r14b, 4
jne 0x18009dab4
add al, 0xfd
lea r13, [0x180137730]
mov r12d, 0
mov ebx, 0
mov ebp, 0
lea r14, [0x18015db18]
cmp al, 9
jb 0x18009cec4
mov r8d, 0x118
lea rbx, [rsp + 0x1f0]
mov rcx, rbx
lea rdx, [rsp + 0x360]
call fcn.1800f8be0
movaps xmm0, xmmword [rsp + 0x340]
movaps xmm1, xmmword [rsp + 0x350]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
mov rsi, qword [rsp + 0x1d8]
mov rcx, rsi
call fcn.18001d020
mov qword [rsi], 0
jmp 0x18009d605
shr rbx, 5
neg rbx
cmp qword [rsp + 0x370], rbx
mov r10d, r14d
je 0x18009c6d6
add rbx, qword [rsp + 0x360]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10d, r14d
mov r8, r15
mov r15b, 2
test r10b, 0x20
je 0x18009b96f
mov al, 0x13
cmp qword [rsp + 0xa8], 5
jb 0x18009c745
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax]
bswap ecx
mov r15d, ecx
movzx eax, byte [rax + 4]
mov byte [rsp + 0x340], cl
and ecx, 0x7fffff00
and r15d, 0x80000000
mov rdx, r15
shl rdx, 9
shl rax, 0x20
or rax, rdx
or rcx, rax
shr rcx, 8
mov dword [rsp + 0x341], ecx
cmp dword [rsp + 0x340], esi
jne 0x18009d2c6
mov al, 0x14
mov r14d, eax
mov rbx, qword [rsp + 0xb8]
test bl, 1
lea r12, [rsp + 0x208]
je 0x18009bf4d
shr rbx, 5
neg rbx
cmp qword [rsp + 0xb0], rbx
je 0x18009c78c
add rbx, qword [rsp + 0xa0]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
lea eax, [r14 - 0xc]
movzx eax, al
cmp al, 9
mov ecx, 9
cmovae eax, ecx
mov cl, 1
mov dword [rsp + 0x5c], ecx
cmp al, 8
mov qword [rsp + 0x510], r14
jne 0x18009c7d7
movabs rax, 0xffffffff00000000
mov rcx, qword [rsp + 0x40]
and rcx, rax
or rcx, 1
mov qword [rsp + 0x40], rcx
xor eax, eax
mov qword [rsp + 0x48], rax
mov ecx, dword [rsp + 0x38]
jmp 0x18009c813
mov esi, 1
xor eax, eax
mov qword [rsp + 0x68], rax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor ecx, ecx
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
mov eax, esi
mov qword [rsp + 0x70], rax
mov r15b, 0xa
mov esi, ecx
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
jne 0x18009d66b
jmp 0x18009b6c2
shr rbx, 5
neg rbx
cmp qword [rsp + 0x370], rbx
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009c865
add rbx, qword [rsp + 0x360]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call r15
mov rax, r13
mov r13b, 0x13
cmp qword [rsp + 0xa8], 5
jb 0x18009c94c
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xa0]
mov r15d, dword [rax]
mov eax, 0xffffff7f
and r15d, eax
mov r8d, 4
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0xa0]
call fcn.180014d70
mov rbx, qword [rsp + 0x378]
test bl, 1
jne 0x18009c8ee
lock dec qword [rbx + 0x20]
lea r13, [rsp + 0x1f8]
mov r10d, r14d
jne 0x18009c927
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009c912
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009c912
shr rbx, 5
neg rbx
cmp qword [rsp + 0x370], rbx
lea r13, [rsp + 0x1f8]
mov r10d, r14d
je 0x18009c927
add rbx, qword [rsp + 0x360]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10d, r14d
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x18009cab2
mov rax, qword [rsp + 0xa8]
mov r13b, 0xd
sub rax, rcx
jae 0x18009caa2
mov rbx, qword [rsp + 0xb8]
test bl, 1
jne 0x18009c987
lock dec qword [rbx + 0x20]
lea r12, [rsp + 0x208]
jne 0x18009c9ba
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009c9a8
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009c9a8
shr rbx, 5
neg rbx
cmp qword [rsp + 0xb0], rbx
lea r12, [rsp + 0x208]
je 0x18009c9ba
add rbx, qword [rsp + 0xa0]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0xd6], r13b
lea r13, [rsp + 0x1f8]
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
jne 0x18009d66b
jmp 0x18009b6c2
mov al, 1
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x108], 1
mov r13, qword [rsp + 0x1c8]
cmp r13, 9
jb 0x18009f1fc
mov rbp, qword [rsp + 0x1d0]
test bpl, 1
jne 0x18009d475
mov qword [rsp + 0x178], rbp
lock inc qword [rbp + 0x20]
jg 0x18009db4a
jmp 0x18009f36a
lea rax, [0x18015db18]
mov qword [rsp + 0x40], rax
xor eax, eax
xor ebx, ebx
lea r10, [0x180137730]
jmp 0x18009cfcd
mov qword [rsp + 0xa8], rax
lea r13, [rsp + 0x1f8]
bswap r15d
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [r13 + 0xf], xmm0
mov qword [r13 - 1], rax
mov qword [r13 + 7], rcx
mov qword [rsp + 0x360], 0
movzx eax, byte [rsp + 0xd6]
mov byte [rsp + 0x368], al
mov rax, qword [rsp + 0x559]
mov rcx, qword [rsp + 0x560]
lea rdx, [rsp + 0x368]
mov qword [rdx + 8], rcx
mov qword [rdx + 1], rax
mov qword [rsp + 0x378], 2
mov qword [rsp + 0x380], 0
mov qword [rsp + 0x388], 8
movups xmmword [rdx + 0x28], xmm6
mov qword [rsp + 0x3a0], 8
movups xmmword [rdx + 0x40], xmm6
mov word [rdx + 0x50], 0
movzx eax, word [rsp + 0x1ee]
mov word [rdx + 0x56], ax
mov eax, dword [rsp + 0x1ea]
mov dword [rdx + 0x52], eax
mov byte [rsp + 0x3c0], 0xb
mov rax, qword [rsp + 0x6d0]
mov qword [rdx + 0x68], rax
movups xmm0, xmmword [rsp + 0x6c1]
movups xmmword [rdx + 0x59], xmm0
mov qword [rsp + 0x3d8], 0
mov rax, qword [rsp + 0x730]
mov qword [rdx + 0x88], rax
movups xmm0, xmmword [rsp + 0x720]
movups xmmword [rdx + 0x78], xmm0
mov qword [rsp + 0x3f8], 0
mov rax, qword [rsp + 0x718]
mov qword [rdx + 0xa8], rax
movups xmm0, xmmword [rsp + 0x708]
movups xmmword [rdx + 0x98], xmm0
mov qword [rsp + 0x418], 0
mov rax, qword [rsp + 0x700]
mov qword [rdx + 0xc8], rax
movups xmm0, xmmword [rsp + 0x6f0]
movups xmmword [rdx + 0xb8], xmm0
mov qword [rsp + 0x438], 0
mov rax, qword [rsp + 0x6e8]
mov qword [rdx + 0xe8], rax
movups xmm0, xmmword [rsp + 0x6d8]
movups xmmword [rdx + 0xd8], xmm0
mov word [rsp + 0x458], 0
movzx eax, word [rsp + 0x1e8]
mov word [rdx + 0xf6], ax
mov eax, dword [rsp + 0x1e4]
mov dword [rdx + 0xf2], eax
mov byte [rsp + 0x460], 0
mov eax, dword [rsp + 0x4f4]
mov ecx, dword [rsp + 0x4f7]
mov dword [rdx + 0xfc], ecx
mov dword [rdx + 0xf9], eax
mov dword [rsp + 0x468], esi
mov dword [rsp + 0x46c], r15d
mov byte [rsp + 0x470], r10b
mov eax, dword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x1f3]
mov dword [rdx + 0x10c], ecx
mov dword [rdx + 0x109], eax
movups xmm0, xmmword [r13 - 1]
movups xmm1, xmmword [r13 + 0xf]
movaps xmmword [rsp + 0x350], xmm1
movaps xmmword [rsp + 0x340], xmm0
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x340]
mov r8, r12
mov r9, qword [rsp + 0x4a8]
mov ebx, r10d
call fcn.18001c420
cmp al, 0x15
jne 0x18009ce38
test bl, 4
je 0x18009d5b0
mov eax, dword [rsp + 0x360]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x364]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x378]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x37c]
mov qword [rsp + 0x50], rax
mov esi, dword [rsp + 0x380]
mov eax, dword [rsp + 0x384]
mov dword [rsp + 0x3c], eax
movsd xmm10, qword [rsp + 0x388]
mov eax, dword [rsp + 0x390]
mov dword [rsp + 0x158], eax
movzx eax, byte [rsp + 0x394]
mov dword [rsp + 0x78], eax
lea rbx, [rsp + 0x368]
movzx eax, word [rbx + 0x2d]
mov word [rsp + 0x7c], ax
movzx eax, byte [rbx + 0x2f]
mov byte [rsp + 0x7e], al
mov r8d, 0xd8
lea rcx, [rsp + 0x5e0]
lea rdx, [rsp + 0x398]
call fcn.1800f8be0
movzx eax, byte [rsp + 0x470]
mov dword [rsp + 0x8c], eax
movzx eax, byte [rsp + 0x474]
mov dword [rsp + 0x88], eax
movzx eax, word [rbx + 0x109]
mov word [rsp + 0x94], ax
movzx eax, byte [rbx + 0x10b]
mov byte [rsp + 0x96], al
movzx eax, word [rbx + 0x10d]
mov word [rsp + 0x90], ax
movzx eax, byte [rbx + 0x10f]
mov byte [rsp + 0x92], al
lea rcx, [rsp + 0x340]
call fcn.180015330
mov r15b, 3
xor ebx, ebx
mov qword [rsp + 0xe0], rax
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
jmp 0x18009d8ec
lea ecx, [rax - 0xc]
movzx ecx, cl
cmp cl, 9
mov edx, 9
cmovae ecx, edx
mov r11d, 1
xor r15d, r15d
mov r10b, 1
cmp cl, 9
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x60]
je 0x18009d57e
movzx eax, cl
lea r13, [0x180137730]
mov r12d, 0
mov ebx, 0
mov ebp, 0
lea r14, [0x18015db18]
cmp eax, 7
jne 0x18009cec4
movabs rax, 0xffffffff00000000
mov r13, qword [rsp + 0x40]
and r13, rax
or r13, 1
xor r10d, r10d
mov r15d, edx
mov rax, qword [rsp + 0x50]
mov r12d, eax
mov ebx, dword [rsp + 0x38]
mov ebp, r8d
mov r14, r9
mov r11d, esi
mov dword [rsp + 0x38], r11d
lea rcx, [rsp + 0x340]
mov esi, r10d
call fcn.180015330
lea rcx, [rsp + 0x360]
call fcn.180053da0
lea rcx, [rsp + 0x3c0]
call fcn.18001d0c0
mov ecx, r15d
mov r15b, 0xa
mov al, 1
mov dword [rsp + 0x5c], eax
mov eax, esi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r13
mov eax, ecx
mov qword [rsp + 0x68], rax
mov eax, r12d
mov qword [rsp + 0x50], rax
mov esi, ebx
mov dword [rsp + 0x3c], ebp
mov qword [rsp + 0x60], r14
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x70], rax
jmp 0x18009d641
mov al, 1
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x108], 1
cmp r14, 8
jbe 0x18009f1fc
add r14, 0xfffffffffffffff7
add r15, 9
mov r13, qword [rsp + 0x490]
mov rax, r13
sub rax, rbx
cmp rax, r14
jae 0x18009cf97
lea rcx, [rsp + 0x480]
mov rdx, r14
call fcn.180014f60
mov rbx, qword [rsp + 0x488]
mov r13, qword [rsp + 0x490]
mov rcx, qword [rsp + 0x480]
add rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.1800f8be0
add rbx, r14
cmp rbx, r13
ja 0x18009f1fc
mov qword [rsp + 0x488], rbx
jmp 0x18009dc0d
lea r10, [0x180125630]
sub rbx, r15
jb 0x18009f1fc
mov rcx, qword [rsp + 0x40]
add rcx, r15
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
mov rcx, r10
shr rcx, 0x20
mov qword [rsp + 0x70], rcx
mov r15, rax
mov eax, r10d
mov qword [rsp + 0x48], rax
test r13d, r13d
jne 0x18009b866
lea r13, [rsp + 0x1f8]
mov r8, qword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
lea rcx, [rsp + 0xb8]
mov rdx, r8
mov r8, r15
call qword [r10 + 0x10]
mov r15b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x80], 0
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
jne 0x18009d66b
jmp 0x18009b6c2
test r14, r14
je 0x18009d74b
add r15, 9
xorps xmm0, xmm0
mov dword [rsp + 0x3c], 0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], rax
xor r10d, r10d
xor r8d, r8d
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0
jmp 0x18009d13c
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
or r13d, ebx
movd xmm1, r13d
movss xmm0, xmm1
mov dword [rsp + 0x3c], 1
nop dword [rax]
add r15, r12
sub r14, r12
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
je 0x18009d723
cmp r14, 6
mov r12d, 6
cmovb r12, r14
cmp r12, 1
je 0x18009f1fc
cmp r12, 2
jbe 0x18009f1fc
cmp r12, 3
je 0x18009f1fc
cmp r12, 4
jbe 0x18009f1fc
cmp r12, 5
je 0x18009f1fc
movzx eax, byte [r15]
movzx r11d, byte [r15 + 1]
shl eax, 8
add eax, r11d
dec eax
cmp eax, 7
ja case.0x18009d1b4.7
movzx ebp, byte [r15 + 2]
movzx r11d, byte [r15 + 3]
movzx r13d, byte [r15 + 4]
movzx ebx, byte [r15 + 5]
lea rdx, [0x18009f3c8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov dword [rsp + 0x38], 1
mov eax, r13d
mov dword [rsp + 0x60], r13d
jmp case.0x18009d1b4.7
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
mov r9d, r13d
or r9d, ebx
mov dword [rsp + 0x48], 1
cmp r9d, 2
jb case.0x18009d1b4.7
jmp 0x18009debb
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov r8d, 1
mov eax, r13d
mov dword [rsp + 0x40], r13d
jmp case.0x18009d1b4.7
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov qword [rsp + 0x68], r13
mov r10d, 1
jns case.0x18009d1b4.7
jmp 0x18009debb
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
lea eax, [r11 + r13]
add eax, 0xffffc000
cmp eax, 0xffc000
jae 0x18009debb
mov eax, 1
mov qword [rsp + 0x50], rax
or r11d, r13d
or r11d, ebx
mov esi, r11d
jmp case.0x18009d1b4.7
shl ebp, 0x18
shl r11d, 0x10
or r11d, ebp
shl r13d, 8
or r13d, r11d
mov ecx, r13d
or ecx, ebx
cmp ecx, 2
jae 0x18009df0f
movaps xmm1, xmm7
movss xmm1, xmm0
movaps xmm0, xmm1
jmp case.0x18009d1b4.7
mov qword [rsp + 0xe8], r8
shr r15d, 0x1f
mov r8d, 5
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0xa0]
call fcn.180014d70
mov rbx, qword [rsp + 0x378]
test bl, 1
jne 0x18009d51a
lock dec qword [rbx + 0x20]
mov r10d, r14d
jne 0x18009d54b
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009d536
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009d536
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0xb8]
mov r9, r15
call qword [r10]
dec qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0x200], 1
movups xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x360], xmm0
mov rcx, qword [rsp + 0x200]
mov qword [rsp + 0x370], rcx
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x378], rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x360]
mov rdx, qword [rsp + 0x368]
mov r8, qword [rsp + 0x370]
lea rcx, [rsp + 0x378]
call qword [rax + 0x10]
mov rax, r14
not rax
add r15, rax
mov r9, qword [rsp + 0xb0]
cmp r9, r15
jb 0x18009f1fc
jne 0x18009d40d
lea rax, [0x18015db18]
mov qword [rsp + 0x368], rax
lea rax, [rsp + 0x368]
movups xmmword [rax + 8], xmm6
lea rax, [0x180137730]
mov qword [rsp + 0x360], rax
jmp 0x18009d84b
test r15, r15
je 0x18009d802
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0xb8]
call qword [rax]
sub qword [rsp + 0x200], r15
mov qword [rsp + 0xb0], r15
add qword [rsp + 0x1f8], r15
movups xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x360], xmm0
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x370], xmm0
jmp 0x18009d84b
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009d49e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f359
mov qword [0x18016cb80], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f359
mov rbx, rax
mov rax, rbp
shr rax, 5
lea rcx, [rax + r13]
mov rdx, r15
sub rdx, rax
add rax, r14
shr ebp, 2
and ebp, 7
mov qword [rbx], rdx
mov qword [rbx + 8], rcx
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rbp
mov qword [rbx + 0x20], 2
mov qword [rsp + 0x1d0], rbx
test bl, 1
je 0x18009d50d
cmp rbx, 0xfffffffffffffee0
jae 0x18009dace
add rbx, 0x120
mov qword [rsp + 0x178], rbx
jmp 0x18009db4a
shr rbx, 5
neg rbx
cmp qword [rsp + 0x370], rbx
mov r10d, r14d
je 0x18009d54b
add rbx, qword [rsp + 0x360]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10d, r14d
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x1b0], eax
movzx eax, byte [rsp + 0x344]
mov byte [rsp + 0x1b4], al
mov r8, qword [rsp + 0xe8]
test r8, r8
jne 0x18009b974
jmp 0x18009b98f
test r14b, 4
jne 0x18009dab4
add al, 0xfd
lea r13, [0x180137730]
mov r12d, 0
mov ebx, 0
mov ebp, 0
lea r14, [0x18015db18]
cmp al, 9
jb 0x18009cec4
mov r8d, 0x118
lea rbx, [rsp + 0x1f0]
mov rcx, rbx
lea rdx, [rsp + 0x360]
call fcn.1800f8be0
movaps xmm0, xmmword [rsp + 0x340]
movaps xmm1, xmmword [rsp + 0x350]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
mov rsi, qword [rsp + 0x1d8]
mov rcx, rsi
call fcn.18001d020
mov qword [rsi], 1
mov r8d, 0x118
mov rcx, qword [rsp + 0x4b0]
mov rdx, rbx
call fcn.1800f8be0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
mov rax, qword [rsp + 0x500]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov r15b, 9
mov esi, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
je 0x18009b6c2
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
je 0x18009d692
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x1a0]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
je 0x18009b6c2
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
je 0x18009d6d6
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a0]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x188]
cmp rax, 2
je 0x18009b6c2
test rax, rax
je 0x18009b6c2
mov rcx, qword [rsp + 0x190]
lock dec qword [rcx]
jne 0x18009b6c2
mov rdx, qword [rsp + 0x198]
call fcn.1800537b0
jmp 0x18009b6c2
mov eax, dword [rsp + 0x60]
mov r11d, eax
and r11d, 0xffffff00
movzx eax, al
mov dword [rsp + 0x78], 0
mov edx, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x40]
jmp 0x18009d782
xorps xmm0, xmm0
xor edx, edx
xor r14d, r14d
xor r8d, r8d
xor r10d, r10d
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x78], 0
xor eax, eax
xor r11d, r11d
lea r13, [rsp + 0x1f8]
or eax, r11d
mov qword [rsp + 0x48], rax
shl r10, 0x20
mov eax, ebx
or rax, r10
mov qword [rsp + 0x60], rax
shl r8, 0x20
mov eax, r9d
or rax, r8
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x1f2]
mov byte [rsp + 0x7e], al
movzx eax, word [rsp + 0x1f0]
mov word [rsp + 0x7c], ax
mov bl, 1
mov r15b, 4
mov eax, r14d
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x158], ecx
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0xfc], edx
mov qword [rsp + 0xe0], rax
movaps xmm10, xmm0
lea r12, [rsp + 0x208]
jmp 0x18009d8ec
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x360], xmm0
lea rax, [0x180137730]
mov qword [rsp + 0xa0], rax
lea rax, [0x18015db18]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xb0]
movups xmmword [rax], xmm6
mov rax, qword [rsp + 0x360]
mov rdx, qword [rsp + 0x368]
mov r8, qword [rsp + 0x370]
lea rcx, [rsp + 0x378]
call qword [rax + 0x10]
shl r14d, 0x10
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xa4]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov r15, qword [rsp + 0xb8]
shl ebx, 5
mov eax, dword [rsp + 0x3c]
and eax, 9
or eax, ebx
or eax, r14d
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x68], r15
shr r15, 0x20
mov qword [rsp + 0x50], r15
xor r15d, r15d
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0xe0], rax
xor ebx, ebx
movzx eax, byte [rsp + 0x7e]
mov byte [rsp + 0x156], al
movzx eax, word [rsp + 0x7c]
mov word [rsp + 0x154], ax
mov r8d, 0xd8
lea rcx, [rsp + 0x8d0]
lea rdx, [rsp + 0x5e0]
call fcn.1800f8be0
movzx eax, word [rsp + 0x94]
mov word [rsp + 0x150], ax
movzx eax, byte [rsp + 0x96]
mov byte [rsp + 0x152], al
movzx eax, word [rsp + 0x90]
mov word [rsp + 0x14c], ax
movzx eax, byte [rsp + 0x92]
mov byte [rsp + 0x14e], al
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
je 0x18009da13
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
je 0x18009d997
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x1a0]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x188]
cmp rdx, 2
je 0x18009da13
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test rdx, rdx
je 0x18009d9d7
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a0]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x188]
cmp rax, 2
je 0x18009da13
test rax, rax
je 0x18009da13
mov rcx, qword [rsp + 0x190]
lock dec qword [rcx]
jne 0x18009da13
mov rdx, qword [rsp + 0x198]
call fcn.1800537b0
mov rax, qword [rsp + 0x48]
mov ecx, eax
shr ecx, 8
mov dword [rsp + 0x5c], ecx
shr eax, 0x10
mov dword [rsp + 0x80], eax
test bl, bl
je 0x18009b6cc
mov rbx, qword [rsp + 0x1d0]
test bl, 1
jne 0x18009da80
lock dec qword [rbx + 0x20]
jne 0x18009b6cc
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009da6c
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call r14
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call r14
jmp 0x18009b6cc
shr rbx, 5
neg rbx
cmp qword [rsp + 0x1c8], rbx
je 0x18009b6cc
add rbx, qword [rsp + 0x1b8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009b6cc
lea r13, [0x180137730]
xor r12d, r12d
xor ebx, ebx
xor ebp, ebp
lea r14, [0x18015db18]
jmp 0x18009cec4
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009daf7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f359
mov qword [0x18016cb80], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f359
mov r8, rbx
shr r8, 5
lea rcx, [r8 + r13]
mov rdx, r15
sub rdx, r8
add r8, r14
shr ebx, 2
and ebx, 7
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], rbx
mov qword [rsp + 0x178], rax
mov qword [rax + 0x20], 1
add r13, 0xfffffffffffffff7
add r15, 9
mov rax, r14
sub rax, 9
mov ebp, 0
cmovae rbp, rax
mov eax, 9
cmovae r14, rax
mov qword [rsp + 0x1c8], 9
mov qword [rsp + 0x1c0], r14
mov rbx, qword [rsp + 0x498]
test bl, 1
jne 0x18009dbb2
lock dec qword [rbx + 0x20]
jne 0x18009dbdd
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009dbcb
mov r8, qword [rbx]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009dbcb
shr rbx, 5
neg rbx
cmp qword [rsp + 0x490], rbx
je 0x18009dbdd
add rbx, qword [rsp + 0x480]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x480], r15
mov qword [rsp + 0x488], rbp
mov qword [rsp + 0x490], r13
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x498], rax
mov rbp, qword [rsp + 0x98]
lea rcx, [rsp + 0x368]
lea rdx, [rsp + 0x480]
mov r8, r12
mov r9, qword [rsp + 0x4a8]
call fcn.18001c420
cmp al, 0x15
jne 0x18009dd94
test byte [rsp + 0xe8], 4
je 0x18009de5b
mov eax, dword [rsp + 0x478]
mov ecx, dword [rsp + 0x47c]
mov rdx, qword [rsp + 0x360]
mov r8d, eax
or r8b, 4
test rdx, rdx
movzx r8d, r8b
cmove r8d, eax
mov dword [rsp + 0x8c], r8d
mov eax, ecx
or al, 4
test rdx, rdx
mov edx, dword [rsp + 0x368]
mov qword [rsp + 0x48], rdx
mov edx, dword [rsp + 0x36c]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x370]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x378]
mov qword [rsp + 0x60], rdx
mov edx, dword [rsp + 0x380]
mov qword [rsp + 0x68], rdx
mov edx, dword [rsp + 0x384]
mov qword [rsp + 0x50], rdx
mov esi, dword [rsp + 0x388]
mov edx, dword [rsp + 0x38c]
mov dword [rsp + 0x3c], edx
movsd xmm10, qword [rsp + 0x390]
mov edx, dword [rsp + 0x398]
mov dword [rsp + 0x158], edx
lea rbx, [rsp + 0x368]
movzx edx, word [rbx + 0x35]
mov word [rsp + 0x7c], dx
movzx edx, byte [rsp + 0x39c]
mov dword [rsp + 0x78], edx
movzx edx, byte [rbx + 0x37]
mov byte [rsp + 0x7e], dl
movzx eax, al
cmovne eax, ecx
mov dword [rsp + 0x88], eax
setne r15b
mov r8d, 0xd8
lea rcx, [rsp + 0x5e0]
lea rdx, [rsp + 0x3a0]
call fcn.1800f8be0
movzx eax, word [rbx + 0x111]
mov word [rsp + 0x94], ax
movzx eax, byte [rbx + 0x113]
mov byte [rsp + 0x96], al
movzx eax, word [rbx + 0x115]
mov word [rsp + 0x90], ax
movzx eax, byte [rbx + 0x117]
mov byte [rsp + 0x92], al
add r15b, r15b
or r15b, 1
lea rcx, [rsp + 0x480]
call fcn.180015330
mov bl, 1
jmp 0x18009bfbe
add al, 0xf4
movzx ecx, al
cmp cl, 9
mov edx, 9
cmovae ecx, edx
cmp cl, 9
movzx edx, byte [rsp + 0xe8]
je 0x18009de2b
movzx eax, cl
lea r15, [0x180137730]
mov r12d, 0
mov r13d, 0
mov ecx, 0
lea r14, [0x18015db18]
cmp eax, 7
jne 0x18009c1c4
movabs rax, 0xffffffff00000000
mov r15, qword [rsp + 0x40]
and r15, rax
or r15, 1
mov dword [rsp + 0x100], 0
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x50]
mov r12d, eax
mov r13d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x108], esi
jmp 0x18009c1c4
test dl, 4
jne 0x18009c1ae
lea r15, [0x180137730]
mov r12d, 0
mov r13d, 0
mov ecx, 0
lea r14, [0x18015db18]
cmp al, 0xf6
ja 0x18009c1c4
mov r8d, 0x140
lea rbx, [rsp + 0x1f0]
mov rcx, rbx
lea rdx, [rsp + 0x360]
call fcn.1800f8be0
mov rsi, qword [rsp + 0x1d8]
mov rcx, rsi
call fcn.18001d020
mov r8d, 0x140
mov rcx, rsi
mov rdx, rbx
call fcn.1800f8be0
mov byte [rsp + 0x118], 9
mov rsi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
jmp 0x18009c320
mov dword [rsp + 0x80], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x18009df57
mov dword [rsp + 0x80], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180137730]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x18015db18]
mov qword [rsp + 0x60], rax
mov rbp, qword [rsp + 0x98]
mov r9b, 0xa
jmp 0x18009b66f
mov al, 1
cmp byte [rdi + 0x1b0], 0
jne 0x18009e177
mov byte [rdi + 0x1b0], al
mov byte [rdi + 0x1b1], 1
cmp byte [rdi + 0x1b2], 0
jne 0x18009e100
test al, al
jne 0x18009af88
lea rcx, [rsp + 0x1f0]
mov rdx, rdi
mov r8, qword [rsp + 0xf0]
call fcn.1800ec320
cmp qword [rsp + 0x1f0], 0
mov r15, qword [rsp + 0x1f8]
jne 0x18009e123
mov r14, qword [rsp + 0x200]
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x360], xmm0
test r15, r15
jne 0x18009b02f
mov byte [rdi + 0x1b1], 0
mov rsi, qword [rdi + 0x198]
cmp qword [rdi + 0x1a0], rsi
jne 0x18009e020
mov edx, 1
mov rcx, qword [rsp + 0xf0]
call fcn.180014f60
mov rsi, qword [rdi + 0x198]
cmp rsi, 0xffffffffffffffff
je 0x18009df70
mov rbx, qword [rdi + 0x178]
mov r14, qword [rdi + 0x180]
mov rax, qword [rdi + 0x1a0]
cmp rax, rsi
jne 0x18009e064
mov edx, 0x40
mov rcx, qword [rsp + 0xf0]
call fcn.180014f60
mov rsi, qword [rdi + 0x198]
mov rax, qword [rdi + 0x1a0]
sub rax, rsi
mov rcx, qword [rsp + 0xf0]
add rsi, qword [rcx]
mov qword [rsp + 0x1f0], rsi
mov qword [rsp + 0x1f8], rax
movups xmmword [r13 + 8], xmm6
mov rcx, rbx
mov rdx, rbp
lea r8, [rsp + 0x1f0]
call qword [r14 + 0x18]
test rax, rax
jne 0x18009e140
mov r15, rdx
test rdx, rdx
jne 0x18009e15a
mov rax, qword [rsp + 0x200]
cmp rax, qword [rsp + 0x1f8]
ja 0x18009f1fc
cmp rsi, qword [rsp + 0x1f0]
jne 0x18009f1fc
mov rcx, qword [rdi + 0x198]
add rcx, rax
cmp rcx, qword [rdi + 0x1a0]
ja 0x18009f1fc
mov qword [rdi + 0x198], rcx
test rax, rax
je 0x18009df70
xor eax, eax
jmp 0x18009df7f
mov word [rdi + 0x1b1], 0
mov r15b, 0xa
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
jmp 0x18009e609
mov byte [rdi + 0x1b2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x18009f3e8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
mov r15b, 0xb
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
jmp 0x18009e609
mov byte [rdi + 0x1b2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x18009f3e8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
mov r15b, 0xa
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
jmp 0x18009e609
mov eax, dword [rsp + 0x80]
shl eax, 0x10
movzx ecx, byte [rsp + 0x5c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x48]
or eax, ecx
mov dword [rsp + 0x15c], eax
movzx eax, byte [rsp + 0x14a]
mov byte [rsp + 0x13e], al
movzx eax, word [rsp + 0x148]
mov word [rsp + 0x13c], ax
mov r8d, 0xd8
lea rcx, [rsp + 0x9a8]
lea rdx, [rsp + 0xb60]
call fcn.1800f8be0
movzx eax, word [rsp + 0x144]
mov word [rsp + 0x138], ax
movzx eax, byte [rsp + 0x146]
mov byte [rsp + 0x13a], al
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x134], ax
movzx eax, byte [rsp + 0x142]
mov byte [rsp + 0x136], al
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x4cc], eax
mov eax, dword [rsp + 0x78]
mov byte [rsp + 0xda], al
mov eax, dword [rsp + 0x8c]
mov byte [rsp + 0xd9], al
mov eax, dword [rsp + 0x88]
mov byte [rsp + 0xd8], al
movaps xmm9, xmm10
jmp 0x18009e28b
mov eax, dword [rsp + 0x80]
shl eax, 0x10
movzx ecx, byte [rsp + 0x5c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x48]
or eax, ecx
mov dword [rsp + 0x15c], eax
mov r15b, 9
movzx eax, byte [rsp + 0xd7]
mov byte [rsp + 0xdb], al
mov rax, qword [rsp + 0xe0]
mov word [rsp + 0x174], ax
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x4d0], eax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x16c], eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x168], eax
mov dword [rsp + 0x164], esi
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x160], eax
mov dword [rsp + 0x38], esi
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
jmp 0x18009e609
mov byte [rdi + 0x1b2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x18009f3e8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
cmp qword [rdi + 0x198], 0
je 0x18009ee10
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009e377
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f348
mov qword [0x18016cb80], rax
mov r8d, 0x19
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f348
mov rbx, rax
movups xmm0, xmmword [0x180137048]
movups xmmword [rax + 9], xmm0
movups xmm0, xmmword [0x18013703f]
movups xmmword [rax], xmm0
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009e3d2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f321
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f321
mov r14, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x19
mov qword [rax + 0x10], 0x19
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18009e42b
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18009f321
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18009f321
mov r15, rax
mov qword [rax], r14
lea rax, fcn.180013380
mov qword [r15 + 8], rax
mov byte [r15 + 0x10], 0x27
inc r15
mov byte [rdi + 0x1b2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x18009f3e8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
jmp 0x18009e495
movzx eax, byte [r15 + 0xf]
jmp 0x18009e495
mov rcx, r15
shr rcx, 0x20
call fcn.1800d1990
cmp al, 0x15
jne 0x18009e570
lea rax, [rsi - 2]
cmp rax, 2
jb 0x18009e570
test rsi, rsi
je 0x18009e570
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax + 0x38]
movabs rcx, 0xa70f35c6bbfb8982
xor rdx, rcx
movabs rcx, 0xba42389ac27cf100
xor rax, rcx
or rax, rdx
jne 0x18009e570
lea rbx, [r15 - 1]
lea rax, [0x180137730]
mov qword [rsp + 0x1f8], rax
lea rax, [0x18015db18]
mov qword [rsp + 0x200], rax
movups xmmword [r12], xmm6
mov dword [rsp + 0x1f4], 6
mov word [rsp + 0x1f0], 0x101
mov r14, qword [r15 - 1]
mov rsi, qword [r15 + 7]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x18009e54f
cmp qword [rsi + 0x10], 0x11
jb 0x18009e53d
mov r14, qword [r14 - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009e580
lea rcx, [rsp + 0x1f0]
mov rdx, r15
call fcn.18001bd20
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x1f4]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x4b8], rax
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x168], eax
mov eax, dword [rsp + 0x210]
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x214]
mov dword [rsp + 0x160], eax
mov r15b, 9
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
mov rcx, qword [rsp + 0x538]
mov rax, qword [rsp + 0x540]
test rdx, rdx
je 0x18009e630
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x548]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
mov rcx, qword [rsp + 0x538]
mov rax, qword [rsp + 0x540]
test rdx, rdx
je 0x18009e670
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x548]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x530]
cmp rax, 2
je 0x18009e6b0
test rax, rax
je 0x18009e6b0
mov rcx, qword [rsp + 0x538]
lock dec qword [rcx]
jne 0x18009e6b0
mov rdx, qword [rsp + 0x540]
call fcn.1800537b0
nop dword [rax]
mov al, 9
cmp r15b, 0xa
je 0x18009e82d
movzx eax, r15b
cmp eax, 9
je 0x18009f184
cmp eax, 0xb
je 0x18009f174
movzx eax, byte [rsp + 0x13e]
mov byte [rsp + 0x132], al
movzx eax, word [rsp + 0x13c]
mov word [rsp + 0x130], ax
mov r8d, 0xd8
lea rcx, [rsp + 0xa80]
lea rdx, [rsp + 0x9a8]
call fcn.1800f8be0
movzx eax, word [rsp + 0x138]
mov word [rsp + 0x12c], ax
movzx eax, byte [rsp + 0x13a]
mov byte [rsp + 0x12e], al
movzx eax, word [rsp + 0x134]
mov word [rsp + 0x128], ax
movzx eax, byte [rsp + 0x136]
mov byte [rsp + 0x12a], al
movzx eax, byte [rsp + 0xdb]
mov byte [rsp + 0xdf], al
movzx eax, word [rsp + 0x174]
mov word [rsp + 0x176], ax
mov eax, dword [rsp + 0x4d0]
mov dword [rsp + 0x4f0], eax
mov eax, dword [rsp + 0x15c]
mov dword [rsp + 0x4ec], eax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x4e8], eax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0x590], rax
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x4e4], eax
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x4e0], eax
mov eax, dword [rsp + 0x164]
mov dword [rsp + 0x4dc], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x4d8], eax
mov eax, dword [rsp + 0x4cc]
mov dword [rsp + 0x4d4], eax
movzx eax, byte [rsp + 0xda]
mov byte [rsp + 0xde], al
movzx eax, byte [rsp + 0xd9]
mov byte [rsp + 0xdd], al
mov eax, r15d
movzx ecx, byte [rsp + 0xd8]
mov byte [rsp + 0xdc], cl
movaps xmm8, xmm9
mov byte [rsp + 0x7b0], al
movzx eax, byte [rsp + 0xdf]
mov byte [rsp + 0x7b1], al
movzx eax, word [rsp + 0x176]
mov word [rsp + 0x7b2], ax
mov eax, dword [rsp + 0x4f0]
mov dword [rsp + 0x7b4], eax
mov eax, dword [rsp + 0x4ec]
mov dword [rsp + 0x7b8], eax
mov eax, dword [rsp + 0x4e8]
mov dword [rsp + 0x7bc], eax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x7c0], rax
mov rax, qword [rsp + 0x590]
mov qword [rsp + 0x7c8], rax
mov eax, dword [rsp + 0x4e4]
mov dword [rsp + 0x7d0], eax
mov eax, dword [rsp + 0x4e0]
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0x4dc]
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x4d8]
mov dword [rsp + 0x7dc], eax
movlps qword [rsp + 0x7e0], xmm8
mov eax, dword [rsp + 0x4d4]
mov dword [rsp + 0x7e8], eax
movzx eax, byte [rsp + 0xde]
mov byte [rsp + 0x7ec], al
movzx eax, byte [rsp + 0x132]
lea rsi, [rsp + 0x7ed]
mov byte [rsi + 2], al
movzx eax, word [rsp + 0x130]
mov word [rsi], ax
mov r8d, 0xd8
lea rcx, [rsp + 0x7f0]
lea rdx, [rsp + 0xa80]
call fcn.1800f8be0
movzx eax, byte [rsp + 0xdd]
mov byte [rsp + 0x8c8], al
movzx eax, word [rsp + 0x12c]
mov word [rsi + 0xdc], ax
movzx eax, byte [rsp + 0x12e]
mov byte [rsi + 0xde], al
movzx eax, byte [rsp + 0xdc]
mov byte [rsp + 0x8cc], al
movzx eax, byte [rsp + 0x12a]
mov byte [rsi + 0xe2], al
movzx eax, word [rsp + 0x128]
mov word [rsi + 0xe0], ax
lea rcx, [rsp + 0x770]
lea rdx, [rsp + 0x738]
lea r8, [rsp + 0x7b0]
call fcn.1800a15c0
cmp dword [rsp + 0x770], 0
jne 0x18009f0ef
mov ecx, dword [rsp + 0x774]
lea r8, [rsp + 0x778]
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movdqa xmmword [rsp + 0x5a0], xmm0
movaps xmmword [rsp + 0x5b0], xmm1
movaps xmmword [rsp + 0x5c0], xmm2
mov eax, dword [r8 + 0x30]
mov dword [rsp + 0x5d0], eax
movzx eax, byte [rsp + 0x7ac]
movzx edx, word [r8 + 0x35]
mov word [rsp + 0x124], dx
movzx edx, byte [r8 + 0x37]
mov byte [rsp + 0x126], dl
lea r8d, [rcx - 2]
lea rdx, [r8 + 1]
cmp r8d, 2
mov r8d, 0
cmovae rdx, r8
test rdx, rdx
je 0x18009ea50
cmp rdx, 1
jne 0x18009f142
mov rax, qword [rsp + 0x528]
jmp 0x180099e70
test al, 1
jne 0x18009ead0
cmp dword [rdi + 0x468], 2
jne 0x18009f1fc
mov dword [rdi + 0x468], ecx
mov ecx, dword [rsp + 0x5d0]
mov rdx, qword [rsp + 0x578]
mov dword [rdx + 0x30], ecx
movdqa xmm0, xmmword [rsp + 0x5a0]
movaps xmm1, xmmword [rsp + 0x5b0]
movaps xmm2, xmmword [rsp + 0x5c0]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov byte [rdi + 0x4a0], al
movzx eax, byte [rsp + 0x126]
mov rcx, qword [rsp + 0x570]
mov byte [rcx + 2], al
movzx eax, word [rsp + 0x124]
mov word [rcx], ax
mov rax, qword [rsp + 0x528]
jmp 0x180099e70
cmp dword [rdi + 0x428], 1
jne 0x18009f261
cmp dword [rdi + 0x44c], 0
je 0x18009eb04
mov eax, dword [rdi + 0x450]
lea rcx, [rax - 0x1000000]
cmp rcx, 0xffffffffff003fff
jbe 0x18009f1fc
mov qword [rdi + 0x10], rax
cmp dword [rdi + 0x454], 0
je 0x18009eb1a
mov eax, dword [rdi + 0x458]
mov qword [rdi + 0x360], rax
mov rsi, qword [rdi + 0x3f0]
lea r14, [rsi + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009edf8
xor eax, eax
movzx ecx, byte [rsi + 0x18]
test cl, cl
jne 0x18009f1fc
cmp dword [rdi + 0x45c], 0
je 0x18009eb6d
cmp dword [rdi + 0x460], 0
setne byte [rsi + 0xbd]
mov bl, 3
mov r15b, 1
cmp dword [rdi + 0x444], 0
je 0x18009ee56
mov ecx, dword [rdi + 0x448]
mov edx, dword [rsi + 0xac]
mov dword [rsi + 0xac], ecx
sub ecx, edx
jae 0x18009ec9c
mov rdx, qword [rsi + 0x1f8]
test rdx, rdx
je 0x18009ee56
mov r8, qword [rsi + 0x200]
test r8, r8
je 0x18009f1fc
mov r9, qword [rsi + 0x210]
mov r10, qword [rsi + 0x1b8]
test r10, r10
je 0x18009f332
mov r11, qword [rsi + 0x1c8]
mov r12, rdx
xor r13d, r13d
nop dword [rax]
cmp r9, r13
jbe 0x18009f1fc
mov rbx, r13
shl rbx, 4
mov ebp, dword [r8 + rbx + 0xc]
cmp r11, rbp
jbe 0x18009f1fc
imul rbp, rbp, 0x130
cmp dword [r10 + rbp], 2
je 0x18009f1fc
mov ebx, dword [r8 + rbx + 8]
add rbp, r10
cmp dword [rbp + 0x114], ebx
jne 0x18009f1fc
cmp rdx, r12
sbb r13, 0xffffffffffffffff
cmp rdx, r12
movq xmm0, qword [rbp + 0xa0]
movd xmm1, ecx
pshufd xmm1, xmm1, 0x50
paddd xmm1, xmm0
movq qword [rbp + 0xa0], xmm1
sbb r12, 0
cmp r13, r12
jb 0x18009ebe0
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
mov bl, 3
jmp 0x18009ee56
je 0x18009ee56
mov rdx, qword [rsi + 0x1f8]
test rdx, rdx
je 0x18009ee56
mov r8, qword [rsi + 0x200]
test r8, r8
je 0x18009f1fc
mov r9, qword [rsi + 0x210]
mov r10, qword [rsi + 0x1b8]
test r10, r10
je 0x18009f332
mov r11, qword [rsi + 0x1c8]
mov r12, rdx
xor ebx, ebx
nop word cs:[rax + rax]
cmp r9, rbx
jbe 0x18009f1fc
mov r13, rbx
shl r13, 4
mov ebp, dword [r8 + r13 + 0xc]
cmp r11, rbp
jbe 0x18009f1fc
imul rbp, rbp, 0x130
cmp dword [r10 + rbp], 2
je 0x18009f1fc
mov r13d, dword [r8 + r13 + 8]
add rbp, r10
cmp dword [rbp + 0x114], r13d
jne 0x18009f1fc
mov r13d, dword [rbp + 0xa0]
add r13d, ecx
jo 0x18009ee31
cmp rdx, r12
sbb rbx, 0xffffffffffffffff
cmp rdx, r12
mov dword [rbp + 0xa0], r13d
sbb r12, 0
add dword [rbp + 0xa4], ecx
cmp rbx, r12
jb 0x18009ecf0
jmp 0x18009ec54
mov rcx, qword [rdx]
cmp rcx, rax
jae 0x18009ed90
cmp rcx, qword [rdi + 0xb0]
setbe cl
cmovbe rdx, qword [rsp + 0x508]
jmp 0x18009ed92
cmp qword [rdi + 0xb0], rax
je 0x18009eda3
xor ecx, ecx
movzx ecx, cl
mov r8, qword [rsp + 0xc8]
mov qword [r8], rcx
mov qword [rdx], rax
cmp dword [rdi + 0x488], 0
je 0x18009a198
mov eax, dword [rdi + 0x48c]
cmp eax, 0x1000000
jae 0x18009f1fc
mov dword [rdi + 0x170], eax
jmp 0x18009a198
test rdx, rdx
jne 0x18009a2bb
cmp dword [rdi + 0x100], 4
jne 0x18009a750
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a0d1
jmp 0x18009a750
call fcn.18010ce00
xor al, 1
movzx ecx, byte [rsi + 0x18]
test cl, cl
je 0x18009eb56
jmp 0x18009f1fc
mov byte [rdi + 0x1b1], 0
mov r15b, 0xa
mov rdx, qword [rsp + 0x530]
cmp rdx, 2
je 0x18009e6b0
jmp 0x18009e609
movaps xmmword [rsp + 0x1f0], xmm6
mov bl, 1
xor r15d, r15d
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
lea r12, [rsp + 0x208]
test al, al
jne 0x18009ee74
mov rax, qword [0x18016cbb8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ef51
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r15b, r15b
je 0x18009f277
mov dword [rdi + 0x428], 2
mov rax, qword [rsp + 0x528]
jmp 0x180099e70
cmp dword [rdi + 0x100], 4
jne 0x18009a64d
cmp qword [rdi + 0x150], 0xfffffffffffffef6
jbe 0x18009a1cd
jmp 0x18009a64d
call fcn.18010ce00
mov ebp, eax
xor bpl, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x18009a3d4
jmp 0x18009f1fc
call fcn.18010ce00
xor al, 1
movzx ecx, byte [r15 + 0x18]
test cl, cl
je 0x18009a411
jmp 0x18009f1fc
call fcn.18010ce00
test al, al
jne 0x18009a876
mov byte [rsi + 0x18], 1
jmp 0x18009a876
movaps xmmword [rsp + 0xa80], xmm6
mov bl, 1
xor r14d, r14d
mov dword [rsp + 0x4c8], edx
mov rbp, qword [rsp + 0x98]
lea r13, [rsp + 0x1f8]
mov r15, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12d, dword [rsp + 0x84]
cmp byte [rsp + 0x178], 0
jne 0x18009accd
jmp 0x18009acb3
call fcn.18010ce00
test al, al
jne 0x18009ee74
mov byte [rsi + 0x18], 1
jmp 0x18009ee74
jmp 0x18009a857
call fcn.18010ce00
test al, al
jne 0x18009accd
mov rax, qword [rsp + 0x518]
mov byte [rax + 0x18], 1
jmp 0x18009accd
call fcn.18010ce00
test al, al
jne 0x18009acff
mov byte [rsi + 0x18], 1
jmp 0x18009acff
cmp eax, 4
mov rdx, qword [rsp + 0x110]
je 0x18009f0e8
lea r8, [rsp + 0x8d1]
mov rcx, qword [r8 + 0x1f]
mov qword [rdx + 0x20], rcx
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdx + 0x11], xmm1
movdqu xmmword [rdx + 1], xmm0
mov byte [rdx], al
jmp 0x18009f2c3
lea rcx, [rsp + 0x778]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x5c0], rax
movdqu xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x5b0], xmm1
movdqa xmmword [rsp + 0x5a0], xmm0
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x20], rax
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x18009f2c3
cmp byte [rdi + 0x3c5], 0
je 0x18009f230
mov rax, qword [rsp + 0x110]
mov byte [rax], 3
jmp 0x18009f2c3
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rsi
movaps xmm0, xmmword [rsp + 0x5e0]
movaps xmm1, xmmword [rsp + 0x5f0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x110]
mov byte [rax], 4
jmp 0x18009f2c3
mov rax, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x15c]
mov dword [rax], ecx
mov ecx, dword [rsp + 0x170]
mov dword [rax + 4], ecx
mov rcx, qword [rsp + 0x4c0]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x4b8]
mov qword [rax + 0x10], rcx
mov ecx, dword [rsp + 0x16c]
mov dword [rax + 0x18], ecx
mov ecx, dword [rsp + 0x168]
mov dword [rax + 0x1c], ecx
mov ecx, dword [rsp + 0x164]
mov dword [rax + 0x20], ecx
mov ecx, dword [rsp + 0x160]
mov dword [rax + 0x24], ecx
jmp 0x18009f2c3
call fcn.18010ce00
mov r15d, eax
xor r15b, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x180099ac3
ud2
lea rcx, [rsp + 0x378]
mov rdx, qword [rsp + 0x368]
mov r8, qword [rsp + 0x370]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x110]
mov rdx, rbx
call fcn.18001bd20
jmp 0x18009f2c3
lea rax, [0x180137730]
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 8], rax
lea rax, [0x18015db18]
mov qword [rcx + 0x10], rax
pxor xmm0, xmm0
movdqu xmmword [rcx + 0x18], xmm0
mov dword [rcx + 4], esi
mov word [rcx], 0x101
jmp 0x18009f2c3
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x360], xmm0
mov bl, 1
mov eax, 1
jmp 0x18009f28e
movdqa xmm0, xmmword [rsp + 0x1f0]
movdqa xmmword [rsp + 0x360], xmm0
mov eax, 3
mov rcx, qword [rsp + 0x110]
mov byte [rcx + 1], 1
mov dword [rcx + 4], eax
lea rax, [0x180137730]
mov qword [rcx + 8], rax
lea rax, [0x18015db18]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x360]
movdqu xmmword [rcx + 0x18], xmm0
mov byte [rcx], bl
movaps xmm6, xmmword [rsp + 0xc40]
movaps xmm7, xmmword [rsp + 0xc50]
movaps xmm8, xmmword [rsp + 0xc60]
movaps xmm9, xmmword [rsp + 0xc70]
movaps xmm10, xmmword [rsp + 0xc80]
add rsp, 0xc98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.18010ce00
test al, al
jne 0x180099d16
mov byte [rsi + 0x18], 1
jmp 0x180099d16
call sub.kernel32.dll_GetLastError
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180106200
ud2
test r9, r9
ud2
mov ecx, 1
mov rdx, r14
call fcn.180106200
ud2
mov ecx, 1
mov edx, 0x19
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x28
call fcn.180106200
ud2
call fcn.1800d5f40
ud2