Function at 0x18009b020
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xca8
movaps xmmword [rsp + 0xc90], xmm13
movaps xmmword [rsp + 0xc80], xmm12
movdqa xmmword [rsp + 0xc70], xmm11
movdqa xmmword [rsp + 0xc60], xmm10
movaps xmmword [rsp + 0xc50], xmm9
movdqa xmmword [rsp + 0xc40], xmm8
movdqa xmmword [rsp + 0xc30], xmm7
movdqa xmmword [rsp + 0xc20], xmm6
mov rax, qword [rcx]
cmp rax, 5
je 0x1800a1113
cmp eax, 4
je 0x1800a1113
cmp eax, 3
je 0x1800a1113
mov r13, rdx
mov rbp, rcx
add rcx, 8
cmp rax, 2
mov r12, rbp
mov qword [rsp + 0x120], rcx
cmove r12, rcx
cmp eax, 2
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x60], rdx
jne 0x18009db50
lea r14, [r12 + 0x90]
lea rbx, [r12 + 8]
lea rax, [r12 + 0xa0]
mov qword [rsp + 0xf8], rax
movdqa xmm6, xmmword [str.________________]
pcmpeqd xmm7, xmm7
movdqa xmm8, xmmword [0x180172e40]
xorps xmm9, xmm9
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180172710]
lea r15, [rsp + 0x108]
lea rsi, [rsp + 0x980]
nop dword [rax]
lea rcx, [rsp + 0x480]
mov rdx, r14
mov r8, r13
call fcn.1800a1a90
movzx edi, byte [rsp + 0x480]
cmp rdi, 5
jne 0x1800a0789
mov rax, qword [r12]
mov qword [r12], 2
cmp rax, 2
je 0x18009b1c4
mov qword [rsp + 0x980], rax
mov rax, qword [rbx + 0x60]
lea rcx, [rsp + 0x988]
mov qword [rcx + 0x60], rax
movups xmm0, xmmword [rbx + 0x50]
movups xmmword [rcx + 0x50], xmm0
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov rcx, r12
mov rdx, rsi
mov r8, r13
call fcn.1800a2040
jmp 0x18009b130
mov rdx, qword [r12 + 0xb0]
mov r8, qword [r13]
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a1d20
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a10ba
cmp esi, 4
je 0x1800a0d08
cmp esi, 2
je 0x1800a1113
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x680]
mov rdx, rdi
call fcn.180164e10
lea rax, [rsp + 0x378]
movdqu xmm0, xmmword [rax]
lea rax, [rsp + 0x110]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x108], rsi
mov rax, qword [rsp + 0x110]
test rsi, rsi
je 0x18009b78f
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a1113
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a1113
add rax, 0xd0
mov rax, qword [rax]
test al, 4
jne 0x18009b7c0
mov r8d, 0xe0
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x680]
call fcn.180164e10
lea rax, [rsp + 0x760]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x470], xmm1
movaps xmmword [rsp + 0x460], xmm0
mov r8d, 0xa
lea r15, [rsp + 0x130]
mov rcx, r15
lea rdx, str.keep_aliveHTTP_1.1_100_Continue_r_n_r_nunexpected_EOF_during_chunk_size_lineInvalid_chunk_size_line:_missing_size_digitinvalid_chunk_size:_overflowInvalid_chunk_end_LFInvalid_chunk_body_CRInvalid_chunk_body_LF__Invalid_chunk_size_LFInvalid_chunk_size_linear_white_spaceinvalid_chunk_extension_contains_newlinechunk_extensions_over_limitInvalid_trailer_end_LF
call fcn.180048bd0
cmp qword [rsp + 0x130], 0
jne 0x1800a1113
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0xa8], r14
lea rsi, [rsp + 0x138]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x490], xmm1
movaps xmmword [rsp + 0x480], xmm0
mov r8d, 0x10
mov rcx, r15
lea rdx, str.proxy_connection
call fcn.180048bd0
cmp qword [rsp + 0x130], 0
jne 0x1800a1113
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
lea rax, [rsp + 0x378]
movups xmmword [rax - 0xd8], xmm1
movups xmmword [rax - 0xe8], xmm0
movaps xmm0, xmmword [rsp + 0x480]
movdqa xmm1, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x270], xmm0
movdqa xmmword [rsp + 0x280], xmm1
movups xmm0, xmmword [0x1801ad6f8]
movups xmmword [rax - 0xb8], xmm0
movups xmm0, xmmword [0x1801ad6e8]
movups xmmword [rax - 0xc8], xmm0
movups xmm0, xmmword [0x1801ad630]
movups xmmword [rax - 0x98], xmm0
movups xmm0, xmmword [0x1801ad620]
movups xmmword [rax - 0xa8], xmm0
movups xmm0, xmmword [0x1801ad718]
movups xmmword [rax - 0x78], xmm0
movdqu xmm0, xmmword [0x1801ad708]
movdqu xmmword [rax - 0x88], xmm0
mov rdx, rdi
xor ecx, ecx
jmp 0x18009b3f4
mov rcx, qword [rsp + 0x38]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x270
cmp rcx, 5
je 0x18009b5ea
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009b3d0
lea rcx, [rsp + 0x5a0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x70], rax
call fcn.180038d50
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
mov ebp, eax
movzx r12d, ax
movzx r14d, word [rsp + 0x5f8]
and r12d, r14d
mov rbx, qword [rsp + 0x5b8]
mov rdi, qword [rsp + 0x5c0]
mov r11, qword [rsp + 0x5c8]
xor r15d, r15d
mov qword [rsp + 0x90], r11
jmp 0x18009b476
movzx eax, byte [rax + 8]
cmp al, byte [r9 + 8]
je 0x18009b529
nop dword [rax]
inc r15
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x18009b480
movzx r13d, word [rbx + r12*4]
cmp r13, 0xffff
je 0x18009b3d0
movzx eax, word [rbx + r12*4 + 2]
mov ecx, eax
and ecx, r14d
mov edx, r12d
sub edx, ecx
and edx, r14d
cmp r15, rdx
ja 0x18009b3d0
cmp ax, bp
jne 0x18009b470
cmp r10, r13
jbe 0x1800a1113
imul rsi, r13, 0x68
mov rcx, qword [r11 + rsi + 0x40]
test rcx, rcx
setne al
cmp qword [r9], 0
sete dl
cmp al, dl
je 0x18009b470
lea rax, [r11 + rsi]
add rax, 0x40
test rcx, rcx
je 0x18009b45e
mov r8, qword [rax + 0x10]
cmp r8, qword [r9 + 0x10]
jne 0x18009b470
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
call fcn.180165850
mov r11, qword [rsp + 0x90]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
test eax, eax
jne 0x18009b470
cmp qword [r11 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009b547
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.18006e190
lea rcx, [rsp + 0x130]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.180050810
lea rcx, [rsp + 0x148]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x4a0], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0x490], xmm1
movdqa xmmword [rsp + 0x480], xmm0
mov rax, qword [rsp + 0x170]
test rax, rax
je 0x18009b5b4
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x188]
call qword [rax + 0x10]
cmp byte [rsp + 0x4a0], 2
je 0x18009b3d0
mov rax, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
mov r8, qword [rsp + 0x490]
lea rcx, [rsp + 0x498]
call qword [rax + 0x10]
jmp 0x18009b3d0
movups xmm12, xmmword [0x1801ad738]
movaps xmmword [rsp + 0x140], xmm12
movups xmm13, xmmword [0x1801ad728]
movaps xmmword [rsp + 0x130], xmm13
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009b892
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x30], rax
call fcn.180038d50
mov r10, qword [rsp + 0x30]
mov ebp, eax
movzx r15d, ax
movzx r14d, word [rsp + 0x5f8]
and r15d, r14d
mov r13, qword [rsp + 0x5b8]
mov r12, qword [rsp + 0x5c0]
mov rsi, qword [rsp + 0x5c8]
mov r9, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
movzx eax, byte [rsp + 0x138]
mov byte [rsp + 0x70], al
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x38], rax
xor edi, edi
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], rdx
jmp 0x18009b6c6
movzx ecx, byte [rsp + 0x70]
cmp byte [rax + 8], cl
je 0x18009b781
nop word cs:[rax + rax]
inc rdi
inc r15
mov rax, r15
mov rbx, qword [rsp + 0x50]
nop
mov r15, rax
mov eax, 0
cmp r15, r12
jae 0x18009b6d0
movzx eax, word [r13 + r15*4]
cmp rax, 0xffff
je 0x18009b7e7
movzx ecx, word [r13 + r15*4 + 2]
mov r11d, ecx
and r11d, r14d
mov r8d, r15d
sub r8d, r11d
and r8d, r14d
cmp rdi, r8
ja 0x18009b7e7
cmp cx, bp
jne 0x18009b6c0
cmp r10, rax
jbe 0x1800a1113
test r9, r9
sete r8b
imul rbx, rax, 0x68
mov rcx, qword [rsi + rbx + 0x40]
test rcx, rcx
setne al
cmp al, r8b
je 0x18009b6c0
lea rax, [rsi + rbx]
add rax, 0x40
test rcx, rcx
je 0x18009b6a3
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x18009b6c0
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x38]
call fcn.180165850
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x90]
test eax, eax
jne 0x18009b6c0
add rsi, rbx
add rsi, 0x18
mov rbx, qword [rsp + 0x50]
jmp 0x18009b7e9
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a1113
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a1113
add rax, 0x30
mov rax, qword [rax]
test al, 4
je 0x18009b27e
mov rcx, r15
call fcn.180081ad0
lea rcx, [rsp + 0x680]
call fcn.180077da0
lea rcx, [rsp + 0x760]
call fcn.180077430
jmp 0x18009b130
xor esi, esi
test r9, r9
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bef48]
je 0x18009b816
lea rcx, [rsp + 0x148]
mov r8, qword [rsp + 0x38]
call qword [r9 + 0x10]
test rsi, rsi
je 0x18009b8ae
cmp qword [rsi + 0x10], 8
jne 0x18009b839
mov rax, qword [rsi + 8]
movabs rcx, 0x7372656c69617274
cmp qword [rax], rcx
je 0x18009b8ae
movaps xmmword [rsp + 0x490], xmm12
movaps xmmword [rsp + 0x480], xmm13
mov rcx, r14
lea rdx, [rsp + 0x5a0]
lea r8, [rsp + 0x480]
call fcn.180050a60
cmp byte [rsp + 0x150], 2
je 0x18009b8ae
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x18009b8ae
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bef48]
movups xmm0, xmmword [0x1801bf058]
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [0x1801bf048]
movdqa xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x400]
lea rdx, [rsp + 0x5a0]
mov r8, r14
call fcn.180050a60
cmp byte [rsp + 0x420], 2
je 0x18009c0e8
movdqu xmm0, xmmword [rsp + 0x400]
movdqu xmm1, xmmword [rsp + 0x410]
movdqa xmmword [rsp + 0x430], xmm0
movdqa xmmword [rsp + 0x440], xmm1
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0x450], rax
mov rcx, qword [rsp + 0x438]
mov rax, qword [rsp + 0x440]
xor edx, edx
nop word [rax + rax]
cmp rax, rdx
je 0x18009b962
movzx r8d, byte [rcx + rdx]
inc rdx
cmp r8b, 9
je 0x18009b940
add r8b, 0xe0
cmp r8b, 0x5f
jb 0x18009b940
jmp 0x1800a1113
mov qword [rsp + 0x480], 0
mov qword [rsp + 0x488], rax
mov qword [rsp + 0x490], rcx
mov qword [rsp + 0x498], rax
mov qword [rsp + 0x4a0], 0
mov qword [rsp + 0x4a8], rax
mov qword [rsp + 0x4b0], 1
movabs rax, 0x2c0000002c
mov qword [rsp + 0x4b8], rax
mov word [rsp + 0x4c0], 1
jmp 0x18009b9ec
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bef48]
lea rcx, [rsp + 0x480]
call fcn.18004f230
test rax, rax
je 0x18009c0c5
mov rcx, rax
call fcn.18004f590
mov r8, rdx
mov qword [rsp + 0x20], r15
mov rcx, r14
mov rdx, rax
mov r9, rdi
call fcn.180045d30
movzx r9d, byte [rsp + 0x140]
cmp r9d, 3
je 0x18009b9ec
mov r11, qword [rsp + 0x5d8]
test r11, r11
je 0x18009b9d0
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
cmp dword [rsp + 0x5a0], 2
mov qword [rsp + 0x90], r11
jne 0x18009bb20
mov r13, rdx
movdqu xmm0, xmmword [rsp + 0x5a8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm10
movdqa xmmword [rsp + 0x130], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm11
movdqa xmmword [rsp + 0x140], xmm1
movdqa xmmword [rsp + 0x150], xmm0
lea rax, [rsp + 0x160]
movaps xmmword [rax], xmm9
mov qword [rax + 0x10], 0
xor eax, eax
cmp r9b, 2
setne al
mov qword [rsp + 0x98], rax
mov r8d, 8
lea rdi, [rsp + 0x130]
mov rcx, rdi
lea r14, [rsp + 0x98]
mov rdx, r14
mov r15d, r9d
call fcn.180039020
test r15d, r15d
lea rbx, [0x1801bef48]
je 0x18009bc33
mov eax, r15d
cmp r15d, 2
jne 0x18009bc6c
movzx eax, r13b
mov qword [rsp + 0x98], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r14
jmp 0x18009bc75
xor r12d, r12d
cmp r9b, 2
setne r12b
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x1efac7090aef4a21
imul r12, rcx
cmp r9b, 2
jne 0x18009bb61
movzx eax, dl
xor rax, r12
imul rax, rcx
mov r10b, 2
mov r12, rax
jmp 0x18009bd88
lea rax, [rdx + rbp]
test r9b, r9b
je 0x18009bfeb
mov r10b, 1
test rbp, rbp
movabs r9, 0x100000001b3
je 0x18009c02c
mov r8, rbp
and r8, 7
je 0x18009c033
mov rcx, rdx
nop word cs:[rax + rax]
movzx r10d, byte [rcx]
inc rcx
xor r10, r12
imul r10, r9
mov r12, r10
dec r8
jne 0x18009bba0
cmp rbp, 8
jb 0x18009bc28
nop dword [rax]
movzx r8d, byte [rcx]
xor r8, r10
imul r8, r9
movzx r10d, byte [rcx + 1]
xor r10, r8
imul r10, r9
movzx r8d, byte [rcx + 2]
xor r8, r10
imul r8, r9
movzx r10d, byte [rcx + 3]
xor r10, r8
imul r10, r9
movzx r8d, byte [rcx + 4]
xor r8, r10
imul r8, r9
movzx r10d, byte [rcx + 5]
xor r10, r8
imul r10, r9
movzx r8d, byte [rcx + 6]
xor r8, r10
imul r8, r9
movzx r10d, byte [rcx + 7]
add rcx, 8
xor r10, r8
imul r10, r9
cmp rcx, rax
jne 0x18009bbc0
mov r12, r10
mov r10b, 1
jmp 0x18009bd88
test rbp, rbp
je 0x18009bc7a
xor esi, esi
nop word [rax + rax]
movzx eax, byte [r13 + rsi]
movzx eax, byte [rax + rbx]
mov byte [rsp + 0x98], al
mov r8d, 1
mov rcx, rdi
mov rdx, r14
call fcn.180039020
inc rsi
cmp rbp, rsi
jne 0x18009bc40
jmp 0x18009bc7a
mov rcx, rdi
mov rdx, r13
mov r8, rbp
call fcn.180039020
mov rax, qword [rsp + 0x140]
mov r9, qword [rsp + 0x160]
shl r9, 0x38
or r9, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x130]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x138]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rcx
mov r12, rdx
shr r12, 0x20
xor r12, rdx
xor r12, rax
mov r11, qword [rsp + 0x90]
mov rdx, r13
mov r10d, r15d
and r12d, 0x7fff
movzx r14d, word [rsp + 0x5f8]
mov r13d, r12d
and r13d, r14d
mov r15, qword [rsp + 0x5b8]
mov rbx, qword [rsp + 0x5c0]
mov r9, qword [rsp + 0x5c8]
mov qword [rsp + 0x70], rbp
neg rbp
mov qword [rsp + 0x30], rbp
xor edi, edi
mov qword [rsp + 0x38], r9
jmp 0x18009bdd6
inc rdi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, rbx
jae 0x18009bde0
movzx ebp, word [r15 + r13*4]
cmp rbp, 0xffff
je 0x18009b9d0
movzx eax, word [r15 + r13*4 + 2]
mov ecx, eax
and ecx, r14d
mov r8d, r13d
sub r8d, ecx
and r8d, r14d
cmp rdi, r8
ja 0x18009b9d0
cmp ax, r12w
jne 0x18009bdd0
cmp r11, rbp
jbe 0x1800a1113
imul rsi, rbp, 0x68
lea rax, [r9 + rsi]
add rax, 0x40
cmp qword [r9 + rsi + 0x40], 0
je 0x18009be98
cmp r10b, 2
je 0x18009bdd0
test r10b, r10b
je 0x18009bead
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009bdd0
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x58], r10d
call fcn.180165850
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
test eax, eax
jne 0x18009bdd0
jmp 0x18009bf13
cmp r10b, 2
jne 0x18009bdd0
cmp byte [rax + 8], dl
jne 0x18009bdd0
jmp 0x18009bf13
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009bdd0
mov rax, qword [rax + 8]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
mov r8, qword [rsp + 0x30]
add r8, rcx
cmp r8, 0xffffffffffffffff
mov r9, qword [rsp + 0x38]
je 0x18009bf13
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x1801bef48]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x18009bed0
cmp r9, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jb 0x18009bdd0
cmp qword [r9 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009bf31
add r9, rsi
mov rdx, qword [r9 + 8]
mov rcx, rdi
call fcn.18006e190
lea r14, [rsp + 0x130]
mov rcx, r14
mov rdx, rdi
mov r8, r13
mov r9, rbp
call fcn.180050810
lea rcx, [rsp + 0x148]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x7b0], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0x7a0], xmm1
movdqa xmmword [rsp + 0x790], xmm0
mov rax, qword [rsp + 0x170]
test rax, rax
mov rbx, qword [rsp + 0x50]
lea r15, [0x1801bef48]
je 0x18009bfad
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x188]
call qword [rax + 0x10]
cmp byte [rsp + 0x7b0], 2
lea rdi, [rsp + 0x870]
je 0x18009b9ec
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
jmp 0x18009b9ec
mov rsi, rdx
test rbp, rbp
movabs r9, 0x100000001b3
lea r10, [0x1801bef48]
je 0x18009c048
mov r8, rbp
mov rcx, rsi
and r8, 3
je 0x18009c055
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r12
imul rdx, r9
inc rcx
mov r12, rdx
dec r8
jne 0x18009c010
jmp 0x18009c058
xor ebp, ebp
jmp 0x18009bd88
mov r10, r12
mov rcx, rdx
cmp rbp, 8
jae 0x18009bbc0
jmp 0x18009bc28
xor ebp, ebp
xor r10d, r10d
mov rdx, rsi
jmp 0x18009bd88
mov rdx, r12
mov r12, rdx
cmp rbp, 4
jae 0x18009c070
xor r10d, r10d
mov r12, rdx
mov rdx, rsi
jmp 0x18009bd88
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r12
imul rdx, r9
movzx r8d, byte [rcx + 1]
movzx r8d, byte [r8 + r10]
xor r8, rdx
imul r8, r9
movzx edx, byte [rcx + 2]
movzx edx, byte [rdx + r10]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rcx + 3]
movzx r12d, byte [r8 + r10]
xor r12, rdx
imul r12, r9
add rcx, 4
cmp rcx, rax
jne 0x18009c070
mov rdx, rsi
xor r10d, r10d
jmp 0x18009bd88
mov rax, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x438]
mov r8, qword [rsp + 0x440]
lea rcx, [rsp + 0x448]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x270]
test rax, rax
je 0x18009c110
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x288]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x290]
test rax, rax
mov rbp, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
lea rsi, [rsp + 0x270]
je 0x18009c15a
mov rdx, qword [rsp + 0x298]
mov r8, qword [rsp + 0x2a0]
lea rcx, [rsp + 0x2a8]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x2b0]
test rax, rax
mov edi, 0xb2
lea r15, [rsp + 0x108]
je 0x18009c18f
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2c0]
lea rcx, [rsp + 0x2c8]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x2d0]
test rax, rax
je 0x18009c1b7
mov rdx, qword [rsp + 0x2d8]
mov r8, qword [rsp + 0x2e0]
lea rcx, [rsp + 0x2e8]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x2f0]
test rax, rax
je 0x18009c1df
mov rdx, qword [rsp + 0x2f8]
mov r8, qword [rsp + 0x300]
lea rcx, [rsp + 0x308]
call qword [rax + 0x10]
cmp qword [rsp + 0x460], 0
je 0x18009c201
mov ecx, 1
mov rdx, qword [rsp + 0x470]
mov rax, rdx
test rcx, rcx
jne 0x18009c234
jmp 0x18009c24f
mov rdx, qword [rsp + 0x468]
mov rax, qword [rsp + 0x470]
mov rcx, rsi
call qword [rax + 0x30]
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
test rcx, rcx
je 0x18009c24f
cmp rax, rdx
jne 0x18009c24f
test rdx, rdx
je 0x18009c43e
lea rcx, [rsp + 0x5a0]
call fcn.18004fc80
movzx eax, byte [rsp + 0x658]
cmp qword [rsp + 0x460], 0
je 0x18009c281
cmp qword [rsp + 0x470], 0
sete byte [rsp + 0xf0]
mov qword [rsp + 0x38], rax
cmp al, 7
je 0x18009c2ae
jmp 0x18009c344
mov rcx, qword [rsp + 0x468]
mov rdi, rax
mov rax, qword [rsp + 0x470]
call qword [rax + 0x28]
mov byte [rsp + 0xf0], al
mov rax, rdi
mov qword [rsp + 0x38], rax
cmp al, 7
jne 0x18009c344
lea rcx, [rsp + 0x5a0]
call fcn.18004f810
test rax, rax
je 0x18009c344
test rdx, rdx
je 0x18009c344
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x140], rax
movdqu xmm0, xmmword [rsp + 0x108]
movdqa xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x270], 2
mov dword [rsp + 0x274], 2
mov rcx, rsi
call fcn.18004d7e0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rsi
call fcn.1800834a0
lea rcx, [rsp + 0x5a0]
call fcn.180077da0
lea rsi, [rsp + 0x980]
jmp 0x18009d679
mov rax, qword [rsp + 0x670]
test rax, rax
lea rbx, [rsp + 0x5a0]
movabs r12, 0x27b4182e7f98c696
je 0x18009c68a
mov rcx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [rcx - 0x20]
xor r11d, r11d
movabs rsi, 0x328b5fe6c932fd21
and rsi, r9
movdqu xmm0, xmmword [rcx + rsi]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmm8
pmovmskb edi, xmm1
nop word cs:[rax + rax]
test di, di
je 0x18009c3df
lea ebx, [rdi - 1]
and ebx, edi
tzcnt r8d, edi
add r8, rsi
and r8, r9
shl r8, 5
mov rdx, r10
sub rdx, r8
mov rdi, qword [rdx + 8]
xor rdi, r12
mov r14, qword [rdx]
movabs r15, 0x328b5fe6c932fd21
xor r14, r15
or r14, rdi
mov edi, ebx
jne 0x18009c3a0
jmp 0x18009c40f
pcmpeqb xmm0, xmm7
pmovmskb edx, xmm0
test edx, edx
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
jne 0x18009c68a
add rsi, r11
add rsi, 0x10
add r11, 0x10
jmp 0x18009c37f
sar r8, 5
lea r10, [r8 - 0x10]
and r10, r9
movdqu xmm0, xmmword [rcx + r10]
pcmpeqb xmm0, xmm7
psllw xmm0, 7
pmovmskb r9d, xmm0
test r9d, r9d
je 0x18009c464
bsr r9w, r9w
xor r9d, 0xf
jmp 0x18009c469
movzx eax, byte [rsp + 0x658]
cmp rax, 7
ja 0x18009d8ed
bt rdi, rax
mov edx, 0
jb 0x18009c257
jmp 0x18009c242
mov r9w, 0x10
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
lea r15, [0x1801e53d0]
movdqu xmm0, xmmword [rcx + r8]
pcmpeqb xmm0, xmm7
pmovmskb r11d, xmm0
or r11d, 0x10000
tzcnt r11d, r11d
add r9d, r11d
mov r11b, 0x80
cmp r9w, 0xf
ja 0x18009c4af
inc qword [rax + 0x10]
mov r11b, 0xff
mov byte [rcx + r8], r11b
mov byte [r10 + rcx + 0x10], r11b
dec qword [rax + 0x18]
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x18009c68a
mov rdi, qword [rdx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r12
movabs rcx, 0x328b5fe6c932fd21
xor rax, rcx
or rax, rdx
jne 0x18009c661
mov rdi, qword [rsi]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x140], rax
movdqu xmm0, xmmword [rsi + 8]
movdqa xmmword [rsp + 0x130], xmm0
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x18009c68a
mov rsi, qword [rsp + 0x670]
test rsi, rsi
jne 0x18009c56b
movzx eax, byte [0x1801fba30]
mov ecx, 0x20
mov edx, 8
call fcn.18001e810
test rax, rax
je 0x1800a12a7
mov rsi, rax
mov qword [rax], r15
movups xmmword [rax + 8], xmm9
mov qword [rax + 0x18], 0
mov qword [rsp + 0x670], rax
movzx eax, byte [0x1801fba30]
mov ecx, 0x20
mov edx, 8
call fcn.18001e810
test rax, rax
je 0x1800a12a7
mov qword [rax], rdi
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x18], rcx
lea rcx, [0x1801bef08]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x52d7482ba582695a
movabs r8, 0xd083207b1531d444
mov r9, rax
call fcn.18006d2e0
test rax, rax
je 0x18009c68a
mov rsi, rax
mov r12, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xd083207b1531d444
xor rdx, rcx
movabs rcx, 0x52d7482ba582695a
xor rax, rcx
or rax, rdx
jne 0x18009d68b
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x270]
test rax, rax
je 0x18009c68a
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x288]
call qword [rax + 0x10]
jmp 0x18009c68a
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009c68a
cmp qword [rdi + 0x10], 0x11
jb 0x18009c678
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp byte [rsp + 0x38], 7
setne byte [rsp + 0xe0]
mov r8d, 0xe0
lea rcx, [rsp + 0x790]
mov rdx, rbx
call fcn.180164e10
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
test rcx, rcx
mov qword [rsp + 0x58], rcx
cmove rax, rcx
mov r12, qword [rsp + 0x860]
test r12, r12
mov qword [rsp + 0xe8], rax
je 0x18009c7aa
mov rax, qword [r12]
mov r8, qword [r12 + 8]
lea r9, [rax - 0x20]
xor r10d, r10d
movabs r11, 0x52d7482ba582695a
movabs r15, 0xd083207b1531d444
and r11, r8
movdqu xmm0, xmmword [rax + r11]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmm6
pmovmskb esi, xmm1
nop word cs:[rax + rax]
test si, si
je 0x18009c75e
lea edi, [rsi - 1]
and edi, esi
tzcnt edx, esi
add rdx, r11
and rdx, r8
shl rdx, 5
mov rcx, r9
sub rcx, rdx
mov rsi, qword [rcx + 8]
xor rsi, r15
mov r14, qword [rcx]
movabs rbx, 0x52d7482ba582695a
xor r14, rbx
or r14, rsi
mov esi, edi
jne 0x18009c720
jmp 0x18009c77b
pcmpeqb xmm0, xmm7
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18009c87d
add r11, r10
add r11, 0x10
add r10, 0x10
jmp 0x18009c701
sar rdx, 5
lea r9, [rdx - 0x10]
and r9, r8
movdqu xmm0, xmmword [rax + r9]
pcmpeqb xmm0, xmm7
psllw xmm0, 7
pmovmskb r8d, xmm0
test r8d, r8d
je 0x18009c7bb
bsr r8w, r8w
xor r8d, 0xf
jmp 0x18009c7c0
mov qword [rsp + 0x400], 0
jmp 0x18009c99c
mov r8w, 0x10
movdqu xmm0, xmmword [rax + rdx]
pcmpeqb xmm0, xmm7
pmovmskb r10d, xmm0
or r10d, 0x10000
tzcnt r10d, r10d
add r8d, r10d
mov r10b, 0x80
cmp r8w, 0xf
ja 0x18009c7ef
inc qword [r12 + 0x10]
mov r10b, 0xff
mov byte [rax + rdx], r10b
mov byte [r9 + rax + 0x10], r10b
dec qword [r12 + 0x18]
mov rsi, qword [rcx + 0x10]
test rsi, rsi
je 0x18009c87d
mov rdi, qword [rcx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r15
movabs rcx, 0x52d7482ba582695a
xor rax, rcx
or rax, rdx
jne 0x18009c854
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x410], xmm1
movdqa xmmword [rsp + 0x400], xmm0
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009c889
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009c87d
cmp qword [rdi + 0x10], 0x11
jb 0x18009c86b
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x400], 0
mov r14, qword [r12 + 0x18]
test r14, r14
je 0x18009c953
mov rdi, qword [r12]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r15, [rdi + 0x10]
jmp 0x18009c8d7
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, r13d
test r14, r14
mov rbp, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x60]
je 0x18009c953
test ax, ax
je 0x18009c8f0
lea r13d, [rax - 1]
and r13d, eax
jmp 0x18009c919
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffe00
add r15, 0x10
cmp ax, 0xffff
je 0x18009c8f0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov r13d, eax
and r13d, ecx
dec r14
tzcnt eax, eax
shl rax, 5
mov rcx, rdi
sub rcx, rax
mov rsi, qword [rcx - 0x10]
mov rbp, qword [rcx - 8]
mov rcx, rsi
call qword [rbp]
cmp qword [rbp + 8], 0
je 0x18009c8c2
cmp qword [rbp + 0x10], 0x11
jb 0x18009c8b0
mov rsi, qword [rsi - 8]
jmp 0x18009c8b0
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x18009c96c
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call fcn.1801654b0
mov qword [r12 + 0x18], 0
lea rax, [rsi + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp rsi, 8
cmovb rax, rsi
mov qword [r12 + 0x10], rax
mov r14, qword [rsp + 0xa8]
mov r12, qword [r14]
lea rsi, [r12 + 0x10]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d30e
mov dword [rsp + 0x30], 0
lea rdi, [rsp + 0x270]
lea r15, [rsp + 0x108]
movzx eax, byte [r12 + 0x18]
test al, al
jne 0x1800a1113
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 0x98]
lea rcx, [rbx + 0x10]
mov qword [rsp + 0x90], rcx
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d31e
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
jne 0x1800a1113
lea rdx, [r12 + 0x80]
mov rcx, rdi
call fcn.18003fb70
movzx esi, byte [rsp + 0x270]
cmp sil, 3
mov qword [rsp + 0x3f0], rbx
jne 0x18009cafc
mov r13, qword [r12 + 0x120]
test r13b, 1
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jne 0x18009cb7f
cmp qword [rsp + 0x58], 0
mov rbx, qword [rsp + 0x50]
je 0x18009cb9e
mov rdx, qword [rsp + 0xe8]
mov ecx, dword [rdx + 8]
cmp qword [r12 + 0x1e0], rcx
jbe 0x1800a1113
mov rax, qword [r12 + 0x1d0]
test rax, rax
je 0x1800a1113
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x1800a1113
mov edx, dword [rdx + 0xc]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x1800a1113
cmp byte [rax + 0x124], 0
je 0x18009cb9e
mov byte [rsp + 0x58], 3
mov sil, 3
jmp 0x18009cbb2
movzx eax, byte [rsp + 0x271]
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x104], eax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0xb8], rax
movzx eax, byte [rsp + 0x290]
mov byte [rsp + 0xb0], al
lea rcx, [rsp + 0x378]
mov eax, dword [rcx - 0xe7]
mov ecx, dword [rcx - 0xe4]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa3], ecx
mov rbx, qword [rsp + 0x50]
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x18009cbb7
shr r13, 8
or r13b, 5
mov sil, 3
mov eax, r13d
mov byte [rsp + 0x58], r13b
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x18009cbb7
cmp byte [r12 + 0x78], 0
je 0x18009d342
mov sil, 3
mov byte [rsp + 0x58], 1
mov r13, qword [rsp + 0x60]
cmp byte [rsp + 0x88], 0
jne 0x18009cbdb
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d8f4
mov rcx, qword [rsp + 0x90]
mov rdi, r8
call r8
cmp byte [rsp + 0x30], 0
jne 0x18009cc0a
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d919
mov rcx, qword [rsp + 0x70]
call rdi
mov rax, qword [rsp + 0x400]
test rax, rax
je 0x18009cc39
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
lea rcx, [rsp + 0x418]
call qword [rax + 0x10]
lea rcx, [rsp + 0x790]
call fcn.180077da0
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x120]
cmp sil, 3
movzx r8d, byte [rsp + 0x3f8]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x268]
mov r11, qword [rsp + 0xd8]
je 0x18009d0a8
movzx eax, sil
cmp eax, 4
jne 0x18009d0c8
mov rbx, qword [rsp + 0xb8]
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa3]
mov dword [rsp + 0x12b], ecx
mov dword [rsp + 0x128], eax
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbx
lea rsi, [rcx + 0x10]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d931
xor eax, eax
mov r9, qword [rsp + 0x48]
movzx ecx, byte [r9 + 0x18]
test cl, cl
mov r8, qword [rsp + 0x68]
jne 0x1800a1113
mov edx, r8d
cmp qword [r9 + 0x1e0], rdx
jbe 0x1800a1113
mov rcx, qword [r9 + 0x1d0]
test rcx, rcx
je 0x1800a1113
imul rdx, rdx, 0x130
cmp dword [rcx + rdx], 2
je 0x1800a1113
shr r8, 0x20
add rcx, rdx
cmp dword [rcx + 0x114], r8d
jne 0x1800a1113
mov rdi, rbx
movzx ebx, byte [rcx + 0x124]
test al, al
jne 0x18009cd7e
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d989
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0xb0], 0
je 0x18009cdeb
test bl, bl
je 0x18009cdeb
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x130]
call fcn.18003f270
mov rax, qword [rsp + 0xf8]
cmp qword [rax], 0
je 0x18009cdde
mov rcx, rax
call fcn.18003f370
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
lock dec qword [rcx]
jne 0x18009cdde
call fcn.1800841a0
mov rax, qword [rsp + 0xf8]
movdqu xmm0, xmmword [rsp + 0x480]
movdqu xmmword [rax], xmm0
lea rbx, [rsp + 0x270]
mov rcx, rbx
lea rdx, [rsp + 0x130]
call fcn.18003f270
cmp byte [rsp + 0x38], 7
mov rax, qword [rsp + 0x140]
lea rcx, [rsp + 0x288]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rcx], xmm0
mov byte [rsp + 0x280], 0
movups xmm0, xmmword [rsp + 0x270]
movzx eax, byte [rsp + 0x280]
mov rcx, qword [rsp + 0x281]
mov edx, dword [rsp + 0x289]
movzx r8d, word [rsp + 0x28d]
movzx r9d, byte [rsp + 0x28f]
movzx r10d, byte [rsp + 0x290]
lea rsi, [rsp + 0x378]
mov r11d, dword [rsi - 0xe7]
mov esi, dword [rsi - 0xe4]
mov dword [rsp + 0xc8], r11d
mov dword [rsp + 0xcb], esi
mov r11, qword [rsp + 0x298]
movups xmmword [rsp + 0x148], xmm0
mov byte [rsp + 0x158], al
mov qword [rsp + 0x159], rcx
mov dword [rsp + 0x161], edx
mov word [rsp + 0x165], r8w
mov byte [rsp + 0x167], r9b
mov byte [rsp + 0x168], r10b
mov eax, dword [rsp + 0xc8]
mov ecx, dword [rsp + 0xcb]
lea rdx, [rsp + 0x1a0]
mov dword [rdx - 0x34], ecx
mov dword [rdx - 0x37], eax
mov qword [rsp + 0x170], r11
movaps xmm0, xmmword [rsp + 0x460]
movaps xmm1, xmmword [rsp + 0x470]
lea rax, [rsp + 0x178]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x140], rax
sete byte [rsp + 0x198]
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0x199], al
lea rcx, [rsp + 0x480]
mov rdx, r14
mov r8, r13
call fcn.1800a1a90
movzx eax, byte [rsp + 0x480]
cmp eax, 5
je 0x18009d128
cmp eax, 6
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0x980]
je 0x1800a1183
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x970], rax
movups xmm0, xmmword [rsp + 0x480]
movdqu xmm1, xmmword [rsp + 0x490]
movdqa xmmword [rsp + 0x960], xmm1
movaps xmmword [rsp + 0x950], xmm0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x880], rax
movdqa xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x870], xmm0
lea rcx, [rsp + 0x950]
call fcn.18004d7e0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x870]
lea rdx, [rsp + 0x270]
call fcn.1800834a0
lea rcx, [rsp + 0x148]
call fcn.18003f370
mov rcx, qword [rsp + 0x148]
lock dec qword [rcx]
jne 0x18009d02a
call fcn.1800841a0
lea rcx, [rsp + 0x160]
call fcn.18003f370
mov rcx, qword [rsp + 0x160]
lock dec qword [rcx]
jne 0x18009d04a
call fcn.1800841a0
mov rcx, qword [rsp + 0x170]
lock dec qword [rcx]
jne 0x18009d05d
call fcn.1800a31d0
lea rcx, [rsp + 0x178]
call fcn.180077430
mov qword [rsp + 0xd8], rdi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xb8], rdi
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x260], al
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
jmp 0x18009b130
mov al, 3
lea rsi, [rsp + 0x980]
mov r9d, dword [rsp + 0x42c]
movzx r10d, byte [rsp + 0x260]
jmp 0x18009d580
test sil, sil
je 0x18009d1f5
cmp eax, 1
lea rsi, [rsp + 0x980]
jne 0x18009d210
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa3]
mov dword [rsp + 0x273], ecx
mov dword [rsp + 0x270], eax
mov al, 1
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0xb0]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rcx
jmp 0x18009d53b
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x2b0], xmm0
movdqa xmm0, xmmword [rsp + 0x130]
movdqa xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmm3, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, r12
mov rdx, rbx
mov r8, r13
call fcn.1800a2040
mov qword [rsp + 0xd8], rdi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xb8], rdi
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x260], al
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0x980]
jmp 0x18009b130
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
xor eax, eax
lea rsi, [rsp + 0x980]
jmp 0x18009d53b
cmp qword [rsp + 0x48], 0
je 0x18009d524
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009d245
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1296
mov qword [0x1801fb9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1296
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x10], rax
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009d2a8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1296
mov qword [0x1801fb9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1296
mov rcx, rax
mov qword [rax], rsi
lea rax, fcn.1800580f0
mov qword [rcx + 8], rax
movzx eax, byte [rsp + 0x58]
mov byte [rcx + 0x10], al
inc rcx
mov qword [rsp + 0xd0], rcx
mov al, 4
movzx r8d, byte [rsp + 0x3f8]
lea rsi, [rsp + 0x980]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x268]
jmp 0x18009d53b
call fcn.18016d440
xor al, 1
mov dword [rsp + 0x30], eax
jmp 0x18009c9cf
call fcn.18016d440
xor al, 1
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
je 0x18009ca41
jmp 0x1800a1113
movzx ebx, byte [rsp + 0xe0]
and bl, byte [rsp + 0xf0]
shr r13, 0x20
lea eax, [r13 + 2]
mov ecx, eax
shr ecx, 0x1f
mov dword [r12 + 0x120], ecx
mov dword [r12 + 0x124], eax
mov r9d, dword [r12 + 0x10c]
mov r8d, dword [r12 + 0x18c]
lea rcx, [rsp + 0x130]
mov edx, r13d
call fcn.18003f130
cmp byte [rsp + 0x848], 5
jne 0x18009d3a4
mov qword [rsp + 0x160], 1
mov r8d, 0xe0
lea rbp, [rsp + 0x870]
mov rcx, rbp
lea rdx, [rsp + 0x790]
call fcn.180164e10
movdqa xmm0, xmmword [rsp + 0x400]
movdqa xmm1, xmmword [rsp + 0x410]
movdqa xmmword [rsp + 0x440], xmm1
movdqa xmmword [rsp + 0x430], xmm0
mov byte [rsp + 0x20], bl
mov rcx, rdi
mov edx, r13d
mov r8, rbp
lea r9, [rsp + 0x430]
call fcn.1800445f0
mov r13, qword [rsp + 0x270]
movzx esi, byte [rsp + 0x278]
movzx r15d, byte [rsp + 0x279]
movzx r14d, word [rsp + 0x27a]
mov r10d, dword [rsp + 0x27c]
mov rbp, qword [rsp + 0x280]
mov r8, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x290]
movzx r9d, byte [rsp + 0x298]
lea rcx, [rsp + 0x378]
mov eax, dword [rcx - 0xdf]
mov ecx, dword [rcx - 0xdc]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9b], ecx
cmp r13, 3
mov qword [rsp + 0xe8], r8
jne 0x18009d6af
mov byte [rsp + 0x58], r15b
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x9b]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa3], ecx
movzx eax, byte [rsp + 0x180]
lea ecx, [rax - 6]
cmp cl, 6
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x48], rbp
jb 0x18009d9e7
lea ecx, [rax - 3]
cmp cl, 2
ja 0x18009d4dc
cmp cl, 1
jne 0x18009d9e7
test rax, rax
je 0x18009d9e7
cmp eax, 1
jne 0x18009d9a4
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
lea rcx, [rsp + 0x1a0]
mov r15d, r9d
mov edi, r10d
call qword [rax + 0x10]
jmp 0x18009d9d9
movzx eax, byte [rsp + 0x58]
shl rax, 0x20
or rax, 3
mov qword [rsp + 0xd0], rax
mov al, 4
mov ecx, dword [rsp + 0x270]
mov edx, dword [rsp + 0x273]
mov dword [rsp + 0x12b], edx
mov dword [rsp + 0x128], ecx
mov qword [rsp + 0x268], r10
mov r11, r10
mov qword [rsp + 0x80], r9
mov rdi, r9
mov byte [rsp + 0x3f8], r8b
mov r10d, r8d
mov r9d, dword [rsp + 0x104]
mov ecx, dword [rsp + 0x128]
mov edx, dword [rsp + 0x12b]
mov dword [rsp + 0xcb], edx
mov dword [rsp + 0xc8], ecx
mov ecx, dword [rsp + 0xc8]
mov edx, dword [rsp + 0xcb]
lea r8, [rsp + 0x378]
mov dword [r8 - 0xe4], edx
mov dword [r8 - 0xe7], ecx
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x140], rcx
movdqu xmm0, xmmword [rsp + 0x108]
movdqa xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x270], al
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x271], al
mov dword [rsp + 0x42c], r9d
mov dword [rsp + 0x274], r9d
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x280], rdi
mov qword [rsp + 0xd8], r11
mov qword [rsp + 0x288], r11
mov byte [rsp + 0x260], r10b
mov byte [rsp + 0x290], r10b
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.18004d7e0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.1800834a0
lea rcx, [rsp + 0x460]
call fcn.180077430
jmp 0x18009b130
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
je 0x18009c68a
cmp qword [r12 + 0x10], 0x11
jae 0x18009c674
jmp 0x18009c678
lea rax, [r12 + 0x20]
mov qword [rsp + 0x788], rax
mov rax, qword [rsp + 0x3f0]
add rax, 0x20
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0x120]
mov qword [rsp + 0x780], rax
mov r8d, 0xe8
lea rcx, [rsp + 0x4b0]
mov qword [rsp + 0xe0], rdx
lea rdx, [rsp + 0x2a0]
mov byte [rsp + 0x7f], r9b
mov ebx, r10d
call fcn.180164e10
mov qword [rsp + 0x480], r13
mov byte [rsp + 0x488], sil
mov byte [rsp + 0x489], r15b
mov word [rsp + 0x48a], r14w
mov dword [rsp + 0x48c], ebx
mov qword [rsp + 0x490], rbp
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x4a0], rax
movzx eax, byte [rsp + 0x7f]
mov byte [rsp + 0x4a8], al
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x9b]
lea r15, [rsp + 0x481]
mov dword [r15 + 0x2b], ecx
mov dword [r15 + 0x28], eax
lea r13, [r12 + 0x1d0]
mov ebx, dword [rsp + 0x244]
mov r8d, 0x130
mov rcx, rdi
lea rdx, [rsp + 0x130]
call fcn.180164e10
lea rsi, [rsp + 0x870]
mov rcx, rsi
mov rdx, r13
mov r8d, ebx
mov r9, rdi
call fcn.18003eac0
lea rax, [r12 + 0x1c0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x788]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x780]
lea rdx, [rsp + 0x480]
mov r8, qword [rsp + 0x58]
mov r9, rsi
call fcn.1800a2d80
cmp al, 0xc
jne 0x18009d93d
mov r8, rsi
inc qword [r12 + 0x240]
mov rsi, qword [r12 + 0x30]
mov rdi, qword [r12 + 0x38]
lock inc qword [r12]
lea r15, [rsp + 0x108]
jle 0x1800a1113
lea rcx, [rsp + 0x270]
mov rdx, r12
call fcn.18003f210
mov rbx, qword [rsp + 0x3f0]
lock inc qword [rbx]
mov rbp, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
jle 0x1800a1113
inc rdi
cmp rsi, rdi
setbe byte [rsp + 0xb0]
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x68], rax
cmp byte [rsp + 0x88], 0
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jne 0x18009d8b1
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009db1b
mov rcx, qword [rsp + 0x90]
call rsi
cmp byte [rsp + 0x30], 0
jne 0x18009d8dc
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009db38
mov rcx, qword [rsp + 0x70]
call rsi
mov r12, qword [rsp + 0x40]
jmp 0x18009cc93
xor edx, edx
jmp 0x18009c242
call fcn.18016d440
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009cbdb
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009cbdb
call fcn.18016d440
test al, al
jne 0x18009cc0a
mov byte [r12 + 0x18], 1
jmp 0x18009cc0a
call fcn.18016d440
xor al, 1
jmp 0x18009ccfa
mov byte [rsp + 0x58], al
mov rcx, qword [rsp + 0x870]
mov edx, dword [rsp + 0x87c]
call fcn.1800399e0
movdqu xmm0, xmmword [rsp + 0x870]
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, rdi
call fcn.180039c40
mov sil, 3
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x50]
jmp 0x18009da70
call fcn.18016d440
test al, al
jne 0x18009cd7e
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x18], 1
jmp 0x18009cd7e
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x18009d9e7
cmp qword [rsp + 0x190], 0
je 0x18009d9e7
mov rcx, qword [0x1801fb9b8]
mov qword [rsp + 0xe0], rdx
xor edx, edx
mov r15d, r9d
mov edi, r10d
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10d, edi
mov r9d, r15d
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x1c0]
test rax, rax
je 0x18009da11
mov rcx, qword [rsp + 0x1c8]
mov r15, rdx
mov ebp, r9d
mov edi, r10d
call qword [rax + 0x18]
mov r10d, edi
mov r9d, ebp
mov rdx, r15
mov rax, qword [rsp + 0x1d8]
test rax, rax
je 0x18009da4b
mov rcx, qword [rsp + 0x1e0]
mov r15, rdx
mov ebp, r9d
mov edi, r10d
call qword [rax + 0x18]
mov dword [rsp + 0x104], edi
mov byte [rsp + 0xb0], bpl
mov qword [rsp + 0xb8], r15
jmp 0x18009da63
mov dword [rsp + 0x104], r10d
mov byte [rsp + 0xb0], r9b
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov rdx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
lea r15, [rsp + 0x108]
mov eax, dword [rsp + 0x88]
test al, al
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x120]
jne 0x18009dab0
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009daec
mov rcx, qword [rsp + 0x90]
call rdx
cmp byte [rsp + 0x30], 0
jne 0x18009dad7
mov rax, qword [0x1801fb9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009db0a
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x40]
jmp 0x18009cc53
call fcn.18016d440
mov rdx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009dab0
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009dab0
call fcn.18016d440
test al, al
jne 0x18009dad7
mov byte [r12 + 0x18], 1
jmp 0x18009dad7
call fcn.18016d440
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009d8b1
mov byte [rbx + 0x18], 1
jmp 0x18009d8b1
call fcn.18016d440
test al, al
jne 0x18009d8dc
mov byte [r12 + 0x18], 1
jmp 0x18009d8dc
pxor xmm6, xmm6
movdqa xmm7, xmmword [str._r_nSM_r_n_r_n]
movdqa xmm8, xmmword [str.PRI__HTTP_2.0_r_n]
lea rax, [r12 + 0x180]
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0xd8]
mov qword [rsp + 0x88], rax
lea rax, [r12 + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0xa8]
mov qword [rsp + 0xa8], rax
lea rax, [r12 + 0x158]
mov qword [rsp + 0xd8], rax
lea rax, [r12 + 0x1b0]
mov qword [rsp + 0x38], rax
lea rax, [r12 + 0x1d1]
mov qword [rsp + 0xf8], rax
lea rax, [r12 + 0x128]
mov qword [rsp + 0x90], rax
lea rax, [r12 + 0x108]
mov qword [rsp + 0x68], rax
lea rax, [r12 + 0x98]
mov qword [rsp + 0x48], rax
lea rax, [r12 + 0xa1]
mov qword [rsp + 0x3f8], rax
xor eax, eax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
jmp 0x18009dc51
mov rax, qword [rsp + 0x70]
inc eax
cmp byte [r12 + 0xd1], 0
mov byte [r12 + 0xd1], 0
mov r13, qword [rsp + 0x60]
lea r14, [rsp + 0x130]
mov r8, qword [rsp + 0x30]
je 0x1800a0a45
cmp eax, 0x10
je 0x1800a0a30
cmp byte [r12 + 0x1e0], 0
mov qword [rsp + 0x70], rax
jne 0x18009f075
jmp 0x18009dcb1
mov r8, qword [rsp + 0x690]
lea rcx, [rsp + 0x698]
call qword [rax + 0x10]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x480]
call fcn.1800a13b0
mov r8, qword [rsp + 0x30]
cmp byte [r12 + 0x1e0], 0
jne 0x18009f075
mov qword [rsp + 0x30], r8
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0xf8]
lea r13, [rsp + 0x490]
jmp 0x18009dcf4
mov rcx, r14
call fcn.18006dbe0
lea rcx, [rsp + 0x480]
call fcn.1800a13b0
cmp byte [r12 + 0x1e0], 0
jne 0x18009f070
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x18009dd20
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
jne 0x18009dd4a
jmp 0x18009eec6
cmp qword [r12 + 0x90], 2
jne 0x18009df97
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
je 0x18009eecf
mov rdx, qword [rsp + 0x38]
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
movdqa xmmword [rsp + 0x490], xmm1
movdqa xmmword [rsp + 0x480], xmm0
mov byte [rsp + 0x4a0], cl
mov ecx, dword [r15]
mov edx, dword [r15 + 3]
mov dword [r13 + 0x14], edx
mov dword [r13 + 0x11], ecx
dec rax
cmp rax, 2
jae 0x18009dc90
lea rcx, [rsp + 0x480]
mov rdx, rbx
call fcn.18004da00
test rax, rax
jne 0x18009ee80
test rdx, rdx
je 0x18009dece
mov qword [rsp + 0x130], rdx
cmp dword [r12 + 0x70], 1
jne 0x18009ddc8
mov qword [r12 + 0x70], 2
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.1800acdb0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009dea0
test rax, rax
je 0x18009dea0
mov rax, qword [rsp + 0x278]
test rax, rax
je 0x18009de1e
mov rdx, qword [rsp + 0x280]
mov r8, qword [rsp + 0x288]
lea rcx, [rsp + 0x290]
call qword [rax + 0x10]
jmp 0x18009dea0
mov rax, qword [rsp + 0x280]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x18009dea0
test rcx, rcx
je 0x18009dea0
lea rsi, [rax - 1]
mov r14, qword [rax - 1]
mov rdi, qword [rax + 7]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009de6f
cmp qword [rdi + 0x10], 0x11
jb 0x18009de5d
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
nop word cs:[rax + rax]
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x18009dcd0
cmp eax, 3
je 0x18009dcd0
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009dcd0
mov rcx, r14
mov rdx, r12
mov r8, rbx
call fcn.1800acdb0
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x18009dc90
cmp eax, 1
mov r8, qword [rsp + 0x30]
jne 0x1800a0630
cmp qword [rsp + 0x138], 0
je 0x18009e2b6
lea rax, [rsp + 0x148]
movups xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [rax]
movdqa xmmword [rsp + 0x690], xmm1
movaps xmmword [rsp + 0x680], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x490]
lea r8, [rsp + 0x680]
call fcn.18004dc00
cmp byte [rsp + 0x290], 2
jne 0x18009e38c
cmp byte [r12 + 0x1d0], 3
je 0x18009df66
mov rcx, qword [rsp + 0x38]
call fcn.1800a13b0
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x480]
movdqa xmm1, xmmword [rsp + 0x490]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x18009dc9d
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], 2
je 0x18009f043
mov rdx, rbx
call fcn.1800a8380
test al, al
je 0x18009f043
movss xmm9, dword [r12 + 0xc9]
movzx eax, byte [r12 + 0xcd]
mov byte [rsp + 0xf0], al
movzx r13d, byte [r12 + 0xce]
movzx ebp, byte [r12 + 0xd0]
lea r8, [rsp + 0x2b0]
nop dword [rax]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x870], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x878], rax
movss dword [rsp + 0x880], xmm9
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0x884], al
mov byte [rsp + 0x885], r13b
mov byte [rsp + 0x886], bpl
cmp qword [r12 + 0x160], 0
je 0x18009e150
mov qword [rsp + 0x130], 2
mov qword [rsp + 0x150], 0
mov rcx, rdi
mov rdx, qword [rsp + 0xd8]
lea r8, [rsp + 0x870]
call fcn.180051280
mov rdx, qword [rsp + 0x130]
cmp rdx, 2
je 0x18009e130
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18009e0ae
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0x148]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x130]
cmp rdx, 2
je 0x18009e130
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18009e0ee
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0x148]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x130]
cmp rax, 2
je 0x18009e130
test rax, rax
je 0x18009e130
mov rcx, qword [rsp + 0x138]
lock dec qword [rcx]
jne 0x18009e130
mov rdx, qword [rsp + 0x140]
call fcn.18006e8f0
nop word [rax + rax]
mov rbx, qword [rsp + 0x270]
cmp rbx, 4
lea r8, [rsp + 0x2b0]
jne 0x18009e161
jmp 0x18009e5b0
mov qword [rsp + 0x270], 3
mov ebx, 3
movzx eax, byte [rsp + 0x278]
movzx edx, byte [rsp + 0x27f]
movzx ecx, word [rsp + 0x27d]
mov esi, dword [rsp + 0x279]
mov r9, r8
mov r8, qword [r8 - 0x10]
mov qword [rsp + 0x4a0], r8
movups xmm0, xmmword [r9 - 0x30]
movdqu xmm1, xmmword [r9 - 0x20]
movdqa xmmword [rsp + 0x490], xmm1
movaps xmmword [rsp + 0x480], xmm0
mov r14, qword [rsp + 0x2a8]
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x400], xmm0
mov r15, qword [rsp + 0x2c0]
movzx r8d, word [r9 + 0x28]
mov word [rsp + 0x5b0], r8w
movdqu xmm0, xmmword [r9 + 0x18]
movdqa xmmword [rsp + 0x5a0], xmm0
movzx r12d, byte [rsp + 0x2da]
mov r8d, dword [r9 + 0x2b]
mov dword [rsp + 0x108], r8d
movzx r8d, byte [r9 + 0x2f]
mov byte [rsp + 0x10c], r8b
cmp rbx, 3
jne 0x18009e3f8
xor eax, eax
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0xd8], 0
sete al
mov rcx, qword [r12 + 0x160]
cmp rcx, qword [r12 + rax*8 + 0xe0]
jae 0x18009e545
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x60]
call fcn.1800ab150
mov rax, qword [rsp + 0x270]
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x18009e579
mov rcx, qword [rsp + 0x278]
test rax, rax
lea r8, [rsp + 0x2b0]
jne 0x18009e593
test rcx, rcx
jne 0x18009dff0
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
je 0x18009e674
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e69a
mov rdi, qword [rsp + 0x140]
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009e2e7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009e33c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1274
mov qword [0x1801fb9b8], rax
mov r8d, 8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1274
mov qword [rax], rdi
mov qword [rsi], rax
lea rax, [0x1801be8b0]
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x490]
movzx edx, byte [rsp + 0x4a0]
mov r8, rsi
call fcn.18004dea0
lea rdi, [rsp + 0x270]
jmp 0x18009dc90
mov rax, qword [rsp + 0x270]
test rax, rax
lea rcx, [rsp + 0x2b0]
je 0x1800a1113
mov rdx, qword [rsp + 0x278]
movdqu xmm0, xmmword [rcx - 0x30]
lea rcx, [rsp + 0x698]
movdqu xmmword [rcx - 8], xmm0
mov qword [rsp + 0x680], rax
mov qword [rsp + 0x688], rdx
mov rcx, qword [r12 + 0x70]
dec rcx
cmp rcx, 2
jae 0x18009dc70
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009dc70
shl edx, 0x10
or ecx, edx
shl rcx, 0x20
or rsi, rcx
mov rdx, qword [rsp + 0x2e0]
movzx ecx, byte [rsp + 0x2e8]
movzx r9d, byte [rsp + 0x2e9]
movzx r8d, byte [rsp + 0x2ea]
mov r10, qword [rsp + 0x4a0]
mov qword [rsp + 0x6a0], r10
movaps xmm0, xmmword [rsp + 0x480]
movaps xmm1, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x690], xmm1
movaps xmmword [rsp + 0x680], xmm0
movaps xmm0, xmmword [rsp + 0x400]
movaps xmmword [rsp + 0x950], xmm0
movaps xmm0, xmmword [rsp + 0x5a0]
movaps xmmword [rsp + 0x980], xmm0
movzx r10d, word [rsp + 0x5b0]
mov word [rsp + 0x990], r10w
mov r10d, dword [rsp + 0x108]
mov dword [rsp + 0x98], r10d
movzx r10d, byte [rsp + 0x10c]
mov byte [rsp + 0x9c], r10b
shl rsi, 8
mov r10, qword [rsp + 0x40]
mov byte [r10 + 0xd0], 0
cmp byte [r10 + 0xd2], 2
jne 0x18009e4c9
test r9b, r9b
jne 0x18009e4e3
cmp r9b, 1
mov r9d, 0
adc r9b, 1
mov r10, qword [rsp + 0x40]
mov byte [r10 + 0xd2], r9b
or rsi, rax
mov rdi, qword [rsp + 0x40]
mov byte [rdi + 0xd3], r12b
test r8b, r8b
setne bpl
add bpl, bpl
test rdx, rdx
mov r13, qword [rsp + 0x60]
je 0x18009e5e4
test cl, cl
je 0x18009ed37
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x18009ed5f
cmp rdx, 0xfffffffffffffffe
jne 0x18009ed63
mov al, 1
xor r13d, r13d
jmp 0x18009ed68
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
lea r14, [rsp + 0x130]
je 0x18009e61b
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e641
mov ebx, 5
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e7da
call fcn.18004e2b0
mov rsi, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e71d
movzx ebx, byte [rsp + 0x278]
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
je 0x18009e6c8
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e6ee
mov qword [rdi + 0x70], 3
mov rcx, rdi
call fcn.1800acbe0
mov rcx, rdi
mov rdx, r13
call fcn.1800accc0
xor edx, edx
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
jmp 0x18009edc3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x900
jmp 0x18009e71d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 2
jmp 0x18009e71d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 0
mov byte [rax + 0x31], bl
mov qword [rsp + 0x130], rsi
movzx ebx, byte [r12 + 0xd2]
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
mov rax, qword [r12 + 0x160]
test rax, rax
je 0x18009e79b
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
xor edx, edx
jmp 0x18009e768
inc rdx
cmp rax, rdx
je 0x18009e783
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x18009e760
cmp r8d, 0xa
je 0x18009e760
cmp rax, rdx
jae 0x18009e786
jmp 0x1800a1113
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.180022450
mov rsi, qword [rsp + 0x130]
cmp byte [rsi + 0x30], 0
je 0x18009e836
cmp qword [r12 + 0x160], 0
jne 0x18009e836
test bl, bl
jne 0x18009e836
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
mov rcx, r14
call fcn.18006dbe0
mov ebx, 4
mov r8, qword [rsp + 0x30]
cmp rbx, 3
mov qword [rsp + 0x80], r13
jne 0x18009e90d
mov qword [rsp + 0x278], rsi
mov qword [rsp + 0x270], 3
mov rcx, qword [rsp + 0x50]
lea rdi, [rsp + 0x270]
mov rdx, rdi
mov rsi, r8
call fcn.1800a14f0
mov r8, rsi
test rax, rax
mov rbp, qword [rsp + 0xc0]
je 0x18009eaea
jmp 0x1800a0697
mov qword [rsp + 0x270], rsi
cmp dword [r12 + 0x90], 2
jne 0x18009e8f1
cmp qword [r12 + 0x160], 0x18
mov r8, qword [rsp + 0x30]
jb 0x18009e8f6
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
movdqu xmm0, xmmword [rax]
pcmpeqb xmm0, xmm8
movq xmm1, qword [rax + 0x10]
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x18009e8f6
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009e8b6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x500
lea rcx, [rsp + 0x270]
call fcn.18006dbe0
mov r8, qword [rsp + 0x30]
mov ebx, 3
cmp rbx, 3
mov qword [rsp + 0x80], r13
je 0x18009e7f1
cmp rbx, 4
je 0x18009eacb
cmp rbx, 5
je 0x1800a0755
mov r15, r8
mov qword [rsp + 0x480], rbx
mov qword [rsp + 0x488], rsi
mov rax, qword [rsp + 0x7b0]
mov qword [rdi + 0x20], rax
movaps xmm0, xmmword [rsp + 0x790]
movdqa xmm1, xmmword [rsp + 0x7a0]
movdqu xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x4b8], rax
movaps xmm0, xmmword [rsp + 0x460]
movups xmmword [rdi + 0x30], xmm0
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x4d0], rax
movzx eax, word [rsp + 0x440]
mov word [rdi + 0x58], ax
movdqa xmm0, xmmword [rsp + 0x430]
movdqu xmmword [rdi + 0x48], xmm0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0x4ea], al
movzx eax, byte [rsp + 0xa4]
mov byte [rdi + 0x5f], al
mov eax, dword [rsp + 0xa0]
mov dword [rdi + 0x5b], eax
test rdx, rdx
je 0x18009eb16
mov r8d, ebp
and r8b, 1
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.18004c4c0
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x2b0]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x6a0], rax
movups xmm0, xmmword [rcx - 0x18]
movups xmm1, xmmword [rcx - 8]
movaps xmmword [rsp + 0x690], xmm1
movaps xmmword [rsp + 0x680], xmm0
mov rbx, qword [rsp + 0x2c0]
cmp byte [r12 + 0x1d0], 3
je 0x18009ea5c
mov rcx, qword [rsp + 0x38]
call fcn.1800a13b0
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
movdqa xmm0, xmmword [rsp + 0x680]
movdqa xmm1, xmmword [rsp + 0x690]
movdqa xmmword [rsp + 0x870], xmm0
movdqa xmmword [rsp + 0x880], xmm1
mov rax, qword [rsp + 0x6a0]
mov qword [rsp + 0x890], rax
test bpl, 2
mov rbp, qword [rsp + 0xc0]
jne 0x18009eb3b
jmp 0x18009ec60
cmp dword [r12 + 0x90], 5
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jne 0x18009dca2
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
jmp 0x18009dca2
movdqa xmmword [rsp + 0x870], xmm6
xor ebx, ebx
lea rdi, [rsp + 0x270]
test bpl, 2
mov rbp, qword [rsp + 0xc0]
je 0x18009ec60
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009eb64
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1285
mov qword [0x1801fb9b8], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1285
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movdqu xmmword [rax + 0x30], xmm6
lock inc qword [rax]
jle 0x1800a1113
cmp qword [r12], 0
je 0x18009ebef
mov r14, qword [r12 + 8]
test r14, r14
je 0x18009ebef
mov rax, qword [r14 + 0x30]
mov rcx, rax
test cl, 4
jne 0x18009ebe1
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [r14 + 0x30], rdx
jne 0x18009ebb4
and ecx, 5
cmp ecx, 1
jne 0x18009ebe1
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x18009ebef
mov rcx, r14
call fcn.18004edb0
mov qword [r12], 1
mov qword [r12 + 8], rsi
mov edx, 1
lea rcx, [rsp + 0x4e0]
mov r8, rsi
call fcn.1800a81d0
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x18009ec60
test rax, rax
je 0x18009ec60
mov rsi, rdx
test rdx, rdx
je 0x18009ec60
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x18009ec30
and eax, 0xa
cmp eax, 8
jne 0x18009ec52
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x18009ec60
mov rcx, rsi
call fcn.1800a12d0
movups xmm0, xmmword [rsp + 0x4e0]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rsp + 0x4d0]
movaps xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [rsp + 0x4c0]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rsp + 0x480]
movups xmm1, xmmword [rsp + 0x490]
movups xmm2, xmmword [rsp + 0x4a0]
movups xmm3, xmmword [rsp + 0x4b0]
movaps xmmword [rsp + 0x160], xmm3
movaps xmmword [rsp + 0x150], xmm2
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x890]
lea rcx, [rsp + 0x148]
mov qword [rcx + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x870]
movdqa xmm1, xmmword [rsp + 0x880]
movdqu xmmword [rcx + 0x68], xmm1
movdqu xmmword [rcx + 0x58], xmm0
mov r8d, 0x98
mov rcx, rdi
mov rdx, r14
call fcn.180164e10
mov qword [rsp + 0x308], rbx
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.1800a14f0
test rax, rax
mov r8, r15
je 0x18009dca2
jmp 0x1800a0697
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x18009ed94
cmp rdx, 0xfffffffffffffffe
jne 0x18009ed98
mov al, 1
xor r8d, r8d
jmp 0x18009ed9d
mov al, 2
jmp 0x18009ed68
xor eax, eax
mov r13, rdx
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x70], 1
mov byte [rcx + 0x78], al
mov byte [rcx + 0x79], 0
mov qword [rcx + 0x80], r13
mov qword [rcx + 0x88], 0
or bpl, 1
jmp 0x18009edc3
mov al, 2
jmp 0x18009ed9d
xor eax, eax
mov r8, rdx
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x70], 2
mov byte [rcx + 0x78], al
mov byte [rcx + 0x79], 0
mov qword [rcx + 0x80], r8
mov qword [rcx + 0x88], 0
mov rax, qword [rsp + 0x6a0]
mov qword [rsp + 0x7b0], rax
movaps xmm0, xmmword [rsp + 0x680]
movdqa xmm1, xmmword [rsp + 0x690]
movdqa xmmword [rsp + 0x7a0], xmm1
movaps xmmword [rsp + 0x790], xmm0
movaps xmm0, xmmword [rsp + 0x950]
movaps xmmword [rsp + 0x460], xmm0
movdqa xmm0, xmmword [rsp + 0x980]
movdqa xmmword [rsp + 0x430], xmm0
movzx eax, word [rsp + 0x990]
mov word [rsp + 0x440], ax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0xa4], al
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x260], r15
mov byte [rsp + 0xb8], r12b
mov r12, qword [rsp + 0x40]
lea r14, [rsp + 0x130]
cmp rbx, 3
mov qword [rsp + 0x80], r13
jne 0x18009e90d
jmp 0x18009e7f1
cmp byte [r12 + 0x1d0], 3
je 0x18009ee95
mov rcx, qword [rsp + 0x38]
call fcn.1800a13b0
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x480]
movdqa xmm1, xmmword [rsp + 0x490]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x18009f070
cmp eax, 4
je 0x18009f070
test rax, rax
mov r8, qword [rsp + 0x30]
jne 0x18009ef4d
cmp qword [r12 + 0x90], 2
jne 0x18009ef4d
cmp qword [r12 + 0x160], 0
je 0x18009efcc
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18009ef1c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1263
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 3
jmp 0x18009f024
cmp byte [r12 + 0xc8], 0
jne 0x18009f075
cmp qword [r12 + 0x160], 0
jne 0x18009f075
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ab150
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009f070
mov rcx, qword [rsp + 0x278]
test rax, rax
jne 0x18009effe
test rcx, rcx
mov r8, qword [rsp + 0x30]
jne 0x18009f075
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
call fcn.18004e1d0
mov r8, qword [rsp + 0x30]
mov r13, rax
jmp 0x18009f029
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ab150
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009f070
mov rcx, qword [rsp + 0x278]
test rax, rax
je 0x18009f033
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
call fcn.18004e2b0
mov r13, rax
mov r8, qword [rsp + 0x30]
test r13, r13
je 0x18009f075
jmp 0x1800a08e8
test rcx, rcx
je 0x1800a067b
call fcn.18004e240
jmp 0x18009f021
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
nop word [rax + rax]
mov r8, qword [rsp + 0x30]
mov qword [rsp + 0x30], r8
cmp byte [r12 + 0x1e0], 0
je 0x18009f0c0
mov r13, qword [rsp + 0x60]
mov rcx, r12
mov rdx, r13
call fcn.1800ae4e0
mov rcx, rax
call fcn.1800af2f0
test rax, rax
jne 0x18009dc20
mov r13, rdx
test rdx, rdx
je 0x18009dc20
jmp 0x1800a08e8
mov r13, qword [rsp + 0x60]
jmp 0x18009f0ea
mov rcx, rsi
call fcn.180077430
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
jne 0x18009f08a
mov rax, qword [r12 + 0x1d8]
cmp qword [rax], 0
je 0x18009f170
cmp byte [r12 + 0x178], 0
jne 0x18009f25d
cmp byte [r12 + 0x150], 0
je 0x18009f1d4
mov r8, qword [r12 + 0x140]
cmp r8, 0xf
ja 0x18009f872
test r8, r8
je 0x18009f1e5
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x138]
cmp rax, rcx
mov edx, 0
cmovae rdx, rcx
sub rax, rdx
mov r9, rcx
sub r9, rax
mov rdx, r8
sub rdx, r9
ja 0x18009f1eb
add r8, rax
mov rcx, r8
jmp 0x18009f1e9
cmp qword [r12 + 0x70], 4
je 0x18009f0f8
cmp qword [r12 + 0x90], 2
jne 0x18009f0f8
mov r8, qword [r12 + 0x140]
test r8, r8
je 0x18009f441
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x138]
cmp rax, rcx
mov edx, 0
cmovae rdx, rcx
sub rax, rdx
mov r9, rcx
sub r9, rax
mov rdx, r8
sub rdx, r9
ja 0x18009f447
add r8, rax
mov rcx, r8
jmp 0x18009f445
mov r8, qword [r12 + 0x140]
test r8, r8
jne 0x18009f131
xor eax, eax
xor ecx, ecx
xor edx, edx
mov rsi, qword [r12 + 0x118]
sub rsi, qword [r12 + 0x120]
mov r8, qword [r12 + 0x128]
lea rax, [rax + rax*4]
shl rax, 4
add rax, r8
lea rcx, [rcx + rcx*4]
shl rcx, 4
add rcx, r8
lea rdx, [rdx + rdx*4]
shl rdx, 4
add rdx, r8
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], r8
mov qword [rsp + 0x288], rdx
mov rcx, rdi
call fcn.1800ae3a0
add rax, rsi
cmp rax, qword [r12 + 0x148]
jae 0x18009f872
mov rax, qword [r12 + 0x90]
mov r15, qword [r12 + 0x1d8]
mov r14, qword [r15]
lea rsi, [r15 + 8]
test r14, r14
cmovne r14, rsi
je 0x18009f7b2
cmp rax, 3
ja 0x18009f0d0
cmp rax, 2
je 0x18009f0d0
mov rcx, rdi
mov rdx, r14
mov r8, r13
call fcn.18006d4f0
cmp dword [rsp + 0x270], 2
je 0x18009f085
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x890], rax
movdqu xmm0, xmmword [rsp + 0x270]
movdqu xmm1, xmmword [rsp + 0x280]
movdqa xmmword [rsp + 0x880], xmm1
movdqa xmmword [rsp + 0x870], xmm0
mov rbx, qword [rsp + 0x870]
test rbx, rbx
je 0x18009f7dc
mov rax, qword [rsp + 0x878]
mov rdi, qword [rsp + 0x880]
test rax, rax
je 0x1800a0827
lea rcx, [rsp + 0x888]
movdqu xmm0, xmmword [rcx]
lea rcx, [rsp + 0x7a0]
movdqu xmmword [rcx], xmm0
mov qword [rsp + 0x790], rax
mov qword [rsp + 0x798], rdi
cmp qword [r14], 0
je 0x18009f390
cmp qword [r14 + 0x10], 0
je 0x18009f39f
mov rdi, qword [rsp + 0x7a0]
test rdi, rdi
jne 0x18009f7fe
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
lea rcx, [rsp + 0x7a8]
xor r8d, r8d
call qword [rax + 0x10]
lea rdi, [rsp + 0x270]
cmp byte [r12 + 0x1e0], 0
je 0x18009f0ea
jmp 0x18009f08a
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x18009f344
mov r13, qword [rsp + 0x7a0]
test r13, r13
je 0x18009f89f
mov rdi, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x18009f3d4
cmp rcx, 1
jne 0x1800a1113
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
je 0x18009fab2
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp r13, rcx
jae 0x18009fcec
movdqu xmm0, xmmword [rsp + 0x790]
movdqa xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x288], rdi
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800af8d0
mov eax, 5
mov rcx, qword [rsp + 0x48]
jmp 0x1800a0501
xor eax, eax
xor ecx, ecx
xor edx, edx
mov r8, qword [rsp + 0x90]
mov r8, qword [r8]
lea rax, [rax + rax*4]
shl rax, 4
add rax, r8
lea rcx, [rcx + rcx*4]
shl rcx, 4
add rcx, r8
lea rdx, [rdx + rdx*4]
shl rdx, 4
add rdx, r8
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], r8
mov qword [rsp + 0x288], rdx
mov rcx, rdi
call fcn.1800ae3a0
test rax, rax
jne 0x18009f0f8
mov rax, qword [rsp + 0x50]
cmp qword [rax], 2
jne 0x18009f0f8
mov rdx, qword [r12 + 0x198]
mov r8, qword [r13]
mov rcx, rdi
call fcn.1800a1d20
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a069f
cmp esi, 4
je 0x1800a06aa
cmp esi, 2
lea rbx, [rsp + 0x130]
je 0x1800a1113
mov r8d, pe_nt_image_headers64
mov rcx, rbx
mov rdx, rdi
call fcn.180164e10
lea rdi, [rsp + 0x2b0]
movdqu xmm0, xmmword [rdi + 0xc8]
lea rax, [rsp + 0x5a8]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x5a0], rsi
lea rcx, [rsp + 0x5a0]
mov rdx, r13
call fcn.1800a8380
test al, al
je 0x1800a06ff
lea rcx, [rsp + 0x148]
mov rax, qword [rcx + 0xb0]
mov qword [rdi + 0x28], rax
movups xmm0, xmmword [rcx + 0xa0]
movups xmmword [rdi + 0x18], xmm0
mov rax, qword [rcx + 0x98]
mov qword [rsp + 0x2c0], rax
movups xmm0, xmmword [rcx + 0x88]
movaps xmmword [rsp + 0x2b0], xmm0
movups xmm0, xmmword [rcx + 0x48]
movups xmm1, xmmword [rcx + 0x58]
movups xmm2, xmmword [rcx + 0x68]
movups xmm3, xmmword [rcx + 0x78]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
movzx ebx, byte [rsp + 0x208]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x138]
movups xmm0, xmmword [rcx - 8]
movups xmm1, xmmword [rcx + 8]
movups xmm2, xmmword [rcx + 0x18]
movups xmm3, xmmword [rcx + 0x28]
movaps xmmword [rsp + 0x680], xmm0
movaps xmmword [rsp + 0x690], xmm1
movaps xmmword [rsp + 0x6a0], xmm2
movaps xmmword [rsp + 0x6b0], xmm3
movups xmm0, xmmword [rcx + 0x38]
movaps xmmword [rsp + 0x6c0], xmm0
mov r14, qword [rsp + 0x200]
movaps xmm0, xmmword [rsp + 0x2d0]
lea rax, [rsp + 0x698]
movups xmmword [rax + 0x98], xmm0
movaps xmm0, xmmword [rsp + 0x2c0]
movups xmmword [rax + 0x88], xmm0
movaps xmm0, xmmword [rsp + 0x2b0]
movups xmmword [rax + 0x78], xmm0
movaps xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movaps xmm2, xmmword [rsp + 0x290]
movaps xmm3, xmmword [rsp + 0x2a0]
movups xmmword [rax + 0x68], xmm3
movups xmmword [rax + 0x58], xmm2
movups xmmword [rax + 0x48], xmm1
movups xmmword [rax + 0x38], xmm0
mov r15, qword [rsp + 0x50]
cmp dword [r15], 2
je 0x18009f67d
mov rcx, r15
call fcn.180081ad0
mov rax, qword [rsp + 0x5b0]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rsp + 0x5a0]
movups xmmword [r15], xmm0
mov r8d, 0xc0
lea rcx, [rsp + 0x870]
lea rdx, [rsp + 0x680]
call fcn.180164e10
lea rax, [rsp + 0x210]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
lea rax, [rsp + 0x7a0]
movdqu xmmword [rax - 9], xmm0
movdqu xmmword [rax + 7], xmm1
cmp rsi, 3
je 0x1800a0721
cmp rsi, 4
je 0x1800a0748
mov rax, qword [rsp + 0x7af]
mov qword [rsp + 0x28f], rax
movups xmm0, xmmword [rsp + 0x790]
movups xmm1, xmmword [rsp + 0x7a0]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x480], rsi
mov qword [rsp + 0x488], rdi
mov r8d, 0xc0
lea rcx, [rsp + 0x490]
lea rdx, [rsp + 0x870]
call fcn.180164e10
mov qword [rsp + 0x550], r14
mov byte [rsp + 0x558], bl
lea rax, [rsp + 0x2b0]
movdqu xmm0, xmmword [rax - 0x39]
movdqu xmm1, xmmword [rax - 0x29]
movdqa xmmword [rsp + 0x140], xmm1
movdqa xmmword [rsp + 0x130], xmm0
cmp qword [rsp + 0x130], 0
je 0x18009fe40
mov rax, qword [rsp + 0x140]
test rax, rax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
je 0x18009fe6b
mov ecx, 1
mov rdx, rax
jmp 0x1800a0268
cmp rax, 3
ja 0x18009f085
cmp rax, 2
je 0x18009f085
mov rcx, r12
call fcn.1800af3e0
test rax, rax
je 0x1800a0577
jmp 0x1800a0c1a
mov rcx, r12
call fcn.1800af3e0
mov dil, 1
test rax, rax
jne 0x1800a0cc5
test rbx, rbx
je 0x1800a051e
jmp 0x1800a0551
mov r14, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x18009f822
cmp rcx, 1
jne 0x1800a1113
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
lea r8, [rsp + 0x2b0]
mov r13, qword [rsp + 0x48]
je 0x18009f8e4
mov rax, qword [r13]
mov rcx, rax
sub rcx, rdi
jae 0x18009f9d3
mov qword [r13], 0
mov ecx, 1
lea rdx, [rsp + 0x790]
jmp 0x18009f9e1
mov rcx, r12
mov rdx, r13
call fcn.1800ae4e0
mov rcx, rax
call fcn.1800af2f0
test rax, rax
jne 0x18009f085
mov r13, rdx
test rdx, rdx
je 0x1800a0577
jmp 0x1800a08e8
mov rcx, r12
call fcn.1800af3e0
test rax, rax
jne 0x1800a0fc3
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
mov dil, 1
test rbx, rbx
je 0x1800a051e
jmp 0x1800a0551
mov qword [rsp + 0x950], rdi
movdqa xmmword [rsp + 0x680], xmm6
mov dword [rsp + 0x690], 0
lea rax, [rsp + 0x680]
mov qword [rsp + 0x400], rax
lea rax, [rsp + 0x950]
mov qword [rsp + 0x5a0], rax
lea rax, [0x180027d40]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 2
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 1
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x400]
lea rdx, [0x1801acb38]
lea r8, [rsp + 0x130]
call fcn.1800235e0
test al, al
jne 0x1800a1113
mov rax, qword [rsp + 0x680]
lea rdx, [rsp + 0x698]
mov rcx, qword [rdx - 0x10]
mov qword [rsp + 0x5a0], rcx
mov ecx, dword [rdx - 8]
mov dword [rsp + 0x5a8], ecx
mov ecx, 2
lea rdx, [rsp + 0x980]
lea r8, [rsp + 0x2b0]
jmp 0x18009f9e1
mov qword [r13], rcx
lea rdx, [rsp + 0x790]
xor ecx, ecx
movdqu xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0x130], xmm0
movdqu xmmword [r8 - 0x38], xmm0
mov qword [rsp + 0x288], rdi
mov qword [rsp + 0x290], r14
mov rdx, qword [rsp + 0x5a0]
mov qword [r8 - 0x10], rdx
mov edx, dword [rsp + 0x5a8]
mov dword [r8 - 8], edx
mov edx, dword [rsp + 0x5ac]
mov dword [r8 - 4], edx
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x298], rax
lea rax, [0x1801bf27a]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], 2
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800af550
cmp qword [r12 + 0x90], 0
je 0x18009faa2
cmp qword [r12 + 0x98], 0
jne 0x18009faa2
xor eax, eax
cmp byte [r12 + 0xa0], 0
sete al
xor rax, 5
movdqu xmm0, xmmword [rsp + 0x430]
movdqu xmmword [r13], xmm0
mov qword [r12 + 0x90], rax
xor edi, edi
test rbx, rbx
je 0x1800a051e
jmp 0x1800a0551
mov qword [rsp + 0x400], r13
movdqa xmmword [rsp + 0x680], xmm6
mov dword [rsp + 0x690], 0
lea rax, [rsp + 0x680]
mov qword [rsp + 0x430], rax
lea rax, [rsp + 0x400]
mov qword [rsp + 0x5a0], rax
lea rax, [0x180027d40]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 2
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], 1
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x430]
lea rdx, [0x1801acb38]
lea r8, [rsp + 0x270]
call fcn.1800235e0
test al, al
jne 0x1800a1113
mov eax, dword [rsp + 0x690]
lea rcx, [rsp + 0x150]
mov dword [rcx + 0x10], eax
movaps xmm0, xmmword [rsp + 0x680]
movups xmmword [rcx], xmm0
movdqa xmm0, xmmword [rsp + 0x980]
movdqa xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], r13
mov qword [rsp + 0x148], rdi
lea rax, [0x1801bf26e]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 7
cmp byte [r12 + 0x150], 0
je 0x18009fe9f
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x2b0], rax
movaps xmm0, xmmword [rsp + 0x130]
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
movaps xmm1, xmmword [rsp + 0x150]
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0x2a0], rdx
mov rdx, qword [rsp + 0x168]
mov qword [rsp + 0x2a8], rdx
movaps xmmword [rsp + 0x290], xmm1
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
movaps xmmword [rsp + 0x270], xmm0
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x140]
cmp rax, rcx
jne 0x18009fc6f
mov rcx, qword [rsp + 0x90]
call fcn.1800af830
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x140]
mov rdx, qword [r12 + 0x138]
add rdx, rax
cmp rdx, rcx
mov r8d, 0
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [r12 + 0x128]
lea rdx, [rdx + rdx*4]
shl rdx, 4
mov qword [rcx + rdx], 2
movdqa xmm0, xmmword [rsp + 0x270]
movdqa xmm1, xmmword [rsp + 0x280]
movaps xmm2, xmmword [rsp + 0x290]
movaps xmm3, xmmword [rsp + 0x2a0]
movdqu xmmword [rcx + rdx + 8], xmm0
movdqu xmmword [rcx + rdx + 0x18], xmm1
movups xmmword [rcx + rdx + 0x28], xmm2
movups xmmword [rcx + rdx + 0x38], xmm3
mov r8, qword [rsp + 0x2b0]
mov qword [rcx + rdx + 0x48], r8
jmp 0x18009fe30
jne 0x18009fd27
movdqu xmm0, xmmword [rsp + 0x790]
movdqa xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x288], rdi
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800af8d0
jmp 0x1800a04ea
movdqu xmm0, xmmword [rsp + 0x790]
movdqa xmmword [rsp + 0x680], xmm0
mov qword [rsp + 0x690], r13
mov qword [rsp + 0x698], rdi
mov qword [rsp + 0x6a0], rcx
cmp byte [r12 + 0x150], 0
je 0x1800a01c7
mov rax, qword [rsp + 0x6a0]
mov qword [rsp + 0x290], rax
movaps xmm0, xmmword [rsp + 0x680]
mov rax, qword [rsp + 0x690]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x698]
mov qword [rsp + 0x288], rax
movaps xmmword [rsp + 0x270], xmm0
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x140]
cmp rax, rcx
jne 0x18009fdd2
mov rcx, qword [rsp + 0x90]
call fcn.1800af830
mov rcx, qword [r12 + 0x130]
mov rax, qword [r12 + 0x140]
mov rdx, qword [r12 + 0x138]
add rdx, rax
cmp rdx, rcx
mov r8d, 0
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [r12 + 0x128]
lea rdx, [rdx + rdx*4]
shl rdx, 4
mov qword [rcx + rdx], 1
movdqa xmm0, xmmword [rsp + 0x270]
movdqa xmm1, xmmword [rsp + 0x280]
movdqu xmmword [rcx + rdx + 8], xmm0
movdqu xmmword [rcx + rdx + 0x18], xmm1
mov r8, qword [rsp + 0x290]
mov qword [rcx + rdx + 0x28], r8
inc rax
mov qword [r12 + 0x140], rax
jmp 0x1800a04ea
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
call qword [rax + 0x28]
test al, al
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
je 0x1800a01a3
mov rsi, qword [r12 + 0x1d8]
cmp qword [rsi], 0
je 0x18009fe82
lea rcx, [rsi + 8]
call fcn.180077430
mov qword [rsi], 0
mov r9d, 2
mov sil, 1
mov rax, qword [rsp + 0x268]
jmp 0x1800a02eb
movzx eax, byte [rsp + 0x162]
movzx ecx, byte [rsp + 0x163]
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
setb r9b
jb 0x1800a1113
mov r10, r8
add r10, 7
jb 0x1800a1113
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x18009ff5b
mov r11, qword [r12 + 0x110]
mov r14, qword [r12 + 0x118]
sub r11, r14
cmp r11, r10
jae 0x18009ff5b
sub r14, rdx
jb 0x1800a1113
mov qword [r12 + 0x118], 0
je 0x18009ff4f
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, r14
call fcn.180164e10
mov qword [r12 + 0x118], r14
movzx eax, byte [rsp + 0x162]
movzx ecx, byte [rsp + 0x163]
mov r13, qword [rsp + 0x140]
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
setb r9b
mov qword [r12 + 0x120], 0
test r9b, 1
je 0x18009ffa5
jmp 0x1800a1113
mov rdx, r14
mov r8, qword [rsp + 0x170]
sub r8, rdx
jb 0x1800a1113
add qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], r8
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
jb 0x1800a1113
test r8, r8
je 0x18009ffd0
cmp cl, al
jne 0x18009fff0
mov r12, qword [rsp + 0x138]
mov r14, r13
test r14, r14
jne 0x1800a001e
jmp 0x1800a0180
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
test r14, r14
jne 0x1800a001e
jmp 0x1800a0180
jb 0x1800a1113
cmp cl, 0x12
ja 0x1800a1113
movzx r14d, cl
movzx r12d, al
sub r14, r12
lea rax, [rsp + 0x150]
add r12, rax
test r14, r14
je 0x1800a0180
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x110]
mov r13, qword [rcx + 0x118]
sub rax, r13
cmp rax, r14
jb 0x1800a015f
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
add rcx, r13
mov rdx, r12
mov rdi, rax
mov r8, r14
call fcn.180164e10
add r13, r14
mov qword [rdi + 0x118], r13
movzx eax, byte [rsp + 0x162]
movzx ecx, byte [rsp + 0x163]
mov edx, ecx
sub dl, al
movzx r8d, dl
mov r13, qword [rsp + 0x140]
mov r9, r8
add r9, r13
jb 0x1800a1113
je 0x18009ff70
mov rdx, r14
sub rdx, r9
jbe 0x1800a00b0
cmp cl, al
jne 0x1800a00c1
mov r10, r9
sub r13, r10
jae 0x1800a00db
jmp 0x1800a1113
cmp cl, al
jne 0x1800a0101
mov rdx, r14
sub r13, rdx
jae 0x1800a011b
jmp 0x1800a1113
mov r10, r9
sub r10, r8
jbe 0x1800a0130
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, r10
jb 0x1800a1113
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], r10
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x18009ff84
jmp 0x1800a1113
mov rdx, r14
sub rdx, r8
jbe 0x1800a0150
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, rdx
jb 0x1800a1113
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], rdx
jmp 0x18009ff94
add al, r9b
mov byte [rsp + 0x162], al
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x18009ff84
jmp 0x1800a1113
add al, r14b
mov byte [rsp + 0x162], al
jmp 0x18009ff94
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r14
call fcn.180165a60
mov rax, qword [rsp + 0x40]
mov r13, qword [rax + 0x118]
jmp 0x1800a003d
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x148]
mov r8, r13
call qword [rax + 0x10]
jmp 0x1800a04e5
cmp qword [rsp + 0x130], 0
je 0x1800a023a
mov ecx, 1
mov rax, qword [rsp + 0x140]
mov rdx, rax
jmp 0x1800a0268
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800a0218
mov rax, qword [r12 + 0x110]
mov rbp, qword [r12 + 0x118]
sub rax, rbp
cmp rax, r14
jae 0x1800a0218
sub rbp, rdx
jb 0x1800a1113
mov qword [r12 + 0x118], 0
jne 0x1800a03e0
xor ebp, ebp
jmp 0x1800a0401
mov r12, qword [rsp + 0x688]
test r14, r14
je 0x1800a04c4
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a0440
mov rdx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
mov rcx, rdi
call qword [rax + 0x30]
mov rdx, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
test rcx, rcx
sete cl
cmp rdx, rax
setne bl
or bl, cl
mov rcx, qword [rsp + 0x268]
cmove rcx, rax
mov rax, rcx
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov rsi, qword [r12 + 0x1d8]
cmp qword [rsi], 0
je 0x1800a02c2
lea rcx, [rsi + 8]
mov r15, rax
call fcn.180077430
mov rax, r15
movzx r9d, bl
mov qword [rsi], 1
movdqa xmm0, xmmword [rsp + 0x270]
movdqa xmm1, xmmword [rsp + 0x280]
movdqu xmmword [rsi + 8], xmm0
movdqu xmmword [rsi + 0x18], xmm1
xor esi, esi
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r12
lea r8, [rsp + 0x480]
call fcn.1800ab2d0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a03b6
mov rdx, qword [rsp + 0x278]
movzx ecx, byte [rsp + 0x280]
test rax, rax
je 0x1800a0354
test rdx, rdx
jne 0x1800a0354
xor eax, eax
test cl, cl
sete al
xor rax, 5
mov rdx, qword [rsp + 0xe8]
movzx ecx, byte [rsp + 0xd0]
jmp 0x1800a0383
lea r9, [rsp + 0x2b0]
mov r8d, dword [r9 - 0x2f]
mov r9d, dword [r9 - 0x2c]
mov dword [rsp + 0x683], r9d
mov dword [rsp + 0x680], r8d
mov qword [rsp + 0xe8], rdx
mov byte [rsp + 0xd0], cl
mov qword [r12 + 0x90], rax
mov qword [r12 + 0x98], rdx
mov byte [r12 + 0xa0], cl
mov eax, dword [rsp + 0x680]
mov ecx, dword [rsp + 0x683]
mov rdx, qword [rsp + 0x3f8]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
test sil, sil
je 0x1800a0577
mov rcx, r14
call fcn.180077430
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f0ea
jmp 0x18009f08a
mov rdi, rcx
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, rbp
call fcn.180164e10
mov rcx, rdi
mov qword [r12 + 0x118], rbp
mov qword [r12 + 0x120], 0
mov r12, qword [rsp + 0x688]
jmp 0x1800a0440
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r8, r14
call fcn.180165a60
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a045c
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x110]
sub rax, rbp
cmp rax, r14
jb 0x1800a0417
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x108]
add rcx, rbp
mov rdx, r12
mov r8, r14
call fcn.180164e10
add rbp, r14
mov qword [rdi + 0x118], rbp
mov rcx, qword [rsp + 0xf0]
sub rcx, r14
jb 0x1800a1113
sub r13, r14
jb 0x1800a1113
add r12, r14
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
test r14, r14
jne 0x1800a0440
mov qword [rsp + 0x6a0], rcx
mov qword [rsp + 0x690], r13
mov qword [rsp + 0x688], r12
mov rax, qword [rsp + 0x680]
lea rcx, [rsp + 0x698]
mov rdx, r12
mov r8, r13
call qword [rax + 0x10]
mov rbp, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
xor eax, eax
cmp byte [r12 + 0xa0], 0
sete al
xor rax, 5
movdqu xmm0, xmmword [rsp + 0x270]
movdqu xmmword [rcx], xmm0
mov qword [r12 + 0x90], rax
mov dil, 1
test rbx, rbx
jne 0x1800a0551
cmp qword [rsp + 0x870], 0
je 0x1800a0551
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a0590
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
test dil, dil
je 0x1800a060f
cmp qword [r15], 0
lea rdi, [rsp + 0x270]
je 0x1800a0570
mov rcx, rsi
call fcn.180077430
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f0ea
jmp 0x18009f08a
mov r14, qword [rsp + 0x880]
mov r12, qword [r14 + 0x58]
test r12, r12
je 0x1800a05cf
mov rbx, qword [r14 + 0x60]
mov rcx, r12
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1800a05cf
cmp qword [rbx + 0x10], 0x11
jb 0x1800a05bd
mov r12, qword [r12 - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [r14], 2
mov r12, qword [rsp + 0x40]
je 0x1800a05f4
cmp qword [r14 + 0x18], 0
je 0x1800a05f4
mov r8, qword [r14 + 0x10]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
test dil, dil
jne 0x1800a055a
lea rdi, [rsp + 0x270]
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f0ea
jmp 0x18009f08a
cmp byte [r12 + 0x1d0], 3
je 0x1800a064a
mov rcx, qword [rsp + 0x38]
call fcn.1800a13b0
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x480]
movdqa xmm1, xmmword [rsp + 0x490]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x18009f075
cmp byte [r12 + 0xd2], 0
je 0x1800a076a
call fcn.18004e1d0
mov r13, rax
jmp 0x1800a076d
mov r13, rax
jmp 0x18009f029
mov byte [r12 + 0x1a8], 1
jmp 0x1800a0721
mov rax, qword [r12 + 0x1a0]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a0748
je 0x1800a06d2
cmp rcx, 3
je 0x1800a0748
jmp 0x1800a1113
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a06d2
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov qword [rax + 0x18], 0
mov r8d, 0
xchg byte [rax + 0x28], r8b
test rdx, rdx
je 0x1800a0748
call qword [rdx + 8]
jmp 0x1800a0748
lea rcx, [rsp + 0x5a0]
call fcn.180081ad0
mov rcx, rbx
call fcn.180077da0
lea rcx, [rsp + 0x210]
call fcn.180077430
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
lea rdi, [rsp + 0x270]
jmp 0x18009f08a
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jmp 0x18009f075
xor r13d, r13d
mov r8, qword [rsp + 0x30]
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009f029
cmp edi, 6
je 0x1800a0a3e
mov byte [rsp + 0x130], dil
lea rax, [rsp + 0x481]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmmword [rsp + 0x131], xmm0
movdqu xmmword [rsp + 0x141], xmm1
mov rax, qword [rax + 0x1f]
mov qword [rsp + 0x150], rax
mov rcx, qword [r12 + 0xc0]
call fcn.1800504f0
mov rsi, rax
test rax, rax
je 0x1800a0a08
lea eax, [rdi - 2]
cmp eax, 2
jb 0x1800a0bb0
test edi, edi
je 0x1800a0bb0
cmp edi, 1
jne 0x1800a0b4c
lea rcx, [rsp + 0x150]
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x1800a0bb0
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x1800a0853
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1263
mov rcx, rax
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 1
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x1800a08aa
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1274
mov rcx, rax
mov qword [0x1801fb9b8], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1274
mov qword [rax], rdi
mov qword [r13], rax
lea rax, [0x1801beb08]
mov qword [r13 + 8], rax
cmp qword [r15], 0
je 0x1800a08e1
mov rcx, rsi
call fcn.180077430
mov qword [r15], 0
movzx ebx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp bl, 3
mov rdi, qword [rsp + 0x50]
je 0x1800a09d3
mov rax, qword [rsp + 0x38]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov byte [rsp + 0x290], bl
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0x291], eax
mov dword [rsp + 0x294], ecx
movzx eax, byte [0x1801fba30]
mov rcx, qword [0x1801fb9b8]
test rcx, rcx
jne 0x1800a0976
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1263
mov rcx, rax
mov qword [0x1801fb9b8], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1263
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
lea rdx, [0x1801bf27c]
mov r8d, 0x10
mov rcx, rax
call fcn.180081cc0
mov rcx, qword [rsp + 0x280]
mov edx, ebx
mov r8, rsi
call fcn.18004dea0
lea rcx, [rsp + 0x270]
call fcn.1800a13b0
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x270], 3
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a14f0
mov rsi, rax
test rax, rax
jne 0x1800a0bb9
jmp 0x1800a10ba
cmp edi, 2
je 0x1800a0ae4
cmp edi, 1
je 0x1800a0ae4
test rdi, rdi
jne 0x1800a0af5
lea rax, [rsp + 0x138]
jmp 0x1800a0aec
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
mov al, 1
jmp 0x1800a1129
cmp byte [r12 + 0x1e0], 0
jne 0x1800a0a58
cmp dword [r12 + 0x70], 4
jne 0x1800a0a3e
mov rsi, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x1800a0bea
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
je 0x1800a0c22
test rsi, rsi
je 0x1800a08e8
mov rax, qword [rsi + 0x30]
nop word [rax + rax]
mov rcx, rax
test cl, 4
jne 0x1800a0acd
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [rsi + 0x30], rdx
jne 0x1800a0aa0
and ecx, 5
cmp ecx, 1
jne 0x1800a0acd
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x1800a08e8
mov rcx, rsi
call fcn.1800a12d0
jmp 0x1800a08e8
lea rax, [rsp + 0x134]
cmp dword [rax], 0
je 0x1800a07e2
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x290], rax
movups xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
lea rcx, [rsp + 0x270]
call fcn.18004d7e0
mov rsi, rax
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a0bcb
jmp 0x1800a10ce
mov rax, qword [rsp + 0x138]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1800a0bb0
test rcx, rcx
je 0x1800a0bb0
lea rdi, [rax - 1]
mov rbx, qword [rax - 1]
mov r14, qword [rax + 7]
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1800a0b9e
cmp qword [r14 + 0x10], 0x11
jb 0x1800a0b8c
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x1800a10ba
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jae 0x1800a10ce
mov qword [rbp], 4
cmp eax, 4
je 0x1800a1113
test rsi, rsi
jne 0x1800a10e3
jmp 0x1800a111f
mov rcx, qword [r12 + 0xf0]
mov rax, qword [r12 + 0xf8]
mov rdx, r13
call qword [rax + 0x30]
test rax, rax
jne 0x1800a0a3e
test rdx, rdx
je 0x1800a0fee
mov rcx, rdx
call fcn.18004e3f0
mov r13, rax
jmp 0x1800a08e8
mov rdi, qword [rbp]
mov qword [rbp], 3
cmp rdi, 2
jae 0x1800a12b8
mov qword [rsp + 0xa38], rdi
lea rcx, [rsp + 0xa40]
mov r8d, 0x1e0
mov rbx, qword [rsp + 0x120]
mov rdx, rbx
call fcn.180164e10
mov qword [rsp + 0x270], rdi
lea rcx, [rsp + 0x278]
mov r8d, 0x178
mov rdx, rbx
call fcn.180164e10
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x130]
mov r8d, 0xa8
call fcn.180164e10
mov r14, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x1c8]
test dil, 1
jne 0x1800a0d9e
lea r15, [0x1801c2358]
jmp 0x1800a0e0c
mov r13, rax
cmp qword [rsp + 0x870], 0
je 0x1800a08d3
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a1010
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
jmp 0x1800a08d3
mov rax, qword [r12 + 0xb8]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a0d54
je 0x1800a0d2c
cmp rcx, 3
je 0x1800a0d54
jmp 0x1800a1113
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a0d2c
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov qword [rax + 0x18], 0
xor r8d, r8d
xchg byte [rax + 0x28], r8b
test rdx, rdx
je 0x1800a0d54
call qword [rdx + 8]
mov rbx, qword [r12 + 0x88]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x1800a10ac
lea r15, [rbx + 0x10]
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
mov rsi, rax
mov rdi, rdx
mov al, 1
xchg byte [rbx + 0x20], al
xor r14d, r14d
test al, al
cmove r14, r15
je 0x1800a1084
mov rcx, rdi
call qword [rsi + 0x18]
jmp 0x1800a10ac
shr rdi, 5
mov rax, qword [rsp + 0x1c0]
add rax, rdi
sub r14, rdi
add rbx, rdi
mov qword [rsp + 0x680], r14
mov qword [rsp + 0x688], rax
mov qword [rsp + 0x690], rbx
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x680]
call fcn.180021e90
mov rbx, qword [rsp + 0x490]
sub rbx, rdi
jb 0x1800a1113
mov r14, rdi
add r14, qword [rsp + 0x488]
mov r15, qword [rsp + 0x480]
mov rdi, qword [rsp + 0x498]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x490], rax
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x480], xmm0
lea rcx, [rsp + 0x160]
call fcn.1800a32d0
lea rcx, [rsp + 0x270]
call fcn.1800a3420
movups xmm0, xmmword [rsp + 0xbb8]
movups xmm1, xmmword [rsp + 0xbc8]
movups xmm2, xmmword [rsp + 0xbd8]
movups xmmword [rsp + 0x4b8], xmm0
movups xmmword [rsp + 0x4c8], xmm1
movups xmmword [rsp + 0x4d8], xmm2
mov qword [rsp + 0x498], r15
mov qword [rsp + 0x4a0], r14
mov qword [rsp + 0x4a8], rbx
mov qword [rsp + 0x4b0], rdi
cmp byte [rsp + 0xc08], 3
je 0x1800a0ead
lea rcx, [rsp + 0xbe8]
call fcn.1800a13b0
lea rbx, [rsp + 0x498]
mov rdi, qword [rsp + 0xc10]
cmp qword [rdi], 0
je 0x1800a0ecc
lea rcx, [rdi + 8]
call fcn.180077430
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm0, xmmword [rsp + 0x480]
movaps xmmword [rsp + 0x9f0], xmm0
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0xa00], rax
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
movdqa xmmword [rsp + 0xa10], xmm0
movdqa xmmword [rsp + 0xa20], xmm1
cmp dword [rsp + 0x4b8], 2
je 0x1800a0f30
lea rcx, [rsp + 0x4b8]
call fcn.180081ad0
lea rcx, [rsp + 0x4d0]
call fcn.18008e660
movzx eax, byte [0x1801fba30]
mov ecx, 0x18
mov edx, 8
call fcn.18001e810
test rax, rax
je 0x1800a1296
mov rcx, qword [rsp + 0xa00]
mov qword [rax + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x9f0]
movups xmmword [rax], xmm0
movdqa xmm0, xmmword [rsp + 0xa10]
movdqa xmm1, xmmword [rsp + 0xa20]
movdqu xmmword [rsp + 0x280], xmm0
movdqu xmmword [rsp + 0x290], xmm1
mov qword [rsp + 0x270], rax
lea rax, [0x1801bf5f8]
mov qword [rsp + 0x278], rax
lea rdx, [rsp + 0x270]
mov rcx, rsi
call fcn.18004ee90
jmp 0x1800a10ba
mov r13, rax
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
jmp 0x1800a08d3
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
jne 0x1800a08e8
jmp 0x1800a10ba
mov rbx, qword [rsp + 0x880]
mov r14, qword [rbx + 0x58]
test r14, r14
je 0x1800a104e
mov rdi, qword [rbx + 0x60]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800a104e
cmp qword [rdi + 0x10], 0x11
jb 0x1800a103c
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rbx], 2
je 0x1800a106d
cmp qword [rbx + 0x18], 0
je 0x1800a106d
mov r8, qword [rbx + 0x10]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1800a08d3
mov rax, qword [r14]
test rax, rax
je 0x1800a1093
mov rcx, qword [r14 + 8]
call qword [rax + 0x18]
mov qword [r14], rsi
mov qword [r14 + 8], rdi
xor eax, eax
xchg byte [r14 + 0x10], al
movzx eax, byte [rbx + 0x40]
test al, al
je 0x1800a0a3e
mov al, 1
xchg byte [rbx + 0x41], al
test al, al
jne 0x1800a10ba
xor eax, eax
xchg byte [rbx + 0x41], al
xor esi, esi
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a0bcb
mov rcx, rbp
call fcn.18009ad40
mov qword [rbp], 4
test rsi, rsi
je 0x1800a111f
mov qword [rsp + 0xa38], rsi
lea rcx, [rsp + 0xa38]
call fcn.18006dbe0
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 3
jae 0x1800a1117
mov qword [rbp], 5
cmp eax, 5
jne 0x1800a1127
ud2
mov rcx, rbp
call fcn.18009ad40
mov qword [rbp], 5
xor eax, eax
movaps xmm6, xmmword [rsp + 0xc20]
movaps xmm7, xmmword [rsp + 0xc30]
movaps xmm8, xmmword [rsp + 0xc40]
movaps xmm9, xmmword [rsp + 0xc50]
movaps xmm10, xmmword [rsp + 0xc60]
movaps xmm11, xmmword [rsp + 0xc70]
movaps xmm12, xmmword [rsp + 0xc80]
movaps xmm13, xmmword [rsp + 0xc90]
add rsp, 0xca8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmm3, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov rcx, r12
call fcn.1800a3160
movaps xmm0, xmmword [rsp + 0x2d0]
movups xmmword [r12 + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x2c0]
movups xmmword [r12 + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x2b0]
movups xmmword [r12 + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movaps xmm2, xmmword [rsp + 0x290]
movaps xmm3, xmmword [rsp + 0x2a0]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov al, 1
jmp 0x1800a1129
mov ecx, 8
mov edx, 0x38
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 8
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x70
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180166e20
ud2
mov rcx, rsi
call fcn.1800a3260
ud2