Function at 0x18009adf0
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, 0xca8
movaps xmmword [rsp + 0xc90], xmm10
movaps xmmword [rsp + 0xc80], xmm9
movaps xmmword [rsp + 0xc70], xmm8
movaps xmmword [rsp + 0xc60], xmm7
movaps xmmword [rsp + 0xc50], xmm6
mov rbp, r8
mov rdi, rdx
mov qword [rsp + 0x118], rcx
mov rsi, qword [rdx + 0x400]
lea r14, [rsi + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180168bb0]
shl rax, 1
test rax, rax
jne 0x1800a08e1
xor r15d, r15d
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x1800a08f9
cmp dword [rsi + 0xf8], 0
mov qword [rsp + 0x1e0], rbp
je 0x18009b0a7
mov qword [rsp + 0x200], 0
lea rcx, [rsp + 0x200]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800a09e9
mov rbx, qword [rsp + 0x200]
mov rcx, qword [0x180168b90]
test rcx, rcx
jne 0x18009aef8
mov qword [rsp + 0x200], 0
lea rcx, [rsp + 0x200]
call qword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800a09e9
mov rcx, qword [rsp + 0x200]
mov qword [0x180168b90], rcx
test rcx, rcx
je 0x1800a08f9
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x18009af0e
mov rax, rbx
xor edx, edx
div rcx
jmp 0x18009af14
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 + 0x108], r14
mov dword [rsp + 0x188], r15d
je 0x18009af48
xor edx, edx
div rcx
mov rcx, rax
jmp 0x18009af4e
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
lea r14, [rsi + 0x20]
lea r15, [rsi + 0x1d0]
lea r12, [rsi + 0xf8]
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsp + 0x5f0], rdx
mov dword [rsp + 0x5f8], ecx
mov rbp, qword [rsi + 0x90]
mov ebx, dword [rsi + 0x98]
lea r13, [rsp + 0x5f0]
nop word [rax + rax]
mov ecx, dword [rsi + 0xfc]
cmp qword [rsi + 0x1e0], rcx
jbe 0x1800a08f9
mov rax, qword [rsi + 0x1d0]
test rax, rax
je 0x1800a08f9
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x1800a08f9
mov edx, dword [rsi + 0x100]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x1800a08f9
mov r8d, dword [rax + 0x48]
cmp r8d, 0x3b9aca00
je 0x1800a08f9
mov rdx, qword [rax + 0x40]
mov rcx, r13
call fcn.1800d7850
cmp edx, 0x3b9aca00
mov ecx, 0
cmove rax, rcx
cmp rax, rbp
jb 0x18009b08f
cmp edx, 0x3b9aca00
setne cl
cmp edx, ebx
seta dl
cmp rax, rbp
jne 0x18009b041
and cl, dl
je 0x18009b08f
lea rcx, [rsp + 0x370]
mov rdx, r12
mov r8, r15
call fcn.180025070
cmp qword [rsp + 0x370], 0
je 0x18009b08f
movdqu xmm0, xmmword [rsp + 0x370]
movdqa xmmword [rsp + 0x200], xmm0
mov rcx, r14
lea rdx, [rsp + 0x200]
mov r8b, 1
call fcn.180020c60
cmp dword [r12], 0
jne 0x18009afb0
mov rbp, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x108]
mov r15d, dword [rsp + 0x188]
test r15b, r15b
jne 0x18009b0c6
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a09d3
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
lea rax, [rdi + 0x3a0]
mov qword [rsp + 0x188], rax
lea rax, [rdi + 0x3a8]
lea rcx, [rdi + 0x48]
mov qword [rsp + 0xd8], rcx
lea r12, [rsp + 0x208]
lea rcx, [rdi + 0x390]
mov qword [rsp + 0x538], rcx
lea rcx, [rdi + 0x3d8]
mov qword [rsp + 0x348], rcx
lea r13, [rsp + 0x218]
xorps xmm6, xmm6
movaps xmm7, xmmword [0x18010dba0]
lea rcx, [rdi + 0x3f8]
mov qword [rsp + 0x598], rcx
lea rcx, [rdi + 0x410]
mov qword [rsp + 0x590], rcx
lea rcx, [rdi + 0x1a0]
mov qword [rsp + 0x108], rcx
lea rcx, [rdi + 0x1c8]
mov qword [rsp + 0x4b8], rcx
lea rcx, [rdi + 0x230]
mov qword [rsp + 0x1e8], rcx
lea rcx, [rdi + 0x50]
mov qword [rsp + 0x578], rcx
lea rcx, [rdi + 0x58]
mov qword [rsp + 0x520], rcx
lea rcx, [rdi + 0x238]
mov qword [rsp + 0x4c0], rcx
lea rcx, [rdi + 0x350]
mov qword [rsp + 0x518], rcx
lea rcx, [rdi + 0x47c]
mov qword [rsp + 0x588], rcx
lea rcx, [rdi + 0x4b1]
mov qword [rsp + 0x580], rcx
mov dword [rsp + 0x8c], ecx
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0xa4], ecx
mov dword [rsp + 0x90], ecx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x528], rcx
mov qword [rsp + 0x530], rax
mov rcx, qword [rsp + 0x188]
mov rsi, qword [rcx]
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x600], xmm1
movdqa xmmword [rsp + 0x5f0], xmm0
mov qword [rcx], 0
test rsi, rsi
je 0x18009b340
mov qword [rsp + 0x370], rsi
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rsp + 0x378]
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
cmp dword [rdi + 0x100], 4
jne 0x18009b288
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b2d5
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
test rax, rax
jne 0x1800a07b4
mov rbx, rdx
test rdx, rdx
jne 0x1800a0851
cmp dword [rdi + 0x100], 4
jne 0x1800a07b4
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x1800a07b4
mov esi, dword [rsp + 0x394]
mov rax, qword [rsp + 0x390]
mov qword [r12 + 0x20], rax
movdqu xmm0, xmmword [rsp + 0x370]
movups xmm1, xmmword [rsp + 0x380]
movups xmmword [r12 + 0x10], xmm1
movdqu xmmword [r12], xmm0
mov byte [rsp + 0x200], 6
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov rax, qword [rsp + 0x188]
mov rax, qword [rax]
test rax, rax
je 0x18009b35f
jmp 0x18009b36c
cmp byte [rdi + 0x3d4], 0
je 0x18009b36c
cmp dword [rdi + 0x3c8], 0
je 0x18009b36c
mov esi, dword [rdi + 0x3d0]
xor eax, eax
test rax, rax
jne 0x18009b36c
cmp byte [rdi + 0x3d4], 0
jne 0x1800a0834
mov rdx, qword [rdi + 0x378]
cmp rdx, 2
je 0x18009b3a9
mov rcx, qword [rdi + 0x380]
mov rax, qword [rdi + 0x388]
test rdx, rdx
je 0x18009b39e
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x538]
call qword [rax + 0x60]
mov qword [rsp + 0x5f0], 2
mov qword [rsp + 0x610], 0
mov rsi, qword [rdi + 0x3e1]
test byte [rdi + 0x3e0], 1
mov byte [rdi + 0x3e0], 0
je 0x18009b475
cmp dword [rdi + 0x100], 4
jne 0x18009b3fc
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b446
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
test rax, rax
je 0x18009b41d
mov byte [rdi + 0x3e0], 1
jmp 0x18009b5b4
test rdx, rdx
jne 0x18009b722
cmp dword [rdi + 0x100], 4
jne 0x18009b411
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009b411
mov qword [rsp + 0x202], rsi
mov word [rsp + 0x200], 0x105
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
movzx eax, byte [rdi + 0x3e9]
test eax, eax
je 0x18009b577
cmp eax, 2
jne 0x18009b5f0
mov rax, qword [rsp + 0x348]
mov rax, qword [rax]
test rax, rax
je 0x18009b5f0
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x18009b5d3
cmp dword [rdi + 0x100], 4
jne 0x18009b4cf
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b519
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
test rax, rax
jne 0x18009b5b4
test rdx, rdx
jne 0x18009b722
cmp dword [rdi + 0x100], 4
jne 0x18009b5b4
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009b5b4
movabs rax, 0xb416870b7adb7c3b
mov qword [rsp + 0x202], rax
mov word [rsp + 0x200], 5
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov rax, qword [rsp + 0x348]
mov rax, qword [rax]
mov qword [rax + 0x10], 2
cmp dword [rdi + 0x478], 2
je 0x18009b5fd
jmp 0x18009b870
cmp dword [rdi + 0x100], 4
jne 0x18009b59b
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b817
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
test rax, rax
je 0x18009b719
mov byte [rsp + 0x8e0], 4
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
jne 0x18009c2e0
jmp 0x18009c390
mov rax, qword [rsp + 0x348]
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rbp]
call fcn.18001b5c0
nop dword [rax + rax]
cmp dword [rdi + 0x478], 2
jne 0x18009b870
mov dword [rdi + 0x478], 2
cmp dword [rdi + 0x438], 0
je 0x18009b6c2
mov rsi, qword [rdi + 0x400]
lea r14, [rsi + 0x10]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009bdc0
xor r15d, r15d
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x1800a08f9
cmp dword [rsi + 0x88], 0
je 0x18009bd02
mov r13d, dword [rsi + 0x8c]
cmp dword [rdi + 0x100], 4
jne 0x18009b689
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009bcca
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
mov r12, rax
mov rbx, rdx
test rax, rax
jne 0x18009bd11
test rbx, rbx
je 0x18009bca0
xor r12d, r12d
test r15b, r15b
jne 0x18009bd30
jmp 0x18009bd16
cmp dword [rdi + 0x100], 4
jne 0x18009b6e6
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b76f
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
test rax, rax
je 0x18009b746
mov byte [rsp + 0x370], 4
movzx ebx, byte [rsp + 0x370]
cmp bl, 3
jne 0x18009c296
jmp 0x18009b614
test rdx, rdx
je 0x18009b7ef
lea rcx, [rsp + 0x8e0]
call fcn.18001b6c0
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
jne 0x18009c2e0
jmp 0x18009c390
test rdx, rdx
jne 0x18009b8b0
cmp dword [rdi + 0x100], 4
jne 0x18009b6fb
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009b6fb
movzx eax, byte [rdi + 0x474]
movdqu xmm0, xmmword [rdi + 0x43c]
movups xmm1, xmmword [rdi + 0x44c]
movups xmm2, xmmword [rdi + 0x45c]
mov rcx, qword [rdi + 0x46c]
movdqu xmmword [rsp + 0x204], xmm0
movups xmmword [rsp + 0x214], xmm1
movups xmmword [rsp + 0x224], xmm2
mov qword [rsp + 0x234], rcx
mov byte [rsp + 0x23c], al
mov byte [rsp + 0x200], 4
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov dword [rdi + 0x438], 1
jmp 0x18009b614
cmp dword [rdi + 0x100], 4
jne 0x18009b5b4
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009b5b4
mov rax, qword [rdi + 0x3ea]
mov qword [rsp + 0x202], rax
mov word [rsp + 0x200], 5
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov byte [rdi + 0x3e9], 1
cmp dword [rdi + 0x478], 2
je 0x18009b5fd
nop word cs:[rax + rax]
cmp dword [rdi + 0x100], 4
jne 0x18009b890
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jae 0x18009b8fb
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1800a0ee0
mov bl, 4
test rax, rax
jne 0x18009c2c7
test rdx, rdx
je 0x18009b8d3
lea rcx, [rsp + 0x370]
call fcn.18001b6c0
movzx ebx, byte [rsp + 0x370]
cmp bl, 3
jne 0x18009c296
jmp 0x18009b614
cmp dword [rdi + 0x100], 4
jne 0x18009c2c7
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009c2c7
mov byte [rsp + 0x23c], 1
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 dword [rsp + 0x22c], 0
mov dword [rsp + 0x234], 0
mov byte [rsp + 0x200], 4
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov rsi, qword [rdi + 0x400]
lea rbx, [rsi + 0x10]
mov rcx, rbx
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a05bc
xor r14d, r14d
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x1800a08f9
mov r12, qword [rdi + 0x408]
lea r15, [r12 + 0x10]
mov rcx, r15
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a05d9
xor eax, eax
movzx ecx, byte [r12 + 0x18]
test cl, cl
jne 0x1800a08f9
cmp dword [rdi + 0x488], 0
je 0x18009ba04
mov ecx, dword [rdi + 0x48c]
mov qword [rsi + 0x30], rcx
mov dword [rsp + 0x4b0], eax
mov qword [rsp + 0x510], r12
mov qword [rsp + 0x180], r15
mov dword [rsp + 0x84], r14d
mov qword [rsp + 0xf0], rbx
cmp dword [rdi + 0x4a8], 0
je 0x18009ba42
cmp dword [rdi + 0x4ac], 0
setne byte [rsi + 0x191]
cmp dword [rdi + 0x490], 0
je 0x18009c16e
lea rax, [rsi + 0x20]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x510]
add rax, 0x20
mov qword [rsp + 0xf8], rax
lea r14, [rsi + 0x120]
lea rax, [rsi + 0x1d0]
mov qword [rsp + 0x98], rax
lea r13, [rsi + 0x1c0]
mov eax, dword [rdi + 0x494]
mov ecx, dword [rsi + 0x18c]
mov dword [rsi + 0x18c], eax
mov r12d, eax
sub r12d, ecx
jae 0x18009bbe1
mov rdx, qword [rsi + 0x210]
test rdx, rdx
je 0x18009be1e
sub ecx, eax
xor eax, eax
xor r8d, r8d
lea r12, [rsp + 0x208]
lea r15, [rsp + 0x218]
mov r13, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x18009bafe
mov r9, qword [rsi + 0x210]
cmp r9, rdx
sbb r8, 0xffffffffffffffff
cmp r9, rdx
sbb rdx, 0
cmp r8, rdx
jae 0x18009be28
cmp qword [rsi + 0x228], r8
jbe 0x1800a08f9
mov r10, qword [rsi + 0x218]
test r10, r10
je 0x1800a08f9
mov r11, r8
shl r11, 4
mov ebx, dword [r10 + r11 + 0xc]
cmp qword [rsi + 0x1e0], rbx
jbe 0x1800a08f9
mov r9, qword [rsi + 0x1d0]
test r9, r9
je 0x1800a08f9
imul rbx, rbx, 0x130
cmp dword [r9 + rbx], 2
je 0x1800a08f9
mov r10d, dword [r10 + r11 + 8]
add r9, rbx
cmp dword [r9 + 0x114], r10d
jne 0x1800a08f9
mov r10d, dword [r9 + 0x80]
sub r10d, ecx
jo 0x18009bdeb
mov dword [r9 + 0x80], r10d
test r10d, r10d
jg 0x18009bbb0
xor r10d, r10d
mov r11d, dword [r9 + 0x84]
mov ebx, r11d
test r11d, r11d
jle 0x18009bbbf
sub ebx, r10d
jbe 0x18009bae0
jmp 0x18009bbca
mov r11d, dword [r9 + 0x84]
mov ebx, r11d
test r11d, r11d
jg 0x18009bb99
xor ebx, ebx
sub ebx, r10d
jbe 0x18009bae0
sub r11d, ebx
jo 0x18009bdeb
mov dword [r9 + 0x84], r11d
add eax, ebx
jmp 0x18009bae0
je 0x18009c16e
mov r15, qword [rsi + 0x210]
test r15, r15
je 0x18009c16e
xor ebx, ebx
nop dword [rax]
cmp qword [rsi + 0x228], rbx
jbe 0x1800a08f9
mov rax, qword [rsi + 0x218]
test rax, rax
je 0x1800a08f9
mov rcx, rbx
shl rcx, 4
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x200], rdx
movq xmm0, qword [rax + rcx + 8]
pshufd xmm0, xmm0, 0xe1
movq qword [rsp + 0x208], xmm0
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov edx, r12d
mov r8, qword [rsp + 0xf8]
lea r9, [rsp + 0x200]
call fcn.1800a2bc0
test eax, eax
jne 0x1800a05f3
mov rax, qword [rsi + 0x210]
cmp rax, r15
sbb rbx, 0xffffffffffffffff
cmp rax, r15
sbb r15, 0
cmp rbx, r15
jb 0x18009bc00
jmp 0x18009c16e
mov r12d, 1
cmp dword [rdi + 0x100], 4
jne 0x18009bddd
mov rax, qword [rdi + 0x158]
sub rax, qword [rdi + 0x150]
cmp rax, qword [rdi + 0x178]
jb 0x18009bd11
mov dword [rsp + 0x204], r13d
mov dword [rsp + 0x208], 7
mov byte [rsp + 0x200], 8
mov rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x200]
call fcn.18007d0d0
cmp al, 0xc
jne 0x1800a08f9
mov dword [rsi + 0x88], 0
xor ebx, ebx
xor r12d, r12d
test r15b, r15b
jne 0x18009bd30
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a0590
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r12, r12
lea r13, [rsp + 0x218]
je 0x18009bd6d
mov byte [rsp + 0x8e0], 4
lea r12, [rsp + 0x208]
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
jne 0x18009c2e0
jmp 0x18009c390
test rbx, rbx
lea r12, [rsp + 0x208]
je 0x18009bda1
lea rcx, [rsp + 0x8e0]
mov rdx, rbx
call fcn.18001b6c0
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
jne 0x18009c2e0
jmp 0x18009c390
mov byte [rsp + 0x8e0], 3
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
je 0x18009c390
jmp 0x18009c2e0
call fcn.18010a120
mov r15d, eax
xor r15b, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x18009b651
jmp 0x1800a08f9
test r15b, r15b
jne 0x18009bd30
jmp 0x18009bd16
movaps xmmword [rsp + 0xa90], xmm6
mov bl, 1
mov dword [rsp + 0x1f0], 3
xor r14d, r14d
mov r15d, dword [rsp + 0x84]
cmp byte [rsp + 0x4b0], 0
jne 0x18009c1c5
jmp 0x18009c1ab
xor eax, eax
lea r15, [rsp + 0x218]
mov qword [rsp + 0x200], 2
mov qword [rsp + 0x220], 0
mov ecx, dword [rsi + 0x12c]
lea edx, [rcx + rax]
shl rdx, 0x20
add eax, ecx
movabs rax, 0x300000001
cmovo rdx, rax
test dl, dl
jne 0x18009be6d
shr rdx, 0x20
mov dword [rsi + 0x12c], edx
mov ecx, edx
lea r14, [rsi + 0x128]
mov r12d, 6
mov r13, qword [rsp + 0x158]
jmp 0x18009befe
cmp byte [rdx + 0x51], 0
je 0x18009c0ab
shl rax, 0x20
or rax, rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x9b8], rcx
mov qword [rsp + 0x9c0], rax
cmp dword [rdx + 0x48], 0x3b9aca00
setne bl
mov rcx, r14
lea rdx, [rsp + 0x9b8]
call fcn.180021930
movdqu xmm0, xmmword [rsp + 0x9b8]
movdqa xmmword [rsp + 0xb70], xmm0
mov rcx, r13
lea rdx, [rsp + 0xb70]
mov r8d, ebx
call fcn.180020c60
mov ecx, dword [rsi + 0x12c]
test ecx, ecx
jle 0x18009c0be
cmp dword [rsi + 0x14c], 0
je 0x18009c0be
mov ecx, dword [rsi + 0x150]
mov eax, dword [rsi + 0x154]
cmp ecx, dword [rsi + 0x158]
jne 0x18009bf90
cmp eax, dword [rsi + 0x15c]
jne 0x18009bf90
mov r8, qword [rsi + 0x1e0]
cmp r8, rcx
jbe 0x1800a08f9
mov rdx, qword [rsi + 0x1d0]
test rdx, rdx
je 0x1800a08f9
imul r9, rcx, 0x130
cmp dword [rdx + r9], 2
je 0x1800a08f9
add r9, rdx
cmp dword [r9 + 0x114], eax
jne 0x1800a08f9
cmp dword [r9 + 0xc4], 0
jne 0x1800a08f9
mov dword [rsi + 0x14c], 0
jmp 0x18009c00d
cmp qword [rsi + 0x1e0], rcx
jbe 0x1800a08f9
mov rdx, qword [rsi + 0x1d0]
test rdx, rdx
je 0x1800a08f9
imul r8, rcx, 0x130
cmp dword [rdx + r8], 2
je 0x1800a08f9
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x1800a08f9
movq xmm0, qword [rdx + 0xc8]
cmp dword [rdx + 0xc4], 0
mov dword [rdx + 0xc4], 0
je 0x1800a08f9
mov dword [rsi + 0x14c], 1
movq qword [rsi + 0x150], xmm0
mov rdx, qword [rsi + 0x1d0]
mov r8, qword [rsi + 0x1e0]
cmp r8, rcx
jbe 0x1800a08f9
test rdx, rdx
je 0x1800a08f9
imul r8, rcx, 0x130
cmp dword [rdx + r8], 2
je 0x1800a08f9
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x1800a08f9
mov byte [rdx + 0x122], 0
cmp qword [rsi + 0x1e0], rcx
jbe 0x1800a08f9
mov rdx, qword [rsi + 0x1d0]
test rdx, rdx
je 0x1800a08f9
cmp dword [rdx + r8], 2
je 0x1800a08f9
add rdx, r8
cmp dword [rdx + 0x114], eax
jne 0x1800a08f9
movzx r8d, byte [rdx + 0x50]
add r8b, 0xfa
movzx r8d, r8b
cmp r8b, 6
cmovae r8d, r12d
cmp r8b, 5
je 0x18009be90
movzx r8d, r8b
cmp r8d, 3
je 0x18009be90
cmp qword [rdx + 0x88], 0
jne 0x18009be9a
jmp 0x18009bef8
mov rdx, qword [rsp + 0x200]
cmp rdx, 2
je 0x18009c16e
mov rcx, qword [rsp + 0x208]
mov rax, qword [rsp + 0x210]
test rdx, rdx
je 0x18009c0f7
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, r15
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x200]
cmp rdx, 2
je 0x18009c16e
mov rcx, qword [rsp + 0x208]
mov rax, qword [rsp + 0x210]
test rdx, rdx
je 0x18009c132
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x218]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x200]
cmp rax, 2
je 0x18009c16e
test rax, rax
je 0x18009c16e
mov rcx, qword [rsp + 0x208]
lock dec qword [rcx]
jne 0x18009c16e
mov rdx, qword [rsp + 0x210]
call fcn.180004d70
mov bl, 3
mov r14b, 1
cmp dword [rdi + 0x480], 0
lea r12, [rsp + 0x208]
mov r13, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r15d, dword [rsp + 0x84]
je 0x18009c1a1
cmp dword [rdi + 0x484], 0
setne byte [rsi + 0x190]
cmp byte [rsp + 0x4b0], 0
jne 0x18009c1c5
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a0749
mov rcx, qword [rsp + 0x180]
call r13
test r15b, r15b
mov r15, r13
lea r13, [rsp + 0x218]
jne 0x18009c1fa
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a0767
mov rcx, qword [rsp + 0xf0]
call r15
test r14b, r14b
je 0x18009c243
cmp dword [rdi + 0x478], 0
mov rdx, qword [rsp + 0x578]
je 0x1800a0567
mov eax, dword [rdi + 0x47c]
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x1800a052e
cmp ecx, 1
jne 0x1800a054b
cmp qword [rdx], rax
jmp 0x1800a053d
mov byte [rsp + 0x371], 1
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x374], eax
lea rax, [0x180133170]
mov qword [rsp + 0x378], rax
lea rax, [0x180159498]
mov qword [rsp + 0x380], rax
movdqa xmm0, xmmword [rsp + 0xa90]
lea rax, [rsp + 0x378]
movdqu xmmword [rax + 0x10], xmm0
cmp bl, 3
je 0x18009b614
movzx eax, bl
cmp eax, 4
je 0x18009c2c7
lea rdx, [rsp + 0x378]
mov rax, qword [rdx + 0x18]
lea rcx, [rsp + 0x8e1]
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 + 0x8e0], bl
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
je 0x18009c390
mov rcx, qword [rsp + 0x5f8]
mov rax, qword [rsp + 0x600]
test rdx, rdx
je 0x18009c307
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x608]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x5f0]
cmp rdx, 2
je 0x18009c390
mov rcx, qword [rsp + 0x5f8]
mov rax, qword [rsp + 0x600]
test rdx, rdx
je 0x18009c347
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x608]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x5f0]
cmp rax, 2
je 0x18009c390
test rax, rax
je 0x18009c390
mov rcx, qword [rsp + 0x5f8]
lock dec qword [rcx]
jne 0x18009c390
mov rdx, qword [rsp + 0x600]
call fcn.180004d70
nop word cs:[rax + rax]
mov rax, qword [rdi + 0x378]
cmp rax, 2
je 0x18009c3ce
mov rcx, qword [rdi + 0x380]
mov r8, qword [rdi + 0x388]
test rax, rax
je 0x18009c3c2
mov rax, qword [r8 + 0x10]
dec rax
and rax, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
mov rdx, qword [rsp + 0x538]
call qword [r8 + 0x68]
movzx eax, byte [rsp + 0x8e0]
cmp eax, 3
jne 0x1800a077d
mov rax, qword [rdi + 0x400]
mov rcx, qword [rdi + 0x408]
add rax, 0x10
add rcx, 0x10
mov rdx, qword [rsp + 0x598]
mov qword [rsp + 0x748], rdx
mov rdx, qword [rsp + 0x188]
mov qword [rsp + 0x750], rdx
mov qword [rsp + 0x768], rax
mov qword [rsp + 0x770], rcx
mov byte [rsp + 0x778], 0
mov rax, qword [rsp + 0x590]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x760], rax
mov qword [rsp + 0x540], 2
mov qword [rsp + 0x560], 0
cmp byte [rdi + 0x1c2], 0
jne 0x18009f760
cmp byte [rdi + 0x1c1], 0
je 0x18009c720
cmp byte [rdi + 0x1c0], 0
je 0x18009c4e0
lea rcx, [rsp + 0x200]
mov rdx, rdi
mov r8, qword [rsp + 0x108]
call fcn.1800e9470
cmp qword [rsp + 0x200], 0
mov r15, qword [rsp + 0x208]
jne 0x18009f986
mov r14, qword [rsp + 0x210]
movdqu xmm0, xmmword [r13]
movdqa xmmword [rsp + 0x370], xmm0
test r15, r15
jne 0x18009c52f
jmp 0x18009f9a3
lea rcx, [rsp + 0x200]
mov rdx, rdi
mov r8, qword [rsp + 0x108]
call fcn.1800e9470
cmp qword [rsp + 0x200], 0
mov r15, qword [rsp + 0x208]
jne 0x18009f783
mov r14, qword [rsp + 0x210]
movdqu xmm0, xmmword [r13]
movdqa xmmword [rsp + 0x370], xmm0
test r15, r15
je 0x18009c717
movaps xmm0, xmmword [rsp + 0x370]
movaps xmmword [rsp + 0x5f0], xmm0
movaps xmm0, xmmword [rsp + 0x5f0]
lea rax, [rsp + 0x1d0]
movups xmmword [rax], xmm0
mov r12, qword [rdi + 0x370]
mov qword [rsp + 0x1c0], r15
mov qword [rsp + 0x1c8], r14
mov qword [rsp + 0x190], 2
mov qword [rsp + 0x1b0], 0
cmp r14, 5
jb 0x1800a08f9
lea rax, [r14 - 5]
cmp rax, 3
jbe 0x1800a08f9
movzx eax, byte [r15 + 3]
cmp rax, 9
ja case.default.0x18009c5b6
lea rdx, [0x1800a0a44]
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 + 0x1e8]
mov rbx, qword [rdx]
test cl, cl
jne 0x18009c690
cmp ebx, 2
je 0x18009c690
mov r15b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
mov rbx, qword [rsp + 0x1d8]
test bl, 1
jne 0x18009cba2
lock dec qword [rbx + 0x20]
jne 0x18009cbcd
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009c676
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call r14
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call r14
jmp 0x18009cbcd
and r13d, 0xffffff7f
mov esi, r13d
bswap esi
mov r9b, 9
movzx eax, al
lea rcx, [0x1800a0a6c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov byte [rsp + 0x98], r8b
mov r8d, 9
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x1c0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x218]
test bl, 1
jne 0x18009ccce
lock dec qword [rbx + 0x20]
jne 0x18009ccf9
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009cce7
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009cce7
mov byte [rdi + 0x1c1], 0
nop
mov rsi, qword [rdi + 0x1a8]
cmp qword [rdi + 0x1b0], rsi
jne 0x18009c749
mov edx, 1
mov rcx, qword [rsp + 0x108]
call fcn.180014be0
mov rsi, qword [rdi + 0x1a8]
cmp rsi, 0xffffffffffffffff
je 0x18009c823
mov rbx, qword [rdi + 0x188]
mov r14, qword [rdi + 0x190]
mov rax, qword [rdi + 0x1b0]
cmp rax, rsi
jne 0x18009c78d
mov edx, 0x40
mov rcx, qword [rsp + 0x108]
call fcn.180014be0
mov rsi, qword [rdi + 0x1a8]
mov rax, qword [rdi + 0x1b0]
sub rax, rsi
mov rcx, qword [rsp + 0x108]
add rsi, qword [rcx]
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rax
movups xmmword [r12 + 8], xmm6
mov rcx, rbx
mov rdx, rbp
lea r8, [rsp + 0x200]
call qword [r14 + 0x18]
test rax, rax
jne 0x18009f7a0
mov r15, rdx
test rdx, rdx
jne 0x18009f7ba
mov rax, qword [rsp + 0x210]
cmp rax, qword [rsp + 0x208]
ja 0x1800a08f9
cmp rsi, qword [rsp + 0x200]
jne 0x1800a08f9
mov rcx, qword [rdi + 0x1a8]
add rcx, rax
cmp rcx, qword [rdi + 0x1b0]
ja 0x1800a08f9
mov qword [rdi + 0x1a8], rcx
test rax, rax
jne 0x18009f74a
mov al, 1
cmp byte [rdi + 0x1c0], 0
je 0x18009f5cf
jmp 0x18009f7d7
xor ecx, ecx
mov al, 0xa
jmp 0x18009c5ba
mov cl, 1
jmp 0x18009c5ba
mov byte [rsp + 0x98], r8b
mov r8d, 9
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x1c0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x218]
test bl, 1
jne 0x18009cdfe
lock dec qword [rbx + 0x20]
jne 0x18009ce29
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009ce17
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009ce17
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
test r13d, r13d
je 0x18009cafa
cmp r14, 8
jbe 0x1800a08f9
cmp r14, 0xe
jne 0x18009cafa
mov ecx, dword [r15 + 9]
bswap ecx
mov eax, ecx
and eax, 0x7fffffff
mov qword [rsp + 0x48], rax
cmp esi, eax
jne 0x18009d6eb
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 0x18009cb7a
cmp r14, 8
jbe 0x1800a08f9
cmp r14, 0xd
je 0x18009d0d5
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov al, 1
mov dword [rsp + 0x5c], eax
jmp 0x18009cb44
cmp r14, 8
jbe 0x1800a08f9
mov r9b, 0xa
test r13d, r13d
je 0x18009d115
mov al, 1
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x8c], 0
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x18009cafa
mov byte [rsp + 0x98], r8b
mov r8d, 9
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x1c0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x218]
test bl, 1
jne 0x18009ce7a
lock dec qword [rbx + 0x20]
jne 0x18009cea5
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009ce93
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009ce93
cmp r14, 8
jbe 0x1800a08f9
xor eax, eax
mov qword [rsp + 0x78], rax
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
test r13d, r13d
jne 0x18009cb44
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
mov eax, 0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
cmp r14, 0x11
jne 0x18009cb7a
mov rax, qword [r15 + 9]
movq xmm0, rax
and r8b, 1
psrlq xmm0, 0x10
movd dword [rsp + 0x114], xmm0
mov qword [rsp + 0x100], rax
shr rax, 0x30
mov qword [rsp + 0x48], rax
mov bl, 1
mov r15b, 5
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x90], eax
mov byte [rsp + 0xe7], r8b
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
jmp 0x18009f080
cmp r14, 8
jbe 0x1800a08f9
lea rax, [r14 - 9]
cmp rax, 8
jae 0x18009cfd2
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x8c], 0
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x18009cb57
cmp r14, 8
jbe 0x1800a08f9
mov r9b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov al, 1
mov dword [rsp + 0x5c], eax
cmp r14, 0xd
je 0x18009d16a
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
mov esi, dword [rsp + 0x60]
mov r15d, r9d
mov rbx, qword [rsp + 0x1d8]
test bl, 1
je 0x18009c64a
shr rbx, 5
neg rbx
cmp qword [rsp + 0x1d0], rbx
je 0x18009cbcd
add rbx, qword [rsp + 0x1c0]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp r15b, 0xa
je 0x18009f8c9
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 + 0xb70]
lea rdx, [rsp + 0x8e0]
call fcn.1800f64f0
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 0x18009f7f1
mov dword [rsp + 0x60], esi
cmp byte [rdi + 0x1c2], 0
je 0x18009c472
jmp 0x18009f760
mov rax, qword [rsp + 0x1e8]
mov qword [rax], 2
mov byte [rsp + 0x158], 0xa
cmp ebx, 2
jne 0x18009cee4
xor esi, esi
mov eax, 1
mov qword [rsp + 0x70], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov r9b, 1
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
xor r8d, r8d
lea r14, [0x180159498]
jmp 0x18009d46c
shr rbx, 5
neg rbx
cmp qword [rsp + 0x210], rbx
je 0x18009ccf9
add rbx, qword [rsp + 0x200]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d8]
test r15b, 1
jne 0x18009cf8a
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], r15
lea r10, [0x180136820]
mov qword [rsp + 0xb0], 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 0x18009df59
movzx ebx, byte [rsp + 0x98]
mov dword [rsp + 0x3c], ebx
and ebx, 8
lea r13, [rsp + 0x218]
mov r8, qword [rsp + 0x40]
je 0x18009d3fa
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x18009d67c
movzx r14d, byte [r8]
cmp r15, r14
jbe 0x18009df6b
cmp r15, 1
jne 0x18009e806
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x370], xmm0
lea rax, [0x180133170]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xc0]
movups xmmword [rax], xmm6
lea rax, [0x180159498]
jmp 0x18009e86b
shr rbx, 5
neg rbx
cmp qword [rsp + 0x210], rbx
je 0x18009ce29
add rbx, qword [rsp + 0x200]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
movups xmm0, xmmword [rsp + 0x1c0]
movups xmm1, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
test r13d, r13d
je 0x18009d076
movzx r10d, byte [rsp + 0x98]
test r10b, 8
mov r15, qword [rsp + 0x78]
jne 0x18009d1e5
xor r14d, r14d
lea r13, [rsp + 0x218]
jmp 0x18009d775
shr rbx, 5
neg rbx
cmp qword [rsp + 0x210], rbx
je 0x18009cea5
add rbx, qword [rsp + 0x200]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
movups xmm0, xmmword [rsp + 0x1c0]
movups xmm1, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
test r13d, r13d
je 0x18009d0cd
test byte [rsp + 0x98], 8
jne 0x18009d26e
xor r14d, r14d
jmp 0x18009d816
mov byte [rsp + 0x98], r8b
mov r8d, 0x138
lea rcx, [rsp + 0x378]
mov rdx, qword [rsp + 0x4c0]
call fcn.1800f64f0
mov qword [rsp + 0x370], rbx
xor eax, eax
test rbx, rbx
sete al
cmp dword [rsp + rax*8 + 0x480], esi
jne 0x18009d2ea
mov rbx, qword [rsp + 0x498]
test rbx, rbx
je 0x18009d9e4
cmp byte [rsp + 0x478], 0
je 0x18009de61
lea rax, [rbx + r14]
cmp rax, r12
jbe 0x18009de61
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
lea r15, [0x180133170]
xor r12d, r12d
xor r13d, r13d
xor ecx, ecx
lea r14, [0x180159498]
mov dword [rsp + 0xf8], 9
jmp 0x18009d31f
mov r14, qword [rsp + 0x1d0]
shr r15, 5
sub rax, r15
lea rbx, [r15 + rcx]
cmp rcx, r14
lea r12, [rsp + 0x208]
jne 0x18009d396
test rbx, rbx
je 0x18009da3f
mov rbp, rax
test al, 1
jne 0x18009def4
or rax, 1
lea r10, [0x1801214a8]
jmp 0x18009defb
mov esi, dword [r15 + 9]
mov eax, 0xffffff7f
and esi, eax
mov ebx, dword [r15 + 0xd]
add r14, 0xffffffffffffffef
je 0x18009d560
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
js 0x1800a08f9
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009d02a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a0a0a
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a0a0a
add r15, 0x11
mov rcx, rax
mov rdx, r15
mov r8, r14
mov qword [rsp + 0x40], rax
call fcn.1800f64f0
mov rcx, qword [rsp + 0x40]
test cl, 1
jne 0x18009d622
or rcx, 1
lea rax, [0x1801214a8]
jmp 0x18009d629
mov al, 0x12
lea r13, [rsp + 0x218]
mov rbx, qword [rsp + 0xc8]
test bl, 1
lea r12, [rsp + 0x208]
jne 0x18009e285
lock dec qword [rbx + 0x20]
jne 0x18009e2b6
mov r14, rax
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009e2a1
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009e2a1
mov r13b, 0x12
jmp 0x18009d905
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 + 0x78], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0x114], esi
jmp 0x18009f078
add r14, 0xfffffffffffffff7
mov al, 1
test r8b, 1
jne 0x18009d58d
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 0x18009dfe9
mov dword [rsp + 0x8c], 0
jmp 0x18009cafa
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 r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
je 0x18009c94c
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0x114], esi
jmp 0x18009d66f
cmp qword [rsp + 0xb8], 0
lea r13, [rsp + 0x218]
je 0x18009d6c3
mov rax, qword [rsp + 0xb0]
movzx r14d, byte [rax]
mov r8d, 1
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0xb0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x388]
test bl, 1
jne 0x18009d738
lock dec qword [rbx + 0x20]
movzx r10d, byte [rsp + 0x98]
jne 0x18009d775
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009d75a
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009d75a
cmp qword [rsp + 0xb8], 0
je 0x18009d6e3
mov rax, qword [rsp + 0xb0]
movzx r14d, byte [rax]
mov r8d, 1
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0xb0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x388]
test bl, 1
jne 0x18009d7e7
lock dec qword [rbx + 0x20]
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
jne 0x18009d816
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009d807
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call r15
jmp 0x18009d807
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
lea r15, [0x180133170]
xor r12d, r12d
xor r13d, r13d
xor ecx, ecx
lea r14, [0x180159498]
mov qword [rsp + 0x48], r14
mov r14d, ecx
lea rcx, [rsp + 0x378]
call fcn.180053a60
lea rcx, [rsp + 0x3d8]
call fcn.18001c920
mov rbx, qword [rsp + 0x4a8]
test bl, 1
jne 0x18009d402
lock dec qword [rbx + 0x20]
mov al, 1
mov dword [rsp + 0x5c], eax
jne 0x18009d433
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009d383
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call rsi
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call rsi
jmp 0x18009d433
mov rbp, rax
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009d3c2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a09f2
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a09f2
add r14, r15
mov qword [rax], rbp
mov qword [rax + 8], r14
mov qword [rax + 0x10], 1
lea r10, [0x18010e478]
jmp 0x18009defb
xor r14d, r14d
jmp 0x18009ed33
shr rbx, 5
neg rbx
mov al, 1
mov dword [rsp + 0x5c], eax
cmp qword [rsp + 0x4a0], rbx
je 0x18009d433
add rbx, qword [rsp + 0x490]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0x84]
mov r9d, eax
mov qword [rsp + 0x40], r15
mov eax, dword [rsp + 0xf0]
mov esi, eax
mov eax, r12d
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], r13d
mov r8d, r14d
mov r14, qword [rsp + 0x48]
mov eax, dword [rsp + 0xf8]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x48], r9
jne 0x18009d4a3
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
jmp 0x18009d53a
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
lea r12, [rsp + 0x208]
je 0x18009d4d2
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea r13, [rsp + 0x218]
lea rdx, [rsp + 0x1a8]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
je 0x18009d53a
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
je 0x18009d51a
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a8]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x190]
cmp rax, 2
jne 0x18009d684
mov esi, dword [rsp + 0x60]
movzx r9d, byte [rsp + 0x158]
mov r15d, r9d
mov rbx, qword [rsp + 0x1d8]
test bl, 1
je 0x18009c64a
jmp 0x18009cba2
lea rax, [0x180159498]
mov qword [rsp + 0x40], rax
xor ecx, ecx
xor r14d, r14d
lea rax, [0x180133170]
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
jmp 0x18009d629
mov dword [rsp + 0x5c], eax
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x8c], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
mov eax, 0
mov qword [rsp + 0x78], rax
mov eax, 0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
test r14, r14
jne 0x18009cb7a
xorps xmm0, xmm0
mov al, 1
mov dword [rsp + 0x90], eax
xor r8d, r8d
xor r11d, r11d
xor ebx, ebx
xor r10d, r10d
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3c], 0
jmp 0x18009ebb6
lea rax, [0x1801214c0]
bswap esi
bswap ebx
mov dword [rsp + 0x3c], ebx
mov qword [rsp + 0x78], 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 + 0x68], r14
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov qword [rsp + 0x100], rax
jmp 0x18009ed76
xor r15d, r15d
jmp 0x18009df6b
test rax, rax
movzx r9d, byte [rsp + 0x158]
je 0x18009cb8a
mov rcx, qword [rsp + 0x198]
lock dec qword [rcx]
jne 0x18009cb8a
mov rdx, qword [rsp + 0x1a0]
call fcn.180004d70
movzx r9d, byte [rsp + 0x158]
jmp 0x18009cb8a
mov al, 0x13
mov rbx, qword [rsp + 0xc8]
test bl, 1
lea r12, [rsp + 0x208]
je 0x18009d099
jmp 0x18009e285
mov r13b, 0x13
jmp 0x18009d905
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 + 0x78], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0x114], esi
mov qword [rsp + 0x100], rax
jmp 0x18009f080
shr rbx, 5
neg rbx
cmp qword [rsp + 0x380], rbx
movzx r10d, byte [rsp + 0x98]
je 0x18009d775
add rbx, qword [rsp + 0x370]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
movzx r10d, byte [rsp + 0x98]
mov bl, 2
test r10b, 0x20
je 0x18009e250
mov al, 0x13
cmp qword [rsp + 0xb8], 5
jb 0x18009e26c
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rax]
bswap ecx
mov ebx, ecx
movzx eax, byte [rax + 4]
mov byte [rsp + 0x350], cl
and ecx, 0x7fffff00
and ebx, 0x80000000
mov rdx, rbx
shl rdx, 9
shl rax, 0x20
or rax, rdx
or rcx, rax
shr rcx, 8
mov dword [rsp + 0x351], ecx
cmp dword [rsp + 0x350], esi
jne 0x18009e1fc
mov al, 0x14
jmp 0x18009e26c
shr rbx, 5
neg rbx
cmp qword [rsp + 0x380], rbx
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009d816
add rbx, qword [rsp + 0x370]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call r15
mov r13b, 0x13
cmp qword [rsp + 0xb8], 5
jb 0x18009d905
mov rax, qword [rsp + 0xb0]
mov r15d, dword [rax]
mov eax, 0xffffff7f
and r15d, eax
mov r8d, 4
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0xb0]
call fcn.1800149f0
mov rbx, qword [rsp + 0x388]
test bl, 1
mov r13, qword [sym.imp.kernel32.dll_HeapFree]
jne 0x18009d89e
lock dec qword [rbx + 0x20]
movzx edx, byte [rsp + 0x8b]
movzx r10d, byte [rsp + 0x98]
jne 0x18009d8e8
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009d8c8
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call r13
jmp 0x18009d8c8
shr rbx, 5
neg rbx
cmp qword [rsp + 0x380], rbx
movzx edx, byte [rsp + 0x8b]
movzx r10d, byte [rsp + 0x98]
je 0x18009d8e8
add rbx, qword [rsp + 0x370]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call r13
movzx edx, byte [rsp + 0x8b]
movzx r10d, byte [rsp + 0x98]
test r14, r14
je 0x18009da5e
mov rax, qword [rsp + 0xb8]
mov r13b, 0xd
sub rax, r14
jae 0x18009da56
mov rbx, qword [rsp + 0xc8]
test bl, 1
jne 0x18009d940
lock dec qword [rbx + 0x20]
lea r12, [rsp + 0x208]
jne 0x18009d973
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009d961
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009d961
shr rbx, 5
neg rbx
cmp qword [rsp + 0xc0], rbx
lea r12, [rsp + 0x208]
je 0x18009d973
add rbx, qword [rsp + 0xb0]
mov rcx, qword [0x180168b78]
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 + 0x78], rax
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x8b], r13b
lea r13, [rsp + 0x218]
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
jne 0x18009f4af
jmp 0x18009cbcd
mov rbx, qword [rsp + 0x1d0]
cmp rbx, 9
jb 0x1800a08f9
mov r13, qword [rsp + 0x1d8]
test r13b, 1
jne 0x18009e949
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
mov qword [rsp + 0x180], r13
lock inc qword [r13 + 0x20]
jg 0x18009ee21
jmp 0x1800a0a3b
lea rbp, [0x180159498]
xor eax, eax
xor ebx, ebx
lea r10, [0x180133170]
jmp 0x18009defb
mov qword [rsp + 0xb8], rax
bswap r15d
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
movaps xmm0, xmmword [rsp + 0xc0]
lea r8, [rsp + 0x208]
movups xmmword [r8 + 0xf], xmm0
mov qword [r8 - 1], rax
mov qword [r8 + 7], rcx
mov qword [rsp + 0x370], 0
mov byte [rsp + 0x378], dl
mov rax, qword [rsp + 0x569]
mov rcx, qword [rsp + 0x570]
lea rdx, [rsp + 0x378]
mov qword [rdx + 8], rcx
mov qword [rdx + 1], rax
mov qword [rsp + 0x388], 2
mov qword [rsp + 0x390], 0
mov qword [rsp + 0x398], 8
movups xmmword [rdx + 0x28], xmm6
mov qword [rsp + 0x3b0], 8
movups xmmword [rdx + 0x40], xmm6
mov word [rdx + 0x50], 0
movzx eax, word [rsp + 0x1fe]
mov word [rdx + 0x56], ax
mov eax, dword [rsp + 0x1fa]
mov dword [rdx + 0x52], eax
mov byte [rsp + 0x3d0], 0xb
mov rax, qword [rsp + 0x6e0]
mov qword [rdx + 0x68], rax
movups xmm0, xmmword [rsp + 0x6d1]
movups xmmword [rdx + 0x59], xmm0
mov qword [rsp + 0x3e8], 0
mov rax, qword [rsp + 0x740]
mov qword [rdx + 0x88], rax
movups xmm0, xmmword [rsp + 0x730]
movups xmmword [rdx + 0x78], xmm0
mov qword [rsp + 0x408], 0
mov rax, qword [rsp + 0x728]
mov qword [rdx + 0xa8], rax
movups xmm0, xmmword [rsp + 0x718]
movups xmmword [rdx + 0x98], xmm0
mov qword [rsp + 0x428], 0
mov rax, qword [rsp + 0x710]
mov qword [rdx + 0xc8], rax
movups xmm0, xmmword [rsp + 0x700]
movups xmmword [rdx + 0xb8], xmm0
mov qword [rsp + 0x448], 0
mov rax, qword [rsp + 0x6f8]
mov qword [rdx + 0xe8], rax
movups xmm0, xmmword [rsp + 0x6e8]
movups xmmword [rdx + 0xd8], xmm0
mov word [rsp + 0x468], 0
movzx eax, word [rsp + 0x1f8]
mov word [rdx + 0xf6], ax
mov eax, dword [rsp + 0x1f4]
mov dword [rdx + 0xf2], eax
mov byte [rsp + 0x470], 0
mov eax, dword [rsp + 0x504]
mov ecx, dword [rsp + 0x507]
mov dword [rdx + 0xfc], ecx
mov dword [rdx + 0xf9], eax
mov dword [rsp + 0x478], esi
mov dword [rsp + 0x47c], r15d
mov byte [rsp + 0x480], r10b
mov eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0x203]
mov dword [rdx + 0x10c], ecx
mov dword [rdx + 0x109], eax
movups xmm0, xmmword [r8 - 1]
movups xmm1, xmmword [r8 + 0xf]
movaps xmmword [rsp + 0x360], xmm1
movaps xmmword [rsp + 0x350], xmm0
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x350]
mov r8, r12
mov r9, qword [rsp + 0x4b8]
mov ebx, r10d
call fcn.18001bc80
cmp al, 0x15
jne 0x18009ddcb
test bl, 4
je 0x18009eac1
mov eax, dword [rsp + 0x370]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x374]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x378]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x388]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x38c]
mov qword [rsp + 0x50], rax
mov esi, dword [rsp + 0x390]
mov eax, dword [rsp + 0x394]
mov dword [rsp + 0x3c], eax
movsd xmm10, qword [rsp + 0x398]
mov eax, dword [rsp + 0x3a0]
mov dword [rsp + 0x160], eax
movzx eax, byte [rsp + 0x3a4]
mov dword [rsp + 0x90], eax
lea rbx, [rsp + 0x378]
movzx eax, word [rbx + 0x2d]
mov word [rsp + 0x94], ax
movzx eax, byte [rbx + 0x2f]
mov byte [rsp + 0x96], al
mov r8d, 0xd8
lea rcx, [rsp + 0x5f0]
lea rdx, [rsp + 0x3a8]
call fcn.1800f64f0
movzx eax, byte [rsp + 0x480]
mov dword [rsp + 0xa4], eax
movzx eax, byte [rsp + 0x484]
mov dword [rsp + 0xa0], eax
movzx eax, word [rbx + 0x109]
mov word [rsp + 0xac], ax
movzx eax, byte [rbx + 0x10b]
mov byte [rsp + 0xae], al
movzx eax, word [rbx + 0x10d]
mov word [rsp + 0xa8], ax
movzx eax, byte [rbx + 0x10f]
mov byte [rsp + 0xaa], al
lea rcx, [rsp + 0x350]
call fcn.180014fb0
mov r15b, 3
jmp 0x18009e6fe
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 + 0x78]
mov r8d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x68]
je 0x18009ea8a
movzx eax, cl
lea rcx, [0x180133170]
mov ebx, 0
mov r14d, 0
mov r12d, 0
lea r13, [0x180159498]
cmp eax, 7
jne 0x18009f40e
movabs rax, 0xffffffff00000000
mov rcx, qword [rsp + 0x40]
and rcx, rax
or rcx, 1
xor r10d, r10d
mov r15d, edx
mov rax, qword [rsp + 0x50]
mov ebx, eax
mov r14d, dword [rsp + 0x60]
mov r12d, r8d
mov r13, r9
mov r11d, esi
jmp 0x18009f40e
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
cmp r14, 8
jbe 0x1800a08f9
add r14, 0xfffffffffffffff7
add r15, 9
mov r13, qword [rsp + 0x4a0]
mov rax, r13
sub rax, rbx
cmp rax, r14
jae 0x18009dec5
lea rcx, [rsp + 0x490]
mov rdx, r14
call fcn.180014be0
mov rbx, qword [rsp + 0x498]
mov r13, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x490]
add rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.1800f64f0
add rbx, r14
cmp rbx, r13
ja 0x1800a08f9
mov qword [rsp + 0x498], rbx
jmp 0x18009eeed
lea r10, [0x1801214c0]
sub rbx, r15
jb 0x1800a08f9
add rbp, r15
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rax
mov rcx, r10
shr rcx, 0x20
mov qword [rsp + 0x70], rcx
mov r15, rax
mov eax, r10d
mov qword [rsp + 0x48], rax
mov rbp, qword [rsp + 0x1e0]
test r13d, r13d
jne 0x18009cd71
lea r13, [rsp + 0x218]
mov r8, qword [rsp + 0x40]
mov r15, qword [rsp + 0x68]
lea rcx, [rsp + 0xc8]
mov rdx, r8
mov r8, r15
call qword [r10 + 0x10]
mov r15b, 0xa
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x8c], 0
mov al, 1
mov dword [rsp + 0x5c], eax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor esi, esi
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
jne 0x18009f4af
jmp 0x18009cbcd
test r14, r14
je 0x18009eb89
add r15, 9
xorps xmm0, xmm0
mov dword [rsp + 0x3c], 0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x78], rax
xor r10d, r10d
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x48], 0
jmp 0x18009e067
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
or r13d, ebx
movd xmm1, r13d
movss xmm0, xmm1
mov dword [rsp + 0x3c], 1
nop
add r15, r12
sub r14, r12
mov rbp, rdx
lea r13, [rsp + 0x218]
je 0x18009eb57
cmp r14, 6
mov r12d, 6
cmovb r12, r14
cmp r12, 1
je 0x1800a08f9
cmp r12, 2
jbe 0x1800a08f9
cmp r12, 3
je 0x1800a08f9
cmp r12, 4
jbe 0x1800a08f9
cmp r12, 5
je 0x1800a08f9
mov rdx, rbp
movzx eax, byte [r15]
movzx r11d, byte [r15 + 1]
shl eax, 8
lea ebp, [rax + r11]
dec ebp
cmp ebp, 7
ja case.0x18009e0e3.7
movzx eax, byte [r15 + 2]
movzx r11d, byte [r15 + 3]
movzx r13d, byte [r15 + 4]
movzx ebx, byte [r15 + 5]
lea r8, [0x1800a0a98]
movsxd rbp, dword [r8 + rbp*4]
add rbp, r8
jmp rbp
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov dword [rsp + 0x60], 1
mov eax, r13d
mov dword [rsp + 0x8c], r13d
jmp case.0x18009e0e3.7
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
mov r9d, r13d
or r9d, ebx
mov dword [rsp + 0x48], 1
cmp r9d, 2
jb case.0x18009e0e3.7
jmp 0x18009f385
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov eax, 1
mov qword [rsp + 0x40], rax
mov eax, r13d
mov dword [rsp + 0x68], r13d
jmp case.0x18009e0e3.7
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
or r13d, ebx
mov qword [rsp + 0x78], r13
mov r10d, 1
jns case.0x18009e0e3.7
jmp 0x18009f385
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
lea eax, [r11 + r13]
add eax, 0xffffc000
cmp eax, 0xffc000
jae 0x18009f385
mov eax, 1
mov qword [rsp + 0x50], rax
or r11d, r13d
or r11d, ebx
mov esi, r11d
jmp case.0x18009e0e3.7
shl eax, 0x18
shl r11d, 0x10
or r11d, eax
shl r13d, 8
or r13d, r11d
mov ecx, r13d
or ecx, ebx
cmp ecx, 2
jae 0x18009f567
movaps xmm1, xmm7
movss xmm1, xmm0
movaps xmm0, xmm1
jmp case.0x18009e0e3.7
shr ebx, 0x1f
mov r8d, 5
lea r15, [rsp + 0x370]
mov rcx, r15
lea rdx, [rsp + 0xb0]
call fcn.1800149f0
mov rcx, r15
mov r15, qword [rsp + 0x78]
call fcn.180014fb0
movzx r10d, byte [rsp + 0x98]
mov eax, dword [rsp + 0x350]
mov dword [rsp + 0x1b8], eax
movzx eax, byte [rsp + 0x354]
mov byte [rsp + 0x1bc], al
test r14, r14
je 0x18009e367
mov rcx, qword [rsp + 0xb8]
mov al, 0xd
sub rcx, r14
jae 0x18009e35f
mov rbx, qword [rsp + 0xc8]
test bl, 1
lea r12, [rsp + 0x208]
je 0x18009d099
shr rbx, 5
neg rbx
cmp qword [rsp + 0xc0], rbx
je 0x18009e2b6
mov r14, rax
add rbx, qword [rsp + 0xb0]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, r14
mov qword [rsp + 0x528], rax
add eax, 0xfffffff4
movzx eax, al
cmp al, 9
mov ecx, 9
cmovae eax, ecx
mov cl, 1
mov dword [rsp + 0x5c], ecx
cmp al, 8
jne 0x18009e300
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 + 0x60]
jmp 0x18009e33c
mov esi, 1
xor eax, eax
mov qword [rsp + 0x78], rax
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor ecx, ecx
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
mov eax, esi
mov qword [rsp + 0x70], rax
mov r15b, 0xa
mov esi, ecx
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
jne 0x18009f4af
jmp 0x18009cbcd
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
movaps xmm0, xmmword [rsp + 0xc0]
lea r8, [rsp + 0x208]
movups xmmword [r8 + 0xb], xmm0
mov qword [r8 - 5], rax
mov qword [r8 + 3], rcx
movzx eax, byte [rsp + 0x1bc]
lea rcx, [rsp + 0x50b]
mov byte [rcx + 4], al
mov eax, dword [rsp + 0x1b8]
mov dword [rcx], eax
mov qword [rsp + 0x370], 0
mov rax, qword [rsp + 0x528]
mov byte [rsp + 0x378], al
mov rax, qword [rsp + 0x569]
mov rcx, qword [rsp + 0x570]
lea rdx, [rsp + 0x378]
mov qword [rdx + 8], rcx
mov qword [rdx + 1], rax
mov qword [rsp + 0x388], 2
mov qword [rsp + 0x390], 0
mov qword [rsp + 0x398], 8
movups xmmword [rdx + 0x28], xmm6
mov qword [rsp + 0x3b0], 8
movups xmmword [rdx + 0x40], xmm6
mov word [rdx + 0x50], 0
movzx eax, word [rsp + 0x1fe]
mov word [rdx + 0x56], ax
mov eax, dword [rsp + 0x1fa]
mov dword [rdx + 0x52], eax
mov byte [rsp + 0x3d0], 0xb
mov rax, qword [rsp + 0x6e0]
mov qword [rdx + 0x68], rax
movups xmm0, xmmword [rsp + 0x6d1]
movups xmmword [rdx + 0x59], xmm0
mov qword [rsp + 0x3e8], 0
mov rax, qword [rsp + 0x740]
mov qword [rdx + 0x88], rax
movups xmm0, xmmword [rsp + 0x730]
movups xmmword [rdx + 0x78], xmm0
mov qword [rsp + 0x408], 0
mov rax, qword [rsp + 0x728]
mov qword [rdx + 0xa8], rax
movups xmm0, xmmword [rsp + 0x718]
movups xmmword [rdx + 0x98], xmm0
mov qword [rsp + 0x428], 0
mov rax, qword [rsp + 0x710]
mov qword [rdx + 0xc8], rax
movups xmm0, xmmword [rsp + 0x700]
movups xmmword [rdx + 0xb8], xmm0
mov qword [rsp + 0x448], 0
mov rax, qword [rsp + 0x6f8]
mov qword [rdx + 0xe8], rax
movups xmm0, xmmword [rsp + 0x6e8]
movups xmmword [rdx + 0xd8], xmm0
mov word [rsp + 0x468], 0
movzx eax, word [rsp + 0x1f8]
mov word [rdx + 0xf6], ax
mov eax, dword [rsp + 0x1f4]
mov dword [rdx + 0xf2], eax
mov byte [rsp + 0x470], 0
mov eax, dword [rsp + 0x50c]
mov dword [rdx + 0x101], eax
mov rax, qword [rsp + 0x504]
mov qword [rdx + 0xf9], rax
mov byte [rsp + 0x47d], bl
mov word [rsp + 0x47e], 0
mov dword [rsp + 0x480], esi
mov byte [rsp + 0x484], r10b
movzx eax, byte [rsp + 0x202]
mov byte [rdx + 0x10f], al
movzx eax, word [rsp + 0x200]
mov word [rdx + 0x10d], ax
movups xmm0, xmmword [r8 - 5]
movups xmm1, xmmword [r8 + 0xb]
movaps xmmword [rsp + 0x360], xmm1
movaps xmmword [rsp + 0x350], xmm0
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x350]
mov r8, r12
mov r9, qword [rsp + 0x4b8]
mov ebx, r10d
call fcn.18001bc80
cmp al, 0x15
jne 0x18009e705
test bl, 4
je 0x18009ea30
mov eax, dword [rsp + 0x370]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x374]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x378]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x388]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x38c]
mov qword [rsp + 0x50], rax
mov esi, dword [rsp + 0x390]
mov eax, dword [rsp + 0x394]
mov dword [rsp + 0x3c], eax
movsd xmm10, qword [rsp + 0x398]
mov eax, dword [rsp + 0x3a0]
mov dword [rsp + 0x160], eax
movzx eax, byte [rsp + 0x3a4]
mov dword [rsp + 0x90], eax
lea rbx, [rsp + 0x378]
movzx eax, word [rbx + 0x2d]
mov word [rsp + 0x94], ax
movzx eax, byte [rbx + 0x2f]
mov byte [rsp + 0x96], al
mov r8d, 0xd8
lea rcx, [rsp + 0x5f0]
lea rdx, [rsp + 0x3a8]
call fcn.1800f64f0
movzx eax, byte [rsp + 0x480]
mov dword [rsp + 0xa4], eax
movzx eax, byte [rsp + 0x484]
mov dword [rsp + 0xa0], eax
movzx eax, word [rbx + 0x109]
mov word [rsp + 0xac], ax
movzx eax, byte [rbx + 0x10b]
mov byte [rsp + 0xae], al
movzx eax, word [rbx + 0x10d]
mov word [rsp + 0xa8], ax
movzx eax, byte [rbx + 0x10f]
mov byte [rsp + 0xaa], al
lea rcx, [rsp + 0x350]
call fcn.180014fb0
mov r15b, 1
xor ebx, ebx
jmp 0x18009f078
lea ecx, [rax - 0xc]
movzx ecx, cl
cmp cl, 9
mov edx, 9
cmovae ecx, edx
mov r8d, 1
xor ebx, ebx
mov dl, 1
cmp cl, 9
je 0x18009e9f8
movzx eax, cl
lea rcx, [0x180133170]
mov r10d, 0
mov r12d, 0
mov r11d, 0
lea r13, [0x180159498]
cmp eax, 7
jne 0x18009e786
movabs rax, 0xffffffff00000000
mov rcx, qword [rsp + 0x40]
and rcx, rax
or rcx, 1
xor edx, edx
mov ebx, r15d
mov rax, qword [rsp + 0x50]
mov r10d, eax
mov r12d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x68]
mov r8d, esi
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x60], r8d
mov r14, rcx
lea rcx, [rsp + 0x350]
mov esi, edx
mov r13d, r10d
call fcn.180014fb0
lea rcx, [rsp + 0x370]
call fcn.180053a60
lea rcx, [rsp + 0x3d0]
call fcn.18001c920
mov r15b, 0xa
mov al, 1
mov dword [rsp + 0x5c], eax
mov eax, esi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r14
mov eax, ebx
mov qword [rsp + 0x78], rax
mov eax, r13d
mov qword [rsp + 0x50], rax
mov esi, r12d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x60]
jmp 0x18009f488
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0xc8]
mov r9, r15
call qword [r10]
dec qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0x210], 1
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x370], xmm0
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x380], rcx
mov rcx, qword [rsp + 0x218]
mov qword [rsp + 0x388], rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x378]
mov r8, qword [rsp + 0x380]
lea rcx, [rsp + 0x388]
call qword [rax + 0x10]
mov rax, r14
not rax
add r15, rax
mov r9, qword [rsp + 0xc0]
cmp r9, r15
jb 0x1800a08f9
jne 0x18009e8e1
lea rax, [0x180159498]
mov qword [rsp + 0x378], rax
lea rax, [rsp + 0x378]
movups xmmword [rax + 8], xmm6
lea rax, [0x180133170]
mov qword [rsp + 0x370], rax
jmp 0x18009ecd2
test r15, r15
je 0x18009ec89
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0xc8]
call qword [rax]
sub qword [rsp + 0x210], r15
mov qword [rsp + 0xc0], r15
add qword [rsp + 0x208], r15
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x370], xmm0
movups xmm0, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0x380], xmm0
jmp 0x18009ecd2
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009e972
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a0a2a
mov qword [0x180168b78], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a0a2a
mov r8, rax
mov rax, r13
shr rax, 5
lea rcx, [rax + rbx]
mov rdx, r15
sub rdx, rax
add rax, r14
shr r13d, 2
and r13d, 7
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], r13
mov qword [r8 + 0x20], 2
mov qword [rsp + 0x1d8], r8
test r8b, 1
jne 0x18009ec49
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
jmp 0x18009ec7c
test byte [rsp + 0x98], 4
jne 0x18009f3dc
add al, 0xfd
lea rcx, [0x180133170]
mov r10d, 0
mov r12d, 0
mov r11d, 0
lea r13, [0x180159498]
cmp al, 9
jb 0x18009e786
mov r8d, 0x118
lea rbx, [rsp + 0x200]
mov rcx, rbx
lea rdx, [rsp + 0x370]
call fcn.1800f64f0
movaps xmm0, xmmword [rsp + 0x350]
movaps xmm1, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
mov rsi, qword [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001c880
mov qword [rsi], 0
jmp 0x18009eb16
test byte [rsp + 0x98], 4
jne 0x18009f3f8
add al, 0xfd
lea rcx, [0x180133170]
mov ebx, 0
mov r14d, 0
mov r12d, 0
lea r13, [0x180159498]
cmp al, 9
jb 0x18009f40e
mov r8d, 0x118
lea rbx, [rsp + 0x200]
mov rcx, rbx
lea rdx, [rsp + 0x370]
call fcn.1800f64f0
movaps xmm0, xmmword [rsp + 0x350]
movaps xmm1, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
mov rsi, qword [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001c880
mov qword [rsi], 1
mov r8d, 0x118
mov rcx, qword [rsp + 0x4c0]
mov rdx, rbx
call fcn.1800f64f0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
mov rax, qword [rsp + 0x518]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov r15b, 9
mov esi, dword [rsp + 0x60]
jmp 0x18009f48d
mov edx, dword [rsp + 0x8c]
mov eax, edx
and eax, 0xffffff00
movzx edx, dl
mov dword [rsp + 0x90], 0
mov r8d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x68]
jmp 0x18009ebc2
xorps xmm0, xmm0
xor r8d, r8d
xor r11d, r11d
xor ebx, ebx
xor r10d, r10d
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x90], 0
xor edx, edx
xor eax, eax
lea r13, [rsp + 0x218]
or edx, eax
mov qword [rsp + 0x48], rdx
shl r10, 0x20
mov eax, r14d
or rax, r10
mov qword [rsp + 0x68], rax
shl rbx, 0x20
mov eax, r9d
or rax, rbx
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x202]
mov byte [rsp + 0x96], al
movzx eax, word [rsp + 0x200]
mov word [rsp + 0x94], ax
mov bl, 1
mov r15b, 4
mov eax, r11d
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x160], ecx
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0x114], r8d
mov qword [rsp + 0x100], rax
movaps xmm10, xmm0
lea r12, [rsp + 0x208]
jmp 0x18009f090
cmp r8, 0xfffffffffffffee0
jae 0x18009ed7b
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
add r8, 0x120
mov qword [rsp + 0x180], r8
jmp 0x18009ee21
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x370], xmm0
lea rax, [0x180133170]
mov qword [rsp + 0xb0], rax
lea rax, [0x180159498]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xc0]
movups xmmword [rax], xmm6
mov rax, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x378]
mov r8, qword [rsp + 0x380]
lea rcx, [rsp + 0x388]
call qword [rax + 0x10]
shl r14d, 0x10
mov eax, dword [rsp + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xb4]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x68], rax
mov r15, qword [rsp + 0xc8]
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 + 0x78], r15
shr r15, 0x20
mov qword [rsp + 0x50], r15
xor r15d, r15d
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov qword [rsp + 0x100], rax
xor ebx, ebx
jmp 0x18009f090
mov r13, r8
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009eda7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a0a2a
mov qword [0x180168b78], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a0a2a
mov r8, rax
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 1
mov r9, r13
mov rax, r13
shr rax, 5
lea rcx, [rax + rbx]
mov rdx, r15
sub rdx, rax
add rax, r14
shr r9d, 2
and r9d, 7
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], r9
mov qword [rsp + 0x180], r8
mov qword [r8 + 0x20], 1
add rbx, 0xfffffffffffffff7
mov qword [rsp + 0x4b0], rbx
add r15, 9
mov rax, r14
sub rax, 9
mov r13d, 0
cmovae r13, rax
mov eax, 9
cmovae r14, rax
mov qword [rsp + 0x1d0], 9
mov qword [rsp + 0x1c8], r14
mov rbx, qword [rsp + 0x4a8]
test bl, 1
jne 0x18009ee92
lock dec qword [rbx + 0x20]
jne 0x18009eebd
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
je 0x18009eeab
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009eeab
shr rbx, 5
neg rbx
cmp qword [rsp + 0x4a0], rbx
je 0x18009eebd
add rbx, qword [rsp + 0x490]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x490], r15
mov qword [rsp + 0x498], r13
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x4a8], rax
lea rcx, [rsp + 0x378]
lea rdx, [rsp + 0x490]
mov r8, r12
mov r9, qword [rsp + 0x4b8]
call fcn.18001bc80
cmp al, 0x15
jne 0x18009f25e
test byte [rsp + 0x98], 4
je 0x18009f325
mov eax, dword [rsp + 0x488]
mov ecx, dword [rsp + 0x48c]
mov rdx, qword [rsp + 0x370]
mov r8d, eax
or r8b, 4
test rdx, rdx
movzx r8d, r8b
cmove r8d, eax
mov dword [rsp + 0xa4], r8d
mov eax, ecx
or al, 4
test rdx, rdx
mov edx, dword [rsp + 0x378]
mov qword [rsp + 0x48], rdx
mov edx, dword [rsp + 0x37c]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x380]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x388]
mov qword [rsp + 0x68], rdx
mov edx, dword [rsp + 0x390]
mov qword [rsp + 0x78], rdx
mov edx, dword [rsp + 0x394]
mov qword [rsp + 0x50], rdx
mov esi, dword [rsp + 0x398]
mov edx, dword [rsp + 0x39c]
mov dword [rsp + 0x3c], edx
movsd xmm10, qword [rsp + 0x3a0]
mov edx, dword [rsp + 0x3a8]
mov dword [rsp + 0x160], edx
lea rbx, [rsp + 0x378]
movzx edx, word [rbx + 0x35]
mov word [rsp + 0x94], dx
movzx edx, byte [rsp + 0x3ac]
mov dword [rsp + 0x90], edx
movzx edx, byte [rbx + 0x37]
mov byte [rsp + 0x96], dl
movzx eax, al
cmovne eax, ecx
mov dword [rsp + 0xa0], eax
setne r15b
mov r8d, 0xd8
lea rcx, [rsp + 0x5f0]
lea rdx, [rsp + 0x3b0]
call fcn.1800f64f0
movzx eax, word [rbx + 0x111]
mov word [rsp + 0xac], ax
movzx eax, byte [rbx + 0x113]
mov byte [rsp + 0xae], al
movzx eax, word [rbx + 0x115]
mov word [rsp + 0xa8], ax
movzx eax, byte [rbx + 0x117]
mov byte [rsp + 0xaa], al
add r15b, r15b
or r15b, 1
lea rcx, [rsp + 0x490]
call fcn.180014fb0
mov bl, 1
mov qword [rsp + 0x100], rax
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
movzx eax, byte [rsp + 0x96]
mov byte [rsp + 0x156], al
movzx eax, word [rsp + 0x94]
mov word [rsp + 0x154], ax
mov r8d, 0xd8
lea rcx, [rsp + 0x8e0]
lea rdx, [rsp + 0x5f0]
call fcn.1800f64f0
movzx eax, word [rsp + 0xac]
mov word [rsp + 0x150], ax
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x152], al
movzx eax, word [rsp + 0xa8]
mov word [rsp + 0x14c], ax
movzx eax, byte [rsp + 0xaa]
mov byte [rsp + 0x14e], al
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
je 0x18009f1bd
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
je 0x18009f141
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x1a8]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
je 0x18009f1bd
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
je 0x18009f181
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a8]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x190]
cmp rax, 2
je 0x18009f1bd
test rax, rax
je 0x18009f1bd
mov rcx, qword [rsp + 0x198]
lock dec qword [rcx]
jne 0x18009f1bd
mov rdx, qword [rsp + 0x1a0]
call fcn.180004d70
mov rax, qword [rsp + 0x48]
mov ecx, eax
shr ecx, 8
mov dword [rsp + 0x5c], ecx
shr eax, 0x10
mov dword [rsp + 0x8c], eax
test bl, bl
je 0x18009cbd7
mov rbx, qword [rsp + 0x1d8]
test bl, 1
jne 0x18009f22a
lock dec qword [rbx + 0x20]
jne 0x18009cbd7
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 8], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x18009f216
mov r8, qword [rbx]
mov rcx, qword [0x180168b78]
xor edx, edx
call r14
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call r14
jmp 0x18009cbd7
shr rbx, 5
neg rbx
cmp qword [rsp + 0x1d0], rbx
je 0x18009cbd7
add rbx, qword [rsp + 0x1c0]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009cbd7
add al, 0xf4
movzx ecx, al
cmp cl, 9
mov edx, 9
cmovae ecx, edx
cmp cl, 9
movzx edx, byte [rsp + 0x98]
je 0x18009f2f5
movzx eax, cl
lea r15, [0x180133170]
mov r12d, 0
mov r13d, 0
mov ecx, 0
lea r14, [0x180159498]
cmp eax, 7
jne 0x18009d31f
movabs rax, 0xffffffff00000000
mov r15, qword [rsp + 0x40]
and r15, rax
or r15, 1
mov dword [rsp + 0x84], 0
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x50]
mov r12d, eax
mov r13d, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0xf8], esi
jmp 0x18009d31f
test dl, 4
jne 0x18009d309
lea r15, [0x180133170]
mov r12d, 0
mov r13d, 0
mov ecx, 0
lea r14, [0x180159498]
cmp al, 0xf6
ja 0x18009d31f
mov r8d, 0x140
lea rbx, [rsp + 0x200]
mov rcx, rbx
lea rdx, [rsp + 0x370]
call fcn.1800f64f0
mov rsi, qword [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001c880
mov r8d, 0x140
mov rcx, rsi
mov rdx, rbx
call fcn.1800f64f0
mov byte [rsp + 0x158], 9
mov rsi, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
jmp 0x18009d46c
mov dword [rsp + 0x8c], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x18009f5af
lea rcx, [0x180133170]
xor r10d, r10d
xor r12d, r12d
xor r11d, r11d
lea r13, [0x180159498]
jmp 0x18009e786
lea rcx, [0x180133170]
xor ebx, ebx
xor r14d, r14d
xor r12d, r12d
lea r13, [0x180159498]
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x60], r13
mov r13d, r14d
mov r14d, ebx
mov rbx, rcx
lea rcx, [rsp + 0x350]
mov esi, r10d
call fcn.180014fb0
lea rcx, [rsp + 0x370]
call fcn.180053a60
lea rcx, [rsp + 0x3d0]
call fcn.18001c920
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], rbx
mov eax, ecx
mov qword [rsp + 0x78], rax
mov eax, r14d
mov qword [rsp + 0x50], rax
mov esi, r13d
mov dword [rsp + 0x3c], r12d
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x70], rax
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
je 0x18009cbcd
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
je 0x18009f4d6
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x1a8]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x190]
cmp rdx, 2
je 0x18009cbcd
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
test rdx, rdx
je 0x18009f51a
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x1a8]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x190]
cmp rax, 2
je 0x18009cbcd
test rax, rax
je 0x18009cbcd
mov rcx, qword [rsp + 0x198]
lock dec qword [rcx]
jne 0x18009cbcd
mov rdx, qword [rsp + 0x1a0]
call fcn.180004d70
jmp 0x18009cbcd
mov dword [rsp + 0x8c], 0
mov al, 1
mov qword [rsp + 0x48], rax
lea rax, [0x180133170]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
lea rax, [0x180159498]
mov qword [rsp + 0x68], rax
mov rbp, rdx
mov r9b, 0xa
jmp 0x18009cb7a
mov al, 1
cmp byte [rdi + 0x1c0], 0
jne 0x18009f7d7
mov byte [rdi + 0x1c0], al
mov byte [rdi + 0x1c1], 1
cmp byte [rdi + 0x1c2], 0
jne 0x18009f760
test al, al
jne 0x18009c488
lea rcx, [rsp + 0x200]
mov rdx, rdi
mov r8, qword [rsp + 0x108]
call fcn.1800e9470
cmp qword [rsp + 0x200], 0
mov r15, qword [rsp + 0x208]
jne 0x18009f783
mov r14, qword [rsp + 0x210]
movdqu xmm0, xmmword [r13]
movdqa xmmword [rsp + 0x370], xmm0
test r15, r15
jne 0x18009c52f
mov byte [rdi + 0x1c1], 0
mov rsi, qword [rdi + 0x1a8]
cmp qword [rdi + 0x1b0], rsi
jne 0x18009f670
mov edx, 1
mov rcx, qword [rsp + 0x108]
call fcn.180014be0
mov rsi, qword [rdi + 0x1a8]
cmp rsi, 0xffffffffffffffff
je 0x18009f5c0
mov rbx, qword [rdi + 0x188]
mov r14, qword [rdi + 0x190]
mov rax, qword [rdi + 0x1b0]
cmp rax, rsi
jne 0x18009f6b4
mov edx, 0x40
mov rcx, qword [rsp + 0x108]
call fcn.180014be0
mov rsi, qword [rdi + 0x1a8]
mov rax, qword [rdi + 0x1b0]
sub rax, rsi
mov rcx, qword [rsp + 0x108]
add rsi, qword [rcx]
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rax
movups xmmword [r12 + 8], xmm6
mov rcx, rbx
mov rdx, rbp
lea r8, [rsp + 0x200]
call qword [r14 + 0x18]
test rax, rax
jne 0x18009f7a0
mov r15, rdx
test rdx, rdx
jne 0x18009f7ba
mov rax, qword [rsp + 0x210]
cmp rax, qword [rsp + 0x208]
ja 0x1800a08f9
cmp rsi, qword [rsp + 0x200]
jne 0x1800a08f9
mov rcx, qword [rdi + 0x1a8]
add rcx, rax
cmp rcx, qword [rdi + 0x1b0]
ja 0x1800a08f9
mov qword [rdi + 0x1a8], rcx
test rax, rax
je 0x18009f5c0
xor eax, eax
jmp 0x18009f5cf
mov word [rdi + 0x1c1], 0
mov r15b, 0xa
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
jmp 0x18009fc69
mov byte [rdi + 0x1c2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x1800a0ab8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
mov r15b, 0xb
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
jmp 0x18009fc69
mov byte [rdi + 0x1c2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x1800a0ab8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
mov r15b, 0xa
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
jmp 0x18009fc69
mov eax, dword [rsp + 0x8c]
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 + 0x164], 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 + 0x9b8]
lea rdx, [rsp + 0xb70]
call fcn.1800f64f0
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 + 0x160]
mov dword [rsp + 0x4dc], eax
mov eax, dword [rsp + 0x90]
mov byte [rsp + 0xea], al
mov eax, dword [rsp + 0xa4]
mov byte [rsp + 0xe9], al
mov eax, dword [rsp + 0xa0]
mov byte [rsp + 0xe8], al
movaps xmm9, xmm10
jmp 0x18009f8ee
mov eax, dword [rsp + 0x8c]
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 + 0x164], eax
mov r15b, 9
movzx eax, byte [rsp + 0xe7]
mov byte [rsp + 0xeb], al
mov rax, qword [rsp + 0x100]
mov word [rsp + 0x17c], ax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x4e0], eax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x178], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x174], eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x170], eax
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x16c], esi
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x168], eax
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
jmp 0x18009fc69
mov byte [rdi + 0x1c2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x1800a0ab8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
cmp qword [rdi + 0x1a8], 0
je 0x1800a0488
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009f9da
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a0a19
mov qword [0x180168b78], rax
mov r8d, 0x19
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a0a19
mov rbx, rax
movups xmm0, xmmword [0x180132a88]
movups xmmword [rax + 9], xmm0
movups xmm0, xmmword [0x180132a7f]
movups xmmword [rax], xmm0
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009fa35
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a09f2
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a09f2
mov r14, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x19
mov qword [rax + 0x10], 0x19
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18009fa8e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a09f2
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a09f2
mov r15, rax
mov qword [rax], r14
lea rax, [0x180133110]
mov qword [r15 + 8], rax
mov byte [r15 + 0x10], 0x27
inc r15
mov byte [rdi + 0x1c2], 1
mov esi, r15d
and esi, 3
lea rcx, [0x1800a0ab8]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
jmp 0x18009faf8
mov rcx, r15
shr rcx, 0x20
call fcn.1800d2aa0
jmp 0x18009faf8
movzx eax, byte [r15 + 0xf]
cmp al, 0x15
jne 0x18009fbd0
lea rax, [rsi - 2]
cmp rax, 2
jb 0x18009fbd0
test rsi, rsi
je 0x18009fbd0
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax + 0x38]
movabs rcx, 0x93ee39e6c82429dc
xor rdx, rcx
movabs rcx, 0xfc516d84bc696278
xor rax, rcx
or rax, rdx
jne 0x18009fbd0
lea rbx, [r15 - 1]
lea rax, [0x180133170]
mov qword [rsp + 0x208], rax
lea rax, [0x180159498]
mov qword [rsp + 0x210], rax
movups xmmword [r13], xmm6
mov dword [rsp + 0x204], 6
mov word [rsp + 0x200], 0x101
mov r14, qword [r15 - 1]
mov rsi, qword [r15 + 7]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x18009fbb2
cmp qword [rsi + 0x10], 0x11
jb 0x18009fba0
mov r14, qword [r14 - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009fbe0
lea rcx, [rsp + 0x200]
mov rdx, r15
call fcn.18001b6c0
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x178], eax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x4c8], rax
mov eax, dword [rsp + 0x218]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x21c]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x224]
mov dword [rsp + 0x168], eax
mov r15b, 9
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
mov rcx, qword [rsp + 0x548]
mov rax, qword [rsp + 0x550]
test rdx, rdx
je 0x18009fc90
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x558]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
mov rcx, qword [rsp + 0x548]
mov rax, qword [rsp + 0x550]
test rdx, rdx
je 0x18009fcd0
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x558]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x540]
cmp rax, 2
je 0x18009fd10
test rax, rax
je 0x18009fd10
mov rcx, qword [rsp + 0x548]
lock dec qword [rcx]
jne 0x18009fd10
mov rdx, qword [rsp + 0x550]
call fcn.180004d70
nop dword [rax]
mov al, 9
cmp r15b, 0xa
je 0x18009fe8d
movzx eax, r15b
cmp eax, 9
je 0x1800a0881
cmp eax, 0xb
je 0x1800a07de
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 + 0xa90]
lea rdx, [rsp + 0x9b8]
call fcn.1800f64f0
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 + 0xeb]
mov byte [rsp + 0xef], al
movzx eax, word [rsp + 0x17c]
mov word [rsp + 0x17e], ax
mov eax, dword [rsp + 0x4e0]
mov dword [rsp + 0x500], eax
mov eax, dword [rsp + 0x164]
mov dword [rsp + 0x4fc], eax
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x4f8], eax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0x5a0], rax
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0x4f4], eax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x4f0], eax
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x4ec], eax
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x4e8], eax
mov eax, dword [rsp + 0x4dc]
mov dword [rsp + 0x4e4], eax
movzx eax, byte [rsp + 0xea]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0xe9]
mov byte [rsp + 0xed], al
mov eax, r15d
movzx ecx, byte [rsp + 0xe8]
mov byte [rsp + 0xec], cl
movaps xmm8, xmm9
mov byte [rsp + 0x7c0], al
movzx eax, byte [rsp + 0xef]
mov byte [rsp + 0x7c1], al
movzx eax, word [rsp + 0x17e]
mov word [rsp + 0x7c2], ax
mov eax, dword [rsp + 0x500]
mov dword [rsp + 0x7c4], eax
mov eax, dword [rsp + 0x4fc]
mov dword [rsp + 0x7c8], eax
mov eax, dword [rsp + 0x4f8]
mov dword [rsp + 0x7cc], eax
mov rax, qword [rsp + 0x5a8]
mov qword [rsp + 0x7d0], rax
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x7d8], rax
mov eax, dword [rsp + 0x4f4]
mov dword [rsp + 0x7e0], eax
mov eax, dword [rsp + 0x4f0]
mov dword [rsp + 0x7e4], eax
mov eax, dword [rsp + 0x4ec]
mov dword [rsp + 0x7e8], eax
mov eax, dword [rsp + 0x4e8]
mov dword [rsp + 0x7ec], eax
movlps qword [rsp + 0x7f0], xmm8
mov eax, dword [rsp + 0x4e4]
mov dword [rsp + 0x7f8], eax
movzx eax, byte [rsp + 0xee]
mov byte [rsp + 0x7fc], al
movzx eax, byte [rsp + 0x132]
lea rsi, [rsp + 0x7fd]
mov byte [rsi + 2], al
movzx eax, word [rsp + 0x130]
mov word [rsi], ax
mov r8d, 0xd8
lea rcx, [rsp + 0x800]
lea rdx, [rsp + 0xa90]
call fcn.1800f64f0
movzx eax, byte [rsp + 0xed]
mov byte [rsp + 0x8d8], 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 + 0xec]
mov byte [rsp + 0x8dc], al
movzx eax, byte [rsp + 0x12a]
mov byte [rsi + 0xe2], al
movzx eax, word [rsp + 0x128]
mov word [rsi + 0xe0], ax
lea rcx, [rsp + 0x780]
lea rdx, [rsp + 0x748]
lea r8, [rsp + 0x7c0]
call fcn.1800a2d60
cmp dword [rsp + 0x780], 0
jne 0x1800a07ee
mov ecx, dword [rsp + 0x784]
lea r8, [rsp + 0x788]
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movdqa xmmword [rsp + 0x5b0], xmm0
movaps xmmword [rsp + 0x5c0], xmm1
movaps xmmword [rsp + 0x5d0], xmm2
mov eax, dword [r8 + 0x30]
mov dword [rsp + 0x5e0], eax
movzx eax, byte [rsp + 0x7bc]
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 0x1800a00b0
cmp rdx, 1
jne 0x1800a0841
mov rax, qword [rsp + 0x530]
jmp 0x18009b214
test al, 1
jne 0x1800a012f
cmp dword [rdi + 0x478], 2
jne 0x1800a08f9
mov dword [rdi + 0x478], ecx
mov ecx, dword [rsp + 0x5e0]
mov rdx, qword [rsp + 0x588]
mov dword [rdx + 0x30], ecx
movdqa xmm0, xmmword [rsp + 0x5b0]
movaps xmm1, xmmword [rsp + 0x5c0]
movaps xmm2, xmmword [rsp + 0x5d0]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov byte [rdi + 0x4b0], al
movzx eax, byte [rsp + 0x126]
mov rcx, qword [rsp + 0x580]
mov byte [rcx + 2], al
movzx eax, word [rsp + 0x124]
mov word [rcx], ax
mov rax, qword [rsp + 0x530]
jmp 0x18009b214
cmp dword [rdi + 0x438], 1
jne 0x1800a092e
cmp dword [rdi + 0x45c], 0
je 0x1800a0163
mov eax, dword [rdi + 0x460]
lea rcx, [rax - 0x1000000]
cmp rcx, 0xffffffffff003fff
jbe 0x1800a08f9
mov qword [rdi + 0x10], rax
cmp dword [rdi + 0x464], 0
je 0x1800a0179
mov eax, dword [rdi + 0x468]
mov qword [rdi + 0x370], rax
cmp dword [rdi + 0x43c], 0
je 0x1800a01b4
mov eax, dword [rdi + 0x440]
mov rcx, qword [rdi + 0x1d0]
cmp rcx, rax
cmovbe rcx, rax
cmp qword [rdi + 0x1c8], 0
cmove rcx, rax
mov qword [rdi + 0x1c8], 1
mov qword [rdi + 0x1d0], rcx
mov rsi, qword [rdi + 0x400]
lea rbx, [rsi + 0x10]
mov rcx, rbx
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a0470
xor eax, eax
movzx ecx, byte [rsi + 0x18]
test cl, cl
jne 0x1800a08f9
cmp dword [rdi + 0x46c], 0
je 0x1800a0207
cmp dword [rdi + 0x470], 0
setne byte [rsi + 0x11d]
mov r14b, 3
mov r15b, 1
cmp dword [rdi + 0x454], 0
je 0x1800a04e7
mov r11d, dword [rdi + 0x458]
mov edx, dword [rsi + 0x10c]
mov dword [rsi + 0x10c], r11d
mov ecx, r11d
sub ecx, edx
jae 0x1800a0347
mov rcx, qword [rsi + 0x210]
test rcx, rcx
je 0x1800a04e7
mov qword [rsp + 0x98], rbx
mov r8, qword [rsi + 0x218]
test r8, r8
je 0x1800a08f9
mov r9, qword [rsi + 0x228]
mov r10, qword [rsi + 0x1d0]
test r10, r10
je 0x1800a0a03
sub edx, r11d
mov r11, qword [rsi + 0x1e0]
mov r12, rcx
xor r13d, r13d
nop dword [rax + rax]
cmp r9, r13
jbe 0x1800a08f9
mov r15, r13
shl r15, 4
mov ebx, dword [r8 + r15 + 0xc]
cmp r11, rbx
jbe 0x1800a08f9
imul rbx, rbx, 0x130
cmp dword [r10 + rbx], 2
je 0x1800a08f9
mov ebp, dword [r8 + r15 + 8]
add rbx, r10
cmp dword [rbx + 0x114], ebp
jne 0x1800a08f9
mov ebp, dword [rbx + 0xa0]
sub ebp, edx
mov r15d, 3
jo 0x1800a04af
mov dword [rbx + 0xa0], ebp
mov ebp, dword [rbx + 0xa4]
sub ebp, edx
jo 0x1800a04af
cmp rcx, r12
sbb r13, 0xffffffffffffffff
cmp rcx, r12
mov dword [rbx + 0xa4], ebp
sbb r12, 0
cmp r13, r12
jb 0x1800a0290
jmp 0x1800a0448
je 0x1800a04e7
mov rdx, qword [rsi + 0x210]
test rdx, rdx
je 0x1800a04e7
mov qword [rsp + 0x98], rbx
mov r8, qword [rsi + 0x218]
test r8, r8
je 0x1800a08f9
mov r9, qword [rsi + 0x228]
mov r10, qword [rsi + 0x1d0]
test r10, r10
je 0x1800a0a03
mov r11, qword [rsi + 0x1e0]
mov r12, rdx
xor r13d, r13d
nop dword [rax]
cmp r9, r13
jbe 0x1800a08f9
mov r15, r13
shl r15, 4
mov ebx, dword [r8 + r15 + 0xc]
cmp r11, rbx
jbe 0x1800a08f9
imul rbx, rbx, 0x130
cmp dword [r10 + rbx], 2
je 0x1800a08f9
mov ebp, dword [r8 + r15 + 8]
add rbx, r10
cmp dword [rbx + 0x114], ebp
jne 0x1800a08f9
mov r15d, dword [rbx + 0xa0]
add r15d, ecx
jo 0x1800a04a9
mov ebp, dword [rbx + 0xa4]
lea r14d, [rcx + rbp]
shl r14, 0x20
add ebp, ecx
movabs rbp, 0x300000001
cmovo r14, rbp
mov dword [rbx + 0xa0], r15d
mov r15, r14
shr r15, 0x20
test r14b, 1
jne 0x1800a04af
cmp rdx, r12
sbb r13, 0xffffffffffffffff
cmp rdx, r12
mov dword [rbx + 0xa4], r15d
sbb r12, 0
cmp r13, r12
jb 0x1800a03a0
mov rbp, qword [rsp + 0x1e0]
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
mov rbx, qword [rsp + 0x98]
mov r14b, 3
mov r15b, 1
jmp 0x1800a04e7
call fcn.18010a120
xor al, 1
movzx ecx, byte [rsi + 0x18]
test cl, cl
je 0x1800a01f0
jmp 0x1800a08f9
mov byte [rdi + 0x1c1], 0
mov r15b, 0xa
mov rdx, qword [rsp + 0x540]
cmp rdx, 2
je 0x18009fd10
jmp 0x18009fc69
mov r15d, 3
movaps xmmword [rsp + 0x200], xmm6
mov ecx, r15d
xor r15d, r15d
mov r14b, 1
mov dword [rsp + 0x4d8], ecx
mov rbp, qword [rsp + 0x1e0]
lea r12, [rsp + 0x208]
lea r13, [rsp + 0x218]
mov rbx, qword [rsp + 0x98]
test al, al
jne 0x1800a0505
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800a05a6
mov rcx, rbx
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r15b, r15b
je 0x1800a0945
mov dword [rdi + 0x438], 2
mov rax, qword [rsp + 0x530]
jmp 0x18009b214
mov rcx, qword [rdx]
cmp rcx, rax
jae 0x1800a0554
cmp rcx, qword [rdi + 0xb0]
setbe cl
cmovbe rdx, qword [rsp + 0x520]
jmp 0x1800a0556
cmp qword [rdi + 0xb0], rax
je 0x1800a0567
xor ecx, ecx
movzx ecx, cl
mov r8, qword [rsp + 0xd8]
mov qword [r8], rcx
mov qword [rdx], rax
cmp dword [rdi + 0x498], 0
je 0x18009b5fd
mov eax, dword [rdi + 0x49c]
cmp eax, 0x1000000
jae 0x1800a08f9
mov dword [rdi + 0x180], eax
jmp 0x18009b5fd
call fcn.18010a120
test al, al
jne 0x18009bd30
mov byte [rsi + 0x18], 1
jmp 0x18009bd30
call fcn.18010a120
test al, al
jne 0x1800a0505
mov byte [rsi + 0x18], 1
jmp 0x1800a0505
call fcn.18010a120
mov r14d, eax
xor r14b, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x18009b9b2
jmp 0x1800a08f9
call fcn.18010a120
xor al, 1
movzx ecx, byte [r12 + 0x18]
test cl, cl
je 0x18009b9f1
jmp 0x1800a08f9
movaps xmmword [rsp + 0xa90], xmm6
mov bl, 1
xor r14d, r14d
mov dword [rsp + 0x1f0], edx
lea r12, [rsp + 0x208]
mov r13, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r15d, dword [rsp + 0x84]
cmp byte [rsp + 0x4b0], 0
jne 0x18009c1c5
jmp 0x18009c1ab
call fcn.18010a120
test al, al
jne 0x18009c1c5
mov rax, qword [rsp + 0x510]
mov byte [rax + 0x18], 1
jmp 0x18009c1c5
call fcn.18010a120
test al, al
jne 0x18009c1fa
mov byte [rsi + 0x18], 1
jmp 0x18009c1fa
cmp eax, 4
mov rdx, qword [rsp + 0x118]
je 0x1800a07ad
lea r8, [rsp + 0x8e1]
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 0x1800a0994
mov rax, qword [rsp + 0x188]
mov qword [rax], rsi
movaps xmm0, xmmword [rsp + 0x5f0]
movaps xmm1, xmmword [rsp + 0x600]
mov rax, qword [rsp + 0x530]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x118]
mov byte [rax], 4
jmp 0x1800a0994
lea rcx, [rsp + 0x788]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x5d0], rax
movdqu xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x5c0], xmm1
movdqa xmmword [rsp + 0x5b0], xmm0
mov rcx, qword [rsp + 0x118]
mov qword [rcx + 0x20], rax
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x1800a0994
cmp byte [rdi + 0x3d5], 0
je 0x1800a08fd
mov rax, qword [rsp + 0x118]
mov byte [rax], 3
jmp 0x1800a0994
lea rcx, [rsp + 0x388]
mov rdx, qword [rsp + 0x378]
mov r8, qword [rsp + 0x380]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x118]
mov rdx, rbx
call fcn.18001b6c0
jmp 0x1800a0994
mov rax, qword [rsp + 0x118]
mov ecx, dword [rsp + 0x164]
mov dword [rax], ecx
mov ecx, dword [rsp + 0x178]
mov dword [rax + 4], ecx
mov rcx, qword [rsp + 0x4d0]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x4c8]
mov qword [rax + 0x10], rcx
mov ecx, dword [rsp + 0x174]
mov dword [rax + 0x18], ecx
mov ecx, dword [rsp + 0x170]
mov dword [rax + 0x1c], ecx
mov ecx, dword [rsp + 0x16c]
mov dword [rax + 0x20], ecx
mov ecx, dword [rsp + 0x168]
mov dword [rax + 0x24], ecx
jmp 0x1800a0994
call fcn.18010a120
mov r15d, eax
xor r15b, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x18009ae73
ud2
lea rax, [0x180133170]
mov rcx, qword [rsp + 0x118]
mov qword [rcx + 8], rax
lea rax, [0x180159498]
mov qword [rcx + 0x10], rax
pxor xmm0, xmm0
movdqu xmmword [rcx + 0x18], xmm0
mov dword [rcx + 4], esi
mov word [rcx], 0x101
jmp 0x1800a0994
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x370], xmm0
mov r14b, 1
mov eax, 1
jmp 0x1800a095e
movdqa xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x370], xmm0
mov eax, dword [rsp + 0x4d8]
mov rcx, qword [rsp + 0x118]
mov byte [rcx + 1], 1
mov dword [rcx + 4], eax
lea rax, [0x180133170]
mov qword [rcx + 8], rax
lea rax, [0x180159498]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x370]
movdqu xmmword [rcx + 0x18], xmm0
mov byte [rcx], r14b
movaps xmm6, xmmword [rsp + 0xc50]
movaps xmm7, xmmword [rsp + 0xc60]
movaps xmm8, xmmword [rsp + 0xc70]
movaps xmm9, xmmword [rsp + 0xc80]
movaps xmm10, xmmword [rsp + 0xc90]
add rsp, 0xca8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.18010a120
test al, al
jne 0x18009b0c6
mov byte [rsi + 0x18], 1
jmp 0x18009b0c6
call sub.kernel32.dll_GetLastError
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180103b10
ud2
test r9, r9
ud2
mov ecx, 1
mov rdx, r14
call fcn.180103b10
ud2
mov ecx, 1
mov edx, 0x19
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x28
call fcn.180103b10
ud2
call fcn.1800d7050
ud2