Function at 0x18009d4b0
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 0x1800a35a3
cmp eax, 4
je 0x1800a35a3
cmp eax, 3
je 0x1800a35a3
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 0x18009ffe0
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 [0x180175e40]
xorps xmm9, xmm9
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180175710]
lea r15, [rsp + 0x108]
lea rsi, [rsp + 0x980]
nop dword [rax]
lea rcx, [rsp + 0x480]
mov rdx, r14
mov r8, r13
call fcn.1800a3f20
movzx edi, byte [rsp + 0x480]
cmp rdi, 5
jne 0x1800a2c19
mov rax, qword [r12]
mov qword [r12], 2
cmp rax, 2
je 0x18009d654
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.1800a44d0
jmp 0x18009d5c0
mov rdx, qword [r12 + 0xb0]
mov r8, qword [r13]
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a41b0
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a354a
cmp esi, 4
je 0x1800a3198
cmp esi, 2
je 0x1800a35a3
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x680]
mov rdx, rdi
call fcn.180167370
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 0x18009dc1f
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a35a3
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a35a3
add rax, 0xd0
mov rax, qword [rax]
test al, 4
jne 0x18009dc50
mov r8d, 0xe0
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x680]
call fcn.180167370
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.18004b0f0
cmp qword [rsp + 0x130], 0
jne 0x1800a35a3
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.18004b0f0
cmp qword [rsp + 0x130], 0
jne 0x1800a35a3
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 [0x1801b06f8]
movups xmmword [rax - 0xb8], xmm0
movups xmm0, xmmword [0x1801b06e8]
movups xmmword [rax - 0xc8], xmm0
movups xmm0, xmmword [0x1801b0630]
movups xmmword [rax - 0x98], xmm0
movups xmm0, xmmword [0x1801b0620]
movups xmmword [rax - 0xa8], xmm0
movups xmm0, xmmword [0x1801b0718]
movups xmmword [rax - 0x78], xmm0
movdqu xmm0, xmmword [0x1801b0708]
movdqu xmmword [rax - 0x88], xmm0
mov rdx, rdi
xor ecx, ecx
jmp 0x18009d884
mov rcx, qword [rsp + 0x38]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x270
cmp rcx, 5
je 0x18009da7a
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009d860
lea rcx, [rsp + 0x5a0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x70], rax
call fcn.18003b460
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 0x18009d906
movzx eax, byte [rax + 8]
cmp al, byte [r9 + 8]
je 0x18009d9b9
nop dword [rax]
inc r15
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x18009d910
movzx r13d, word [rbx + r12*4]
cmp r13, 0xffff
je 0x18009d860
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 0x18009d860
cmp ax, bp
jne 0x18009d900
cmp r10, r13
jbe 0x1800a35a3
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 0x18009d900
lea rax, [r11 + rsi]
add rax, 0x40
test rcx, rcx
je 0x18009d8ee
mov r8, qword [rax + 0x10]
cmp r8, qword [r9 + 0x10]
jne 0x18009d900
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
call fcn.180167db0
mov r11, qword [rsp + 0x90]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
test eax, eax
jne 0x18009d900
cmp qword [r11 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009d9d7
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.180070700
lea rcx, [rsp + 0x130]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.180052c50
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 0x18009da44
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x188]
call qword [rax + 0x10]
cmp byte [rsp + 0x4a0], 2
je 0x18009d860
mov rax, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
mov r8, qword [rsp + 0x490]
lea rcx, [rsp + 0x498]
call qword [rax + 0x10]
jmp 0x18009d860
movups xmm12, xmmword [0x1801b0738]
movaps xmmword [rsp + 0x140], xmm12
movups xmm13, xmmword [0x1801b0728]
movaps xmmword [rsp + 0x130], xmm13
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009dd22
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x30], rax
call fcn.18003b460
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 0x18009db56
movzx ecx, byte [rsp + 0x70]
cmp byte [rax + 8], cl
je 0x18009dc11
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 0x18009db60
movzx eax, word [r13 + r15*4]
cmp rax, 0xffff
je 0x18009dc77
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 0x18009dc77
cmp cx, bp
jne 0x18009db50
cmp r10, rax
jbe 0x1800a35a3
test r9, r9
sete r8b
imul rbx, rax, 0x68
mov rcx, qword [rsi + rbx + 0x40]
test rcx, rcx
setne al
cmp al, r8b
je 0x18009db50
lea rax, [rsi + rbx]
add rax, 0x40
test rcx, rcx
je 0x18009db33
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x18009db50
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x38]
call fcn.180167db0
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x90]
test eax, eax
jne 0x18009db50
add rsi, rbx
add rsi, 0x18
mov rbx, qword [rsp + 0x50]
jmp 0x18009dc79
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a35a3
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a35a3
add rax, 0x30
mov rax, qword [rax]
test al, 4
je 0x18009d70e
mov rcx, r15
call fcn.180083f60
lea rcx, [rsp + 0x680]
call fcn.18007a230
lea rcx, [rsp + 0x760]
call fcn.1800797f0
jmp 0x18009d5c0
xor esi, esi
test r9, r9
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801c1ee8]
je 0x18009dca6
lea rcx, [rsp + 0x148]
mov r8, qword [rsp + 0x38]
call qword [r9 + 0x10]
test rsi, rsi
je 0x18009dd3e
cmp qword [rsi + 0x10], 8
jne 0x18009dcc9
mov rax, qword [rsi + 8]
movabs rcx, 0x7372656c69617274
cmp qword [rax], rcx
je 0x18009dd3e
movaps xmmword [rsp + 0x490], xmm12
movaps xmmword [rsp + 0x480], xmm13
mov rcx, r14
lea rdx, [rsp + 0x5a0]
lea r8, [rsp + 0x480]
call fcn.180052ea0
cmp byte [rsp + 0x150], 2
je 0x18009dd3e
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x18009dd3e
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801c1ee8]
movups xmm0, xmmword [0x1801c1ff8]
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [0x1801c1fe8]
movdqa xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x400]
lea rdx, [rsp + 0x5a0]
mov r8, r14
call fcn.180052ea0
cmp byte [rsp + 0x420], 2
je 0x18009e578
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 0x18009ddf2
movzx r8d, byte [rcx + rdx]
inc rdx
cmp r8b, 9
je 0x18009ddd0
add r8b, 0xe0
cmp r8b, 0x5f
jb 0x18009ddd0
jmp 0x1800a35a3
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 0x18009de7c
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801c1ee8]
lea rcx, [rsp + 0x480]
call fcn.180051730
test rax, rax
je 0x18009e555
mov rcx, rax
call fcn.180051a90
mov r8, rdx
mov qword [rsp + 0x20], r15
mov rcx, r14
mov rdx, rax
mov r9, rdi
call fcn.180048250
movzx r9d, byte [rsp + 0x140]
cmp r9d, 3
je 0x18009de7c
mov r11, qword [rsp + 0x5d8]
test r11, r11
je 0x18009de60
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
cmp dword [rsp + 0x5a0], 2
mov qword [rsp + 0x90], r11
jne 0x18009dfb0
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.18000cd10
test r15d, r15d
lea rbx, [0x1801c1ee8]
je 0x18009e0c3
mov eax, r15d
cmp r15d, 2
jne 0x18009e0fc
movzx eax, r13b
mov qword [rsp + 0x98], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r14
jmp 0x18009e105
xor r12d, r12d
cmp r9b, 2
setne r12b
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x1efac7090aef4a21
imul r12, rcx
cmp r9b, 2
jne 0x18009dff1
movzx eax, dl
xor rax, r12
imul rax, rcx
mov r10b, 2
mov r12, rax
jmp 0x18009e218
lea rax, [rdx + rbp]
test r9b, r9b
je 0x18009e47b
mov r10b, 1
test rbp, rbp
movabs r9, 0x100000001b3
je 0x18009e4bc
mov r8, rbp
and r8, 7
je 0x18009e4c3
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 0x18009e030
cmp rbp, 8
jb 0x18009e0b8
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 0x18009e050
mov r12, r10
mov r10b, 1
jmp 0x18009e218
test rbp, rbp
je 0x18009e10a
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.18000cd10
inc rsi
cmp rbp, rsi
jne 0x18009e0d0
jmp 0x18009e10a
mov rcx, rdi
mov rdx, r13
mov r8, rbp
call fcn.18000cd10
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 0x18009e266
inc rdi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, rbx
jae 0x18009e270
movzx ebp, word [r15 + r13*4]
cmp rbp, 0xffff
je 0x18009de60
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 0x18009de60
cmp ax, r12w
jne 0x18009e260
cmp r11, rbp
jbe 0x1800a35a3
imul rsi, rbp, 0x68
lea rax, [r9 + rsi]
add rax, 0x40
cmp qword [r9 + rsi + 0x40], 0
je 0x18009e328
cmp r10b, 2
je 0x18009e260
test r10b, r10b
je 0x18009e33d
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009e260
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x58], r10d
call fcn.180167db0
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
test eax, eax
jne 0x18009e260
jmp 0x18009e3a3
cmp r10b, 2
jne 0x18009e260
cmp byte [rax + 8], dl
jne 0x18009e260
jmp 0x18009e3a3
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009e260
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 0x18009e3a3
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x1801c1ee8]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x18009e360
cmp r9, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jb 0x18009e260
cmp qword [r9 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009e3c1
add r9, rsi
mov rdx, qword [r9 + 8]
mov rcx, rdi
call fcn.180070700
lea r14, [rsp + 0x130]
mov rcx, r14
mov rdx, rdi
mov r8, r13
mov r9, rbp
call fcn.180052c50
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, [0x1801c1ee8]
je 0x18009e43d
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 0x18009de7c
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
jmp 0x18009de7c
mov rsi, rdx
test rbp, rbp
movabs r9, 0x100000001b3
lea r10, [0x1801c1ee8]
je 0x18009e4d8
mov r8, rbp
mov rcx, rsi
and r8, 3
je 0x18009e4e5
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r12
imul rdx, r9
inc rcx
mov r12, rdx
dec r8
jne 0x18009e4a0
jmp 0x18009e4e8
xor ebp, ebp
jmp 0x18009e218
mov r10, r12
mov rcx, rdx
cmp rbp, 8
jae 0x18009e050
jmp 0x18009e0b8
xor ebp, ebp
xor r10d, r10d
mov rdx, rsi
jmp 0x18009e218
mov rdx, r12
mov r12, rdx
cmp rbp, 4
jae 0x18009e500
xor r10d, r10d
mov r12, rdx
mov rdx, rsi
jmp 0x18009e218
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 0x18009e500
mov rdx, rsi
xor r10d, r10d
jmp 0x18009e218
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 0x18009e5a0
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 0x18009e5ea
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 0x18009e61f
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 0x18009e647
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 0x18009e66f
mov rdx, qword [rsp + 0x2f8]
mov r8, qword [rsp + 0x300]
lea rcx, [rsp + 0x308]
call qword [rax + 0x10]
cmp qword [rsp + 0x460], 0
je 0x18009e691
mov ecx, 1
mov rdx, qword [rsp + 0x470]
mov rax, rdx
test rcx, rcx
jne 0x18009e6c4
jmp 0x18009e6df
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 0x18009e6df
cmp rax, rdx
jne 0x18009e6df
test rdx, rdx
je 0x18009e8ce
lea rcx, [rsp + 0x5a0]
call fcn.180052180
movzx eax, byte [rsp + 0x658]
cmp qword [rsp + 0x460], 0
je 0x18009e711
cmp qword [rsp + 0x470], 0
sete byte [rsp + 0xf0]
mov qword [rsp + 0x38], rax
cmp al, 7
je 0x18009e73e
jmp 0x18009e7d4
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 0x18009e7d4
lea rcx, [rsp + 0x5a0]
call fcn.180051d10
test rax, rax
je 0x18009e7d4
test rdx, rdx
je 0x18009e7d4
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.18004fd00
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rsi
call fcn.180085930
lea rcx, [rsp + 0x5a0]
call fcn.18007a230
lea rsi, [rsp + 0x980]
jmp 0x18009fb09
mov rax, qword [rsp + 0x670]
test rax, rax
lea rbx, [rsp + 0x5a0]
movabs r12, 0x27b4182e7f98c696
je 0x18009eb1a
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 0x18009e86f
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 0x18009e830
jmp 0x18009e89f
pcmpeqb xmm0, xmm7
pmovmskb edx, xmm0
test edx, edx
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
jne 0x18009eb1a
add rsi, r11
add rsi, 0x10
add r11, 0x10
jmp 0x18009e80f
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 0x18009e8f4
bsr r9w, r9w
xor r9d, 0xf
jmp 0x18009e8f9
movzx eax, byte [rsp + 0x658]
cmp rax, 7
ja 0x18009fd7d
bt rdi, rax
mov edx, 0
jb 0x18009e6e7
jmp 0x18009e6d2
mov r9w, 0x10
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
lea r15, [0x1801e8440]
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 0x18009e93f
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 0x18009eb1a
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 0x18009eaf1
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 [0x1801fe9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x18009eb1a
mov rsi, qword [rsp + 0x670]
test rsi, rsi
jne 0x18009e9fb
movzx eax, byte [0x1801fea30]
mov ecx, 0x20
mov edx, 8
call fcn.180020bb0
test rax, rax
je 0x1800a3737
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 [0x1801fea30]
mov ecx, 0x20
mov edx, 8
call fcn.180020bb0
test rax, rax
je 0x1800a3737
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, [0x1801c1ea8]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x52d7482ba582695a
movabs r8, 0xd083207b1531d444
mov r9, rax
call fcn.18006f850
test rax, rax
je 0x18009eb1a
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 0x18009fb1b
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x270]
test rax, rax
je 0x18009eb1a
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x288]
call qword [rax + 0x10]
jmp 0x18009eb1a
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009eb1a
cmp qword [rdi + 0x10], 0x11
jb 0x18009eb08
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fe9b8]
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.180167370
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 0x18009ec3a
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 0x18009ebee
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 0x18009ebb0
jmp 0x18009ec0b
pcmpeqb xmm0, xmm7
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18009ed0d
add r11, r10
add r11, 0x10
add r10, 0x10
jmp 0x18009eb91
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 0x18009ec4b
bsr r8w, r8w
xor r8d, 0xf
jmp 0x18009ec50
mov qword [rsp + 0x400], 0
jmp 0x18009ee2c
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 0x18009ec7f
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 0x18009ed0d
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 0x18009ece4
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x410], xmm1
movdqa xmmword [rsp + 0x400], xmm0
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009ed19
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009ed0d
cmp qword [rdi + 0x10], 0x11
jb 0x18009ecfb
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fe9b8]
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 0x18009ede3
mov rdi, qword [r12]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r15, [rdi + 0x10]
jmp 0x18009ed67
mov rcx, qword [0x1801fe9b8]
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 0x18009ede3
test ax, ax
je 0x18009ed80
lea r13d, [rax - 1]
and r13d, eax
jmp 0x18009eda9
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffe00
add r15, 0x10
cmp ax, 0xffff
je 0x18009ed80
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 0x18009ed52
cmp qword [rbp + 0x10], 0x11
jb 0x18009ed40
mov rsi, qword [rsi - 8]
jmp 0x18009ed40
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x18009edfc
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call fcn.180167a10
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 [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009f79e
mov dword [rsp + 0x30], 0
lea rdi, [rsp + 0x270]
lea r15, [rsp + 0x108]
movzx eax, byte [r12 + 0x18]
test al, al
jne 0x1800a35a3
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 [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009f7ae
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
jne 0x1800a35a3
lea rdx, [r12 + 0x80]
mov rcx, rdi
call fcn.180042090
movzx esi, byte [rsp + 0x270]
cmp sil, 3
mov qword [rsp + 0x3f0], rbx
jne 0x18009ef8c
mov r13, qword [r12 + 0x120]
test r13b, 1
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jne 0x18009f00f
cmp qword [rsp + 0x58], 0
mov rbx, qword [rsp + 0x50]
je 0x18009f02e
mov rdx, qword [rsp + 0xe8]
mov ecx, dword [rdx + 8]
cmp qword [r12 + 0x1e0], rcx
jbe 0x1800a35a3
mov rax, qword [r12 + 0x1d0]
test rax, rax
je 0x1800a35a3
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x1800a35a3
mov edx, dword [rdx + 0xc]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x1800a35a3
cmp byte [rax + 0x124], 0
je 0x18009f02e
mov byte [rsp + 0x58], 3
mov sil, 3
jmp 0x18009f042
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 0x18009f047
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 0x18009f047
cmp byte [r12 + 0x78], 0
je 0x18009f7d2
mov sil, 3
mov byte [rsp + 0x58], 1
mov r13, qword [rsp + 0x60]
cmp byte [rsp + 0x88], 0
jne 0x18009f06b
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009fd84
mov rcx, qword [rsp + 0x90]
mov rdi, r8
call r8
cmp byte [rsp + 0x30], 0
jne 0x18009f09a
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009fda9
mov rcx, qword [rsp + 0x70]
call rdi
mov rax, qword [rsp + 0x400]
test rax, rax
je 0x18009f0c9
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
lea rcx, [rsp + 0x418]
call qword [rax + 0x10]
lea rcx, [rsp + 0x790]
call fcn.18007a230
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 0x18009f538
movzx eax, sil
cmp eax, 4
jne 0x18009f558
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 [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009fdc1
xor eax, eax
mov r9, qword [rsp + 0x48]
movzx ecx, byte [r9 + 0x18]
test cl, cl
mov r8, qword [rsp + 0x68]
jne 0x1800a35a3
mov edx, r8d
cmp qword [r9 + 0x1e0], rdx
jbe 0x1800a35a3
mov rcx, qword [r9 + 0x1d0]
test rcx, rcx
je 0x1800a35a3
imul rdx, rdx, 0x130
cmp dword [rcx + rdx], 2
je 0x1800a35a3
shr r8, 0x20
add rcx, rdx
cmp dword [rcx + 0x114], r8d
jne 0x1800a35a3
mov rdi, rbx
movzx ebx, byte [rcx + 0x124]
test al, al
jne 0x18009f20e
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009fe19
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0xb0], 0
je 0x18009f27b
test bl, bl
je 0x18009f27b
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x130]
call fcn.180041790
mov rax, qword [rsp + 0xf8]
cmp qword [rax], 0
je 0x18009f26e
mov rcx, rax
call fcn.180041890
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
lock dec qword [rcx]
jne 0x18009f26e
call fcn.180086630
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.180041790
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.1800a3f20
movzx eax, byte [rsp + 0x480]
cmp eax, 5
je 0x18009f5b8
cmp eax, 6
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0x980]
je 0x1800a3613
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.18004fd00
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x870]
lea rdx, [rsp + 0x270]
call fcn.180085930
lea rcx, [rsp + 0x148]
call fcn.180041890
mov rcx, qword [rsp + 0x148]
lock dec qword [rcx]
jne 0x18009f4ba
call fcn.180086630
lea rcx, [rsp + 0x160]
call fcn.180041890
mov rcx, qword [rsp + 0x160]
lock dec qword [rcx]
jne 0x18009f4da
call fcn.180086630
mov rcx, qword [rsp + 0x170]
lock dec qword [rcx]
jne 0x18009f4ed
call fcn.1800a5660
lea rcx, [rsp + 0x178]
call fcn.1800797f0
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 0x18009d5c0
mov al, 3
lea rsi, [rsp + 0x980]
mov r9d, dword [rsp + 0x42c]
movzx r10d, byte [rsp + 0x260]
jmp 0x18009fa10
test sil, sil
je 0x18009f685
cmp eax, 1
lea rsi, [rsp + 0x980]
jne 0x18009f6a0
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 0x18009f9cb
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.1800a44d0
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 0x18009d5c0
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
xor eax, eax
lea rsi, [rsp + 0x980]
jmp 0x18009f9cb
cmp qword [rsp + 0x48], 0
je 0x18009f9b4
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x18009f6d5
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a3726
mov qword [0x1801fe9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a3726
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 [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x18009f738
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a3726
mov qword [0x1801fe9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a3726
mov rcx, rax
mov qword [rax], rsi
lea rax, fcn.18005a590
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 0x18009f9cb
call fcn.18016fa60
xor al, 1
mov dword [rsp + 0x30], eax
jmp 0x18009ee5f
call fcn.18016fa60
xor al, 1
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
je 0x18009eed1
jmp 0x1800a35a3
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.180041650
cmp byte [rsp + 0x848], 5
jne 0x18009f834
mov qword [rsp + 0x160], 1
mov r8d, 0xe0
lea rbp, [rsp + 0x870]
mov rcx, rbp
lea rdx, [rsp + 0x790]
call fcn.180167370
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.180046b10
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 0x18009fb3f
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 0x18009fe77
lea ecx, [rax - 3]
cmp cl, 2
ja 0x18009f96c
cmp cl, 1
jne 0x18009fe77
test rax, rax
je 0x18009fe77
cmp eax, 1
jne 0x18009fe34
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 0x18009fe69
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.18004fd00
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.180085930
lea rcx, [rsp + 0x460]
call fcn.1800797f0
jmp 0x18009d5c0
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
je 0x18009eb1a
cmp qword [r12 + 0x10], 0x11
jae 0x18009eb04
jmp 0x18009eb08
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.180167370
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.180167370
lea rsi, [rsp + 0x870]
mov rcx, rsi
mov rdx, r13
mov r8d, ebx
mov r9, rdi
call fcn.180040fe0
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.1800a5210
cmp al, 0xc
jne 0x18009fdcd
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 0x1800a35a3
lea rcx, [rsp + 0x270]
mov rdx, r12
call fcn.180041730
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 0x1800a35a3
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 0x18009fd41
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ffab
mov rcx, qword [rsp + 0x90]
call rsi
cmp byte [rsp + 0x30], 0
jne 0x18009fd6c
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ffc8
mov rcx, qword [rsp + 0x70]
call rsi
mov r12, qword [rsp + 0x40]
jmp 0x18009f123
xor edx, edx
jmp 0x18009e6d2
call fcn.18016fa60
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009f06b
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009f06b
call fcn.18016fa60
test al, al
jne 0x18009f09a
mov byte [r12 + 0x18], 1
jmp 0x18009f09a
call fcn.18016fa60
xor al, 1
jmp 0x18009f18a
mov byte [rsp + 0x58], al
mov rcx, qword [rsp + 0x870]
mov edx, dword [rsp + 0x87c]
call fcn.18003bf00
movdqu xmm0, xmmword [rsp + 0x870]
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, rdi
call fcn.18003c160
mov sil, 3
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x50]
jmp 0x18009ff00
call fcn.18016fa60
test al, al
jne 0x18009f20e
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x18], 1
jmp 0x18009f20e
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x18009fe77
cmp qword [rsp + 0x190], 0
je 0x18009fe77
mov rcx, qword [0x1801fe9b8]
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 0x18009fea1
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 0x18009fedb
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 0x18009fef3
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 0x18009ff40
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ff7c
mov rcx, qword [rsp + 0x90]
call rdx
cmp byte [rsp + 0x30], 0
jne 0x18009ff67
mov rax, qword [0x1801fe9f0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009ff9a
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x40]
jmp 0x18009f0e3
call fcn.18016fa60
mov rdx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009ff40
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009ff40
call fcn.18016fa60
test al, al
jne 0x18009ff67
mov byte [r12 + 0x18], 1
jmp 0x18009ff67
call fcn.18016fa60
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009fd41
mov byte [rbx + 0x18], 1
jmp 0x18009fd41
call fcn.18016fa60
test al, al
jne 0x18009fd6c
mov byte [r12 + 0x18], 1
jmp 0x18009fd6c
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 0x1800a00e1
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 0x1800a2ed5
cmp eax, 0x10
je 0x1800a2ec0
cmp byte [r12 + 0x1e0], 0
mov qword [rsp + 0x70], rax
jne 0x1800a1505
jmp 0x1800a0141
mov r8, qword [rsp + 0x690]
lea rcx, [rsp + 0x698]
call qword [rax + 0x10]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x480]
call fcn.1800a3840
mov r8, qword [rsp + 0x30]
cmp byte [r12 + 0x1e0], 0
jne 0x1800a1505
mov qword [rsp + 0x30], r8
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0xf8]
lea r13, [rsp + 0x490]
jmp 0x1800a0184
mov rcx, r14
call fcn.180070150
lea rcx, [rsp + 0x480]
call fcn.1800a3840
cmp byte [r12 + 0x1e0], 0
jne 0x1800a1500
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x1800a01b0
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
jne 0x1800a01da
jmp 0x1800a1356
cmp qword [r12 + 0x90], 2
jne 0x1800a0427
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
je 0x1800a135f
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 0x1800a0120
lea rcx, [rsp + 0x480]
mov rdx, rbx
call fcn.18004ff00
test rax, rax
jne 0x1800a1310
test rdx, rdx
je 0x1800a035e
mov qword [rsp + 0x130], rdx
cmp dword [r12 + 0x70], 1
jne 0x1800a0258
mov qword [r12 + 0x70], 2
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.1800af240
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a0330
test rax, rax
je 0x1800a0330
mov rax, qword [rsp + 0x278]
test rax, rax
je 0x1800a02ae
mov rdx, qword [rsp + 0x280]
mov r8, qword [rsp + 0x288]
lea rcx, [rsp + 0x290]
call qword [rax + 0x10]
jmp 0x1800a0330
mov rax, qword [rsp + 0x280]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1800a0330
test rcx, rcx
je 0x1800a0330
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 0x1800a02ff
cmp qword [rdi + 0x10], 0x11
jb 0x1800a02ed
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fe9b8]
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 0x1800a0160
cmp eax, 3
je 0x1800a0160
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x1800a0160
mov rcx, r14
mov rdx, r12
mov r8, rbx
call fcn.1800af240
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x1800a0120
cmp eax, 1
mov r8, qword [rsp + 0x30]
jne 0x1800a2ac0
cmp qword [rsp + 0x138], 0
je 0x1800a0746
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.180050100
cmp byte [rsp + 0x290], 2
jne 0x1800a081c
cmp byte [r12 + 0x1d0], 3
je 0x1800a03f6
mov rcx, qword [rsp + 0x38]
call fcn.1800a3840
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 0x1800a012d
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], 2
je 0x1800a14d3
mov rdx, rbx
call fcn.1800aa810
test al, al
je 0x1800a14d3
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 0x1800a05e0
mov qword [rsp + 0x130], 2
mov qword [rsp + 0x150], 0
mov rcx, rdi
mov rdx, qword [rsp + 0xd8]
lea r8, [rsp + 0x870]
call fcn.1800536c0
mov rdx, qword [rsp + 0x130]
cmp rdx, 2
je 0x1800a05c0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x1800a053e
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 0x1800a05c0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x1800a057e
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 0x1800a05c0
test rax, rax
je 0x1800a05c0
mov rcx, qword [rsp + 0x138]
lock dec qword [rcx]
jne 0x1800a05c0
mov rdx, qword [rsp + 0x140]
call fcn.180070e60
nop word [rax + rax]
mov rbx, qword [rsp + 0x270]
cmp rbx, 4
lea r8, [rsp + 0x2b0]
jne 0x1800a05f1
jmp 0x1800a0a40
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 0x1800a0888
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 0x1800a09d5
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x60]
call fcn.1800ad5e0
mov rax, qword [rsp + 0x270]
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x1800a0a09
mov rcx, qword [rsp + 0x278]
test rax, rax
lea r8, [rsp + 0x2b0]
jne 0x1800a0a23
test rcx, rcx
jne 0x1800a0480
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
je 0x1800a0b04
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x1800a0b2a
mov rdi, qword [rsp + 0x140]
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x1800a0777
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x1800a07cc
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a3704
mov qword [0x1801fe9b8], rax
mov r8d, 8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a3704
mov qword [rax], rdi
mov qword [rsi], rax
lea rax, [0x1801c1850]
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x490]
movzx edx, byte [rsp + 0x4a0]
mov r8, rsi
call fcn.1800503a0
lea rdi, [rsp + 0x270]
jmp 0x1800a0120
mov rax, qword [rsp + 0x270]
test rax, rax
lea rcx, [rsp + 0x2b0]
je 0x1800a35a3
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 0x1800a0100
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x1800a0100
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 0x1800a0959
test r9b, r9b
jne 0x1800a0973
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 0x1800a0a74
test cl, cl
je 0x1800a11c7
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x1800a11ef
cmp rdx, 0xfffffffffffffffe
jne 0x1800a11f3
mov al, 1
xor r13d, r13d
jmp 0x1800a11f8
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
lea r14, [rsp + 0x130]
je 0x1800a0aab
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x1800a0ad1
mov ebx, 5
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x1800a0c6a
call fcn.1800507b0
mov rsi, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x1800a0bad
movzx ebx, byte [rsp + 0x278]
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
je 0x1800a0b58
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x1800a0b7e
mov qword [rdi + 0x70], 3
mov rcx, rdi
call fcn.1800af070
mov rcx, rdi
mov rdx, r13
call fcn.1800af150
xor edx, edx
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
jmp 0x1800a1253
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x900
jmp 0x1800a0bad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 2
jmp 0x1800a0bad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
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 0x1800a0c2b
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
xor edx, edx
jmp 0x1800a0bf8
inc rdx
cmp rax, rdx
je 0x1800a0c13
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x1800a0bf0
cmp r8d, 0xa
je 0x1800a0bf0
cmp rax, rdx
jae 0x1800a0c16
jmp 0x1800a35a3
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.180024ad0
mov rsi, qword [rsp + 0x130]
cmp byte [rsi + 0x30], 0
je 0x1800a0cc6
cmp qword [r12 + 0x160], 0
jne 0x1800a0cc6
test bl, bl
jne 0x1800a0cc6
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
mov rcx, r14
call fcn.180070150
mov ebx, 4
mov r8, qword [rsp + 0x30]
cmp rbx, 3
mov qword [rsp + 0x80], r13
jne 0x1800a0d9d
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.1800a3980
mov r8, rsi
test rax, rax
mov rbp, qword [rsp + 0xc0]
je 0x1800a0f7a
jmp 0x1800a2b27
mov qword [rsp + 0x270], rsi
cmp dword [r12 + 0x90], 2
jne 0x1800a0d81
cmp qword [r12 + 0x160], 0x18
mov r8, qword [rsp + 0x30]
jb 0x1800a0d86
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 0x1800a0d86
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x1800a0d46
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x500
lea rcx, [rsp + 0x270]
call fcn.180070150
mov r8, qword [rsp + 0x30]
mov ebx, 3
cmp rbx, 3
mov qword [rsp + 0x80], r13
je 0x1800a0c81
cmp rbx, 4
je 0x1800a0f5b
cmp rbx, 5
je 0x1800a2be5
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 0x1800a0fa6
mov r8d, ebp
and r8b, 1
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.18004e9e0
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 0x1800a0eec
mov rcx, qword [rsp + 0x38]
call fcn.1800a3840
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 0x1800a0fcb
jmp 0x1800a10f0
cmp dword [r12 + 0x90], 5
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jne 0x1800a0132
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
jmp 0x1800a0132
movdqa xmmword [rsp + 0x870], xmm6
xor ebx, ebx
lea rdi, [rsp + 0x270]
test bpl, 2
mov rbp, qword [rsp + 0xc0]
je 0x1800a10f0
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x1800a0ff4
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a3715
mov qword [0x1801fe9b8], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a3715
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movdqu xmmword [rax + 0x30], xmm6
lock inc qword [rax]
jle 0x1800a35a3
cmp qword [r12], 0
je 0x1800a107f
mov r14, qword [r12 + 8]
test r14, r14
je 0x1800a107f
mov rax, qword [r14 + 0x30]
mov rcx, rax
test cl, 4
jne 0x1800a1071
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [r14 + 0x30], rdx
jne 0x1800a1044
and ecx, 5
cmp ecx, 1
jne 0x1800a1071
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x1800a107f
mov rcx, r14
call fcn.1800512b0
mov qword [r12], 1
mov qword [r12 + 8], rsi
mov edx, 1
lea rcx, [rsp + 0x4e0]
mov r8, rsi
call fcn.1800aa660
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x1800a10f0
test rax, rax
je 0x1800a10f0
mov rsi, rdx
test rdx, rdx
je 0x1800a10f0
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x1800a10c0
and eax, 0xa
cmp eax, 8
jne 0x1800a10e2
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x1800a10f0
mov rcx, rsi
call fcn.1800a3760
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.180167370
mov qword [rsp + 0x308], rbx
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.1800a3980
test rax, rax
mov r8, r15
je 0x1800a0132
jmp 0x1800a2b27
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x1800a1224
cmp rdx, 0xfffffffffffffffe
jne 0x1800a1228
mov al, 1
xor r8d, r8d
jmp 0x1800a122d
mov al, 2
jmp 0x1800a11f8
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 0x1800a1253
mov al, 2
jmp 0x1800a122d
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 0x1800a0d9d
jmp 0x1800a0c81
cmp byte [r12 + 0x1d0], 3
je 0x1800a1325
mov rcx, qword [rsp + 0x38]
call fcn.1800a3840
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 0x1800a1500
cmp eax, 4
je 0x1800a1500
test rax, rax
mov r8, qword [rsp + 0x30]
jne 0x1800a13dd
cmp qword [r12 + 0x90], 2
jne 0x1800a13dd
cmp qword [r12 + 0x160], 0
je 0x1800a145c
movzx eax, byte [0x1801fea30]
mov rax, qword [0x1801fe9b8]
test rax, rax
jne 0x1800a13ac
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a36f3
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 3
jmp 0x1800a14b4
cmp byte [r12 + 0xc8], 0
jne 0x1800a1505
cmp qword [r12 + 0x160], 0
jne 0x1800a1505
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ad5e0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a1500
mov rcx, qword [rsp + 0x278]
test rax, rax
jne 0x1800a148e
test rcx, rcx
mov r8, qword [rsp + 0x30]
jne 0x1800a1505
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
call fcn.1800506d0
mov r8, qword [rsp + 0x30]
mov r13, rax
jmp 0x1800a14b9
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ad5e0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a1500
mov rcx, qword [rsp + 0x278]
test rax, rax
je 0x1800a14c3
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
call fcn.1800507b0
mov r13, rax
mov r8, qword [rsp + 0x30]
test r13, r13
je 0x1800a1505
jmp 0x1800a2d78
test rcx, rcx
je 0x1800a2b0b
call fcn.180050740
jmp 0x1800a14b1
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 0x1800a1550
mov r13, qword [rsp + 0x60]
mov rcx, r12
mov rdx, r13
call fcn.1800b0970
mov rcx, rax
call fcn.1800b1780
test rax, rax
jne 0x1800a00b0
mov r13, rdx
test rdx, rdx
je 0x1800a00b0
jmp 0x1800a2d78
mov r13, qword [rsp + 0x60]
jmp 0x1800a157a
mov rcx, rsi
call fcn.1800797f0
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
jne 0x1800a151a
mov rax, qword [r12 + 0x1d8]
cmp qword [rax], 0
je 0x1800a1600
cmp byte [r12 + 0x178], 0
jne 0x1800a16ed
cmp byte [r12 + 0x150], 0
je 0x1800a1664
mov r8, qword [r12 + 0x140]
cmp r8, 0xf
ja 0x1800a1d02
test r8, r8
je 0x1800a1675
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 0x1800a167b
add r8, rax
mov rcx, r8
jmp 0x1800a1679
cmp qword [r12 + 0x70], 4
je 0x1800a1588
cmp qword [r12 + 0x90], 2
jne 0x1800a1588
mov r8, qword [r12 + 0x140]
test r8, r8
je 0x1800a18d1
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 0x1800a18d7
add r8, rax
mov rcx, r8
jmp 0x1800a18d5
mov r8, qword [r12 + 0x140]
test r8, r8
jne 0x1800a15c1
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.1800b0830
add rax, rsi
cmp rax, qword [r12 + 0x148]
jae 0x1800a1d02
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 0x1800a1c42
cmp rax, 3
ja 0x1800a1560
cmp rax, 2
je 0x1800a1560
mov rcx, rdi
mov rdx, r14
mov r8, r13
call fcn.18006fa60
cmp dword [rsp + 0x270], 2
je 0x1800a1515
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 0x1800a1c6c
mov rax, qword [rsp + 0x878]
mov rdi, qword [rsp + 0x880]
test rax, rax
je 0x1800a2cb7
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 0x1800a1820
cmp qword [r14 + 0x10], 0
je 0x1800a182f
mov rdi, qword [rsp + 0x7a0]
test rdi, rdi
jne 0x1800a1c8e
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 0x1800a157a
jmp 0x1800a151a
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x1800a17d4
mov r13, qword [rsp + 0x7a0]
test r13, r13
je 0x1800a1d2f
mov rdi, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x1800a1864
cmp rcx, 1
jne 0x1800a35a3
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
je 0x1800a1f42
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp r13, rcx
jae 0x1800a217c
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.1800b1d60
mov eax, 5
mov rcx, qword [rsp + 0x48]
jmp 0x1800a2991
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.1800b0830
test rax, rax
jne 0x1800a1588
mov rax, qword [rsp + 0x50]
cmp qword [rax], 2
jne 0x1800a1588
mov rdx, qword [r12 + 0x198]
mov r8, qword [r13]
mov rcx, rdi
call fcn.1800a41b0
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a2b2f
cmp esi, 4
je 0x1800a2b3a
cmp esi, 2
lea rbx, [rsp + 0x130]
je 0x1800a35a3
mov r8d, pe_nt_image_headers64
mov rcx, rbx
mov rdx, rdi
call fcn.180167370
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.1800aa810
test al, al
je 0x1800a2b8f
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 0x1800a1b0d
mov rcx, r15
call fcn.180083f60
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.180167370
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 0x1800a2bb1
cmp rsi, 4
je 0x1800a2bd8
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.180167370
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 0x1800a22d0
mov rax, qword [rsp + 0x140]
test rax, rax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
je 0x1800a22fb
mov ecx, 1
mov rdx, rax
jmp 0x1800a26f8
cmp rax, 3
ja 0x1800a1515
cmp rax, 2
je 0x1800a1515
mov rcx, r12
call fcn.1800b1870
test rax, rax
je 0x1800a2a07
jmp 0x1800a30aa
mov rcx, r12
call fcn.1800b1870
mov dil, 1
test rax, rax
jne 0x1800a3155
test rbx, rbx
je 0x1800a29ae
jmp 0x1800a29e1
mov r14, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x1800a1cb2
cmp rcx, 1
jne 0x1800a35a3
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
lea r8, [rsp + 0x2b0]
mov r13, qword [rsp + 0x48]
je 0x1800a1d74
mov rax, qword [r13]
mov rcx, rax
sub rcx, rdi
jae 0x1800a1e63
mov qword [r13], 0
mov ecx, 1
lea rdx, [rsp + 0x790]
jmp 0x1800a1e71
mov rcx, r12
mov rdx, r13
call fcn.1800b0970
mov rcx, rax
call fcn.1800b1780
test rax, rax
jne 0x1800a1515
mov r13, rdx
test rdx, rdx
je 0x1800a2a07
jmp 0x1800a2d78
mov rcx, r12
call fcn.1800b1870
test rax, rax
jne 0x1800a3453
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 0x1800a29ae
jmp 0x1800a29e1
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, [0x18002a450]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display8
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, [0x1801afb38]
lea r8, [rsp + 0x130]
call fcn.180025c60
test al, al
jne 0x1800a35a3
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 0x1800a1e71
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, [0x1801c221a]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], 2
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800b19e0
cmp qword [r12 + 0x90], 0
je 0x1800a1f32
cmp qword [r12 + 0x98], 0
jne 0x1800a1f32
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 0x1800a29ae
jmp 0x1800a29e1
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, [0x18002a450]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display8
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, [0x1801afb38]
lea r8, [rsp + 0x270]
call fcn.180025c60
test al, al
jne 0x1800a35a3
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, [0x1801c220e]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 7
cmp byte [r12 + 0x150], 0
je 0x1800a232f
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 0x1800a20ff
mov rcx, qword [rsp + 0x90]
call fcn.1800b1cc0
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 0x1800a22c0
jne 0x1800a21b7
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.1800b1d60
jmp 0x1800a297a
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 0x1800a2657
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 0x1800a2262
mov rcx, qword [rsp + 0x90]
call fcn.1800b1cc0
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 0x1800a297a
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 0x1800a2633
mov rsi, qword [r12 + 0x1d8]
cmp qword [rsi], 0
je 0x1800a2312
lea rcx, [rsi + 8]
call fcn.1800797f0
mov qword [rsi], 0
mov r9d, 2
mov sil, 1
mov rax, qword [rsp + 0x268]
jmp 0x1800a277b
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 0x1800a35a3
mov r10, r8
add r10, 7
jb 0x1800a35a3
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800a23eb
mov r11, qword [r12 + 0x110]
mov r14, qword [r12 + 0x118]
sub r11, r14
cmp r11, r10
jae 0x1800a23eb
sub r14, rdx
jb 0x1800a35a3
mov qword [r12 + 0x118], 0
je 0x1800a23df
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, r14
call fcn.180167370
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 0x1800a2435
jmp 0x1800a35a3
mov rdx, r14
mov r8, qword [rsp + 0x170]
sub r8, rdx
jb 0x1800a35a3
add qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], r8
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
jb 0x1800a35a3
test r8, r8
je 0x1800a2460
cmp cl, al
jne 0x1800a2480
mov r12, qword [rsp + 0x138]
mov r14, r13
test r14, r14
jne 0x1800a24ae
jmp 0x1800a2610
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
test r14, r14
jne 0x1800a24ae
jmp 0x1800a2610
jb 0x1800a35a3
cmp cl, 0x12
ja 0x1800a35a3
movzx r14d, cl
movzx r12d, al
sub r14, r12
lea rax, [rsp + 0x150]
add r12, rax
test r14, r14
je 0x1800a2610
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x110]
mov r13, qword [rcx + 0x118]
sub rax, r13
cmp rax, r14
jb 0x1800a25ef
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
add rcx, r13
mov rdx, r12
mov rdi, rax
mov r8, r14
call fcn.180167370
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 0x1800a35a3
je 0x1800a2400
mov rdx, r14
sub rdx, r9
jbe 0x1800a2540
cmp cl, al
jne 0x1800a2551
mov r10, r9
sub r13, r10
jae 0x1800a256b
jmp 0x1800a35a3
cmp cl, al
jne 0x1800a2591
mov rdx, r14
sub r13, rdx
jae 0x1800a25ab
jmp 0x1800a35a3
mov r10, r9
sub r10, r8
jbe 0x1800a25c0
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, r10
jb 0x1800a35a3
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], r10
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x1800a2414
jmp 0x1800a35a3
mov rdx, r14
sub rdx, r8
jbe 0x1800a25e0
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, rdx
jb 0x1800a35a3
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], rdx
jmp 0x1800a2424
add al, r9b
mov byte [rsp + 0x162], al
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x1800a2414
jmp 0x1800a35a3
add al, r14b
mov byte [rsp + 0x162], al
jmp 0x1800a2424
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r14
call fcn.18016b290
mov rax, qword [rsp + 0x40]
mov r13, qword [rax + 0x118]
jmp 0x1800a24cd
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x148]
mov r8, r13
call qword [rax + 0x10]
jmp 0x1800a2975
cmp qword [rsp + 0x130], 0
je 0x1800a26ca
mov ecx, 1
mov rax, qword [rsp + 0x140]
mov rdx, rax
jmp 0x1800a26f8
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800a26a8
mov rax, qword [r12 + 0x110]
mov rbp, qword [r12 + 0x118]
sub rax, rbp
cmp rax, r14
jae 0x1800a26a8
sub rbp, rdx
jb 0x1800a35a3
mov qword [r12 + 0x118], 0
jne 0x1800a2870
xor ebp, ebp
jmp 0x1800a2891
mov r12, qword [rsp + 0x688]
test r14, r14
je 0x1800a2954
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a28d0
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 0x1800a2752
lea rcx, [rsi + 8]
mov r15, rax
call fcn.1800797f0
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.1800ad760
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a2846
mov rdx, qword [rsp + 0x278]
movzx ecx, byte [rsp + 0x280]
test rax, rax
je 0x1800a27e4
test rdx, rdx
jne 0x1800a27e4
xor eax, eax
test cl, cl
sete al
xor rax, 5
mov rdx, qword [rsp + 0xe8]
movzx ecx, byte [rsp + 0xd0]
jmp 0x1800a2813
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 0x1800a2a07
mov rcx, r14
call fcn.1800797f0
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x1800a157a
jmp 0x1800a151a
mov rdi, rcx
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, rbp
call fcn.180167370
mov rcx, rdi
mov qword [r12 + 0x118], rbp
mov qword [r12 + 0x120], 0
mov r12, qword [rsp + 0x688]
jmp 0x1800a28d0
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r8, r14
call fcn.18016b290
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a28ec
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x110]
sub rax, rbp
cmp rax, r14
jb 0x1800a28a7
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x108]
add rcx, rbp
mov rdx, r12
mov r8, r14
call fcn.180167370
add rbp, r14
mov qword [rdi + 0x118], rbp
mov rcx, qword [rsp + 0xf0]
sub rcx, r14
jb 0x1800a35a3
sub r13, r14
jb 0x1800a35a3
add r12, r14
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
test r14, r14
jne 0x1800a28d0
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 0x1800a29e1
cmp qword [rsp + 0x870], 0
je 0x1800a29e1
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a2a20
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
test dil, dil
je 0x1800a2a9f
cmp qword [r15], 0
lea rdi, [rsp + 0x270]
je 0x1800a2a00
mov rcx, rsi
call fcn.1800797f0
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x1800a157a
jmp 0x1800a151a
mov r14, qword [rsp + 0x880]
mov r12, qword [r14 + 0x58]
test r12, r12
je 0x1800a2a5f
mov rbx, qword [r14 + 0x60]
mov rcx, r12
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1800a2a5f
cmp qword [rbx + 0x10], 0x11
jb 0x1800a2a4d
mov r12, qword [r12 - 8]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [r14], 2
mov r12, qword [rsp + 0x40]
je 0x1800a2a84
cmp qword [r14 + 0x18], 0
je 0x1800a2a84
mov r8, qword [r14 + 0x10]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
test dil, dil
jne 0x1800a29ea
lea rdi, [rsp + 0x270]
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x1800a157a
jmp 0x1800a151a
cmp byte [r12 + 0x1d0], 3
je 0x1800a2ada
mov rcx, qword [rsp + 0x38]
call fcn.1800a3840
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 0x1800a1505
cmp byte [r12 + 0xd2], 0
je 0x1800a2bfa
call fcn.1800506d0
mov r13, rax
jmp 0x1800a2bfd
mov r13, rax
jmp 0x1800a14b9
mov byte [r12 + 0x1a8], 1
jmp 0x1800a2bb1
mov rax, qword [r12 + 0x1a0]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a2bd8
je 0x1800a2b62
cmp rcx, 3
je 0x1800a2bd8
jmp 0x1800a35a3
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a2b62
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 0x1800a2bd8
call qword [rdx + 8]
jmp 0x1800a2bd8
lea rcx, [rsp + 0x5a0]
call fcn.180083f60
mov rcx, rbx
call fcn.18007a230
lea rcx, [rsp + 0x210]
call fcn.1800797f0
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 0x1800a151a
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jmp 0x1800a1505
xor r13d, r13d
mov r8, qword [rsp + 0x30]
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x1800a14b9
cmp edi, 6
je 0x1800a2ece
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.180052930
mov rsi, rax
test rax, rax
je 0x1800a2e98
lea eax, [rdi - 2]
cmp eax, 2
jb 0x1800a3040
test edi, edi
je 0x1800a3040
cmp edi, 1
jne 0x1800a2fdc
lea rcx, [rsp + 0x150]
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x1800a3040
movzx eax, byte [0x1801fea30]
mov rcx, qword [0x1801fe9b8]
test rcx, rcx
jne 0x1800a2ce3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a36f3
mov rcx, rax
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 1
movzx eax, byte [0x1801fea30]
mov rcx, qword [0x1801fe9b8]
test rcx, rcx
jne 0x1800a2d3a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a3704
mov rcx, rax
mov qword [0x1801fe9b8], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a3704
mov qword [rax], rdi
mov qword [r13], rax
lea rax, [0x1801c1aa8]
mov qword [r13 + 8], rax
cmp qword [r15], 0
je 0x1800a2d71
mov rcx, rsi
call fcn.1800797f0
mov qword [r15], 0
movzx ebx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp bl, 3
mov rdi, qword [rsp + 0x50]
je 0x1800a2e63
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 [0x1801fea30]
mov rcx, qword [0x1801fe9b8]
test rcx, rcx
jne 0x1800a2e06
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a36f3
mov rcx, rax
mov qword [0x1801fe9b8], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a36f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
lea rdx, [0x1801c221c]
mov r8d, 0x10
mov rcx, rax
call fcn.180084150
mov rcx, qword [rsp + 0x280]
mov edx, ebx
mov r8, rsi
call fcn.1800503a0
lea rcx, [rsp + 0x270]
call fcn.1800a3840
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x270], 3
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a3980
mov rsi, rax
test rax, rax
jne 0x1800a3049
jmp 0x1800a354a
cmp edi, 2
je 0x1800a2f74
cmp edi, 1
je 0x1800a2f74
test rdi, rdi
jne 0x1800a2f85
lea rax, [rsp + 0x138]
jmp 0x1800a2f7c
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
mov al, 1
jmp 0x1800a35b9
cmp byte [r12 + 0x1e0], 0
jne 0x1800a2ee8
cmp dword [r12 + 0x70], 4
jne 0x1800a2ece
mov rsi, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x1800a307a
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
je 0x1800a30b2
test rsi, rsi
je 0x1800a2d78
mov rax, qword [rsi + 0x30]
nop word [rax + rax]
mov rcx, rax
test cl, 4
jne 0x1800a2f5d
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [rsi + 0x30], rdx
jne 0x1800a2f30
and ecx, 5
cmp ecx, 1
jne 0x1800a2f5d
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x1800a2d78
mov rcx, rsi
call fcn.1800a3760
jmp 0x1800a2d78
lea rax, [rsp + 0x134]
cmp dword [rax], 0
je 0x1800a2c72
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.18004fd00
mov rsi, rax
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a305b
jmp 0x1800a355e
mov rax, qword [rsp + 0x138]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1800a3040
test rcx, rcx
je 0x1800a3040
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 0x1800a302e
cmp qword [r14 + 0x10], 0x11
jb 0x1800a301c
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x1800a354a
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jae 0x1800a355e
mov qword [rbp], 4
cmp eax, 4
je 0x1800a35a3
test rsi, rsi
jne 0x1800a3573
jmp 0x1800a35af
mov rcx, qword [r12 + 0xf0]
mov rax, qword [r12 + 0xf8]
mov rdx, r13
call qword [rax + 0x30]
test rax, rax
jne 0x1800a2ece
test rdx, rdx
je 0x1800a347e
mov rcx, rdx
call fcn.1800508f0
mov r13, rax
jmp 0x1800a2d78
mov rdi, qword [rbp]
mov qword [rbp], 3
cmp rdi, 2
jae 0x1800a3748
mov qword [rsp + 0xa38], rdi
lea rcx, [rsp + 0xa40]
mov r8d, 0x1e0
mov rbx, qword [rsp + 0x120]
mov rdx, rbx
call fcn.180167370
mov qword [rsp + 0x270], rdi
lea rcx, [rsp + 0x278]
mov r8d, 0x178
mov rdx, rbx
call fcn.180167370
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x130]
mov r8d, 0xa8
call fcn.180167370
mov r14, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x1c8]
test dil, 1
jne 0x1800a322e
lea r15, [0x1801c53c8]
jmp 0x1800a329c
mov r13, rax
cmp qword [rsp + 0x870], 0
je 0x1800a2d63
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a34a0
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
jmp 0x1800a2d63
mov rax, qword [r12 + 0xb8]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a31e4
je 0x1800a31bc
cmp rcx, 3
je 0x1800a31e4
jmp 0x1800a35a3
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a31bc
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 0x1800a31e4
call qword [rdx + 8]
mov rbx, qword [r12 + 0x88]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x1800a353c
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 0x1800a3514
mov rcx, rdi
call qword [rsi + 0x18]
jmp 0x1800a353c
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.180024510
mov rbx, qword [rsp + 0x490]
sub rbx, rdi
jb 0x1800a35a3
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.1800a5760
lea rcx, [rsp + 0x270]
call fcn.1800a58b0
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 0x1800a333d
lea rcx, [rsp + 0xbe8]
call fcn.1800a3840
lea rbx, [rsp + 0x498]
mov rdi, qword [rsp + 0xc10]
cmp qword [rdi], 0
je 0x1800a335c
lea rcx, [rdi + 8]
call fcn.1800797f0
mov rcx, qword [0x1801fe9b8]
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 0x1800a33c0
lea rcx, [rsp + 0x4b8]
call fcn.180083f60
lea rcx, [rsp + 0x4d0]
call fcn.180090af0
movzx eax, byte [0x1801fea30]
mov ecx, 0x18
mov edx, 8
call fcn.180020bb0
test rax, rax
je 0x1800a3726
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, [0x1801c2598]
mov qword [rsp + 0x278], rax
lea rdx, [rsp + 0x270]
mov rcx, rsi
call fcn.180051390
jmp 0x1800a354a
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 0x1800a2d63
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
jne 0x1800a2d78
jmp 0x1800a354a
mov rbx, qword [rsp + 0x880]
mov r14, qword [rbx + 0x58]
test r14, r14
je 0x1800a34de
mov rdi, qword [rbx + 0x60]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800a34de
cmp qword [rdi + 0x10], 0x11
jb 0x1800a34cc
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rbx], 2
je 0x1800a34fd
cmp qword [rbx + 0x18], 0
je 0x1800a34fd
mov r8, qword [rbx + 0x10]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fe9b8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1800a2d63
mov rax, qword [r14]
test rax, rax
je 0x1800a3523
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 0x1800a2ece
mov al, 1
xchg byte [rbx + 0x41], al
test al, al
jne 0x1800a354a
xor eax, eax
xchg byte [rbx + 0x41], al
xor esi, esi
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a305b
mov rcx, rbp
call fcn.18009d1d0
mov qword [rbp], 4
test rsi, rsi
je 0x1800a35af
mov qword [rsp + 0xa38], rsi
lea rcx, [rsp + 0xa38]
call fcn.180070150
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 3
jae 0x1800a35a7
mov qword [rbp], 5
cmp eax, 5
jne 0x1800a35b7
ud2
mov rcx, rbp
call fcn.18009d1d0
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.1800a55f0
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 0x1800a35b9
mov ecx, 8
mov edx, 0x38
call fcn.180169390
ud2
mov ecx, 8
mov edx, 8
call fcn.180169390
ud2
mov ecx, 8
mov edx, 0x70
call fcn.180169390
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180169390
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180169390
ud2
mov rcx, rsi
call fcn.1800a56f0
ud2