Function at 0x18009b340
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 0x1800a1433
cmp eax, 4
je 0x1800a1433
cmp eax, 3
je 0x1800a1433
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 0x18009de70
lea r14, [r12 + 0x90]
lea rbx, [r12 + 8]
lea rax, [r12 + 0xa0]
mov qword [rsp + 0xf8], rax
movdqa xmm6, xmmword [str.BBBBBBBBBBBBBBBB]
pcmpeqd xmm7, xmm7
movdqa xmm8, xmmword [0x180171e40]
xorps xmm9, xmm9
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180171710]
lea r15, [rsp + 0x108]
lea rsi, [rsp + 0x980]
nop dword [rax]
lea rcx, [rsp + 0x480]
mov rdx, r14
mov r8, r13
call fcn.1800a1db0
movzx edi, byte [rsp + 0x480]
cmp rdi, 5
jne 0x1800a0aa9
mov rax, qword [r12]
mov qword [r12], 2
cmp rax, 2
je 0x18009b4e4
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.1800a2360
jmp 0x18009b450
mov rdx, qword [r12 + 0xb0]
mov r8, qword [r13]
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a2040
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a13da
cmp esi, 4
je 0x1800a1028
cmp esi, 2
je 0x1800a1433
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x680]
mov rdx, rdi
call fcn.180158470
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 0x18009baaf
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a1433
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a1433
add rax, 0xd0
mov rax, qword [rax]
test al, 4
jne 0x18009bae0
mov r8d, 0xe0
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x680]
call fcn.180158470
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.180048c80
cmp qword [rsp + 0x130], 0
jne 0x1800a1433
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.180048c80
cmp qword [rsp + 0x130], 0
jne 0x1800a1433
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 [0x1801ac6f8]
movups xmmword [rax - 0xb8], xmm0
movups xmm0, xmmword [0x1801ac6e8]
movups xmmword [rax - 0xc8], xmm0
movups xmm0, xmmword [0x1801ac630]
movups xmmword [rax - 0x98], xmm0
movups xmm0, xmmword [0x1801ac620]
movups xmmword [rax - 0xa8], xmm0
movups xmm0, xmmword [0x1801ac718]
movups xmmword [rax - 0x78], xmm0
movdqu xmm0, xmmword [0x1801ac708]
movdqu xmmword [rax - 0x88], xmm0
mov rdx, rdi
xor ecx, ecx
jmp 0x18009b714
mov rcx, qword [rsp + 0x38]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x270
cmp rcx, 5
je 0x18009b90a
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009b6f0
lea rcx, [rsp + 0x5a0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x70], rax
call fcn.18004f600
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 0x18009b796
movzx eax, byte [rax + 8]
cmp al, byte [r9 + 8]
je 0x18009b849
nop dword [rax]
inc r15
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x18009b7a0
movzx r13d, word [rbx + r12*4]
cmp r13, 0xffff
je 0x18009b6f0
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 0x18009b6f0
cmp ax, bp
jne 0x18009b790
cmp r10, r13
jbe 0x1800a1433
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 0x18009b790
lea rax, [r11 + rsi]
add rax, 0x40
test rcx, rcx
je 0x18009b77e
mov r8, qword [rax + 0x10]
cmp r8, qword [r9 + 0x10]
jne 0x18009b790
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
call fcn.180158ec0
mov r11, qword [rsp + 0x90]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
test eax, eax
jne 0x18009b790
cmp qword [r11 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009b867
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.18006ed90
lea rcx, [rsp + 0x130]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.180050800
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 0x18009b8d4
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x188]
call qword [rax + 0x10]
cmp byte [rsp + 0x4a0], 2
je 0x18009b6f0
mov rax, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
mov r8, qword [rsp + 0x490]
lea rcx, [rsp + 0x498]
call qword [rax + 0x10]
jmp 0x18009b6f0
movups xmm12, xmmword [0x1801ac738]
movaps xmmword [rsp + 0x140], xmm12
movups xmm13, xmmword [0x1801ac728]
movaps xmmword [rsp + 0x130], xmm13
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18009bbb2
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x30], rax
call fcn.18004f600
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 0x18009b9e6
movzx ecx, byte [rsp + 0x70]
cmp byte [rax + 8], cl
je 0x18009baa1
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 0x18009b9f0
movzx eax, word [r13 + r15*4]
cmp rax, 0xffff
je 0x18009bb07
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 0x18009bb07
cmp cx, bp
jne 0x18009b9e0
cmp r10, rax
jbe 0x1800a1433
test r9, r9
sete r8b
imul rbx, rax, 0x68
mov rcx, qword [rsi + rbx + 0x40]
test rcx, rcx
setne al
cmp al, r8b
je 0x18009b9e0
lea rax, [rsi + rbx]
add rax, 0x40
test rcx, rcx
je 0x18009b9c3
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x18009b9e0
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x38]
call fcn.180158ec0
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x90]
test eax, eax
jne 0x18009b9e0
add rsi, rbx
add rsi, 0x18
mov rbx, qword [rsp + 0x50]
jmp 0x18009bb09
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800a1433
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800a1433
add rax, 0x30
mov rax, qword [rax]
test al, 4
je 0x18009b59e
mov rcx, r15
call fcn.180082020
lea rcx, [rsp + 0x680]
call fcn.1800782f0
lea rcx, [rsp + 0x760]
call fcn.180077d60
jmp 0x18009b450
xor esi, esi
test r9, r9
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bdf48]
je 0x18009bb36
lea rcx, [rsp + 0x148]
mov r8, qword [rsp + 0x38]
call qword [r9 + 0x10]
test rsi, rsi
je 0x18009bbce
cmp qword [rsi + 0x10], 8
jne 0x18009bb59
mov rax, qword [rsi + 8]
movabs rcx, 0x7372656c69617274
cmp qword [rax], rcx
je 0x18009bbce
movaps xmmword [rsp + 0x490], xmm12
movaps xmmword [rsp + 0x480], xmm13
mov rcx, r14
lea rdx, [rsp + 0x5a0]
lea r8, [rsp + 0x480]
call fcn.180050a50
cmp byte [rsp + 0x150], 2
je 0x18009bbce
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x18009bbce
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bdf48]
movups xmm0, xmmword [0x1801be058]
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [0x1801be048]
movdqa xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x400]
lea rdx, [rsp + 0x5a0]
mov r8, r14
call fcn.180050a50
cmp byte [rsp + 0x420], 2
je 0x18009c408
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 0x18009bc82
movzx r8d, byte [rcx + rdx]
inc rdx
cmp r8b, 9
je 0x18009bc60
add r8b, 0xe0
cmp r8b, 0x5f
jb 0x18009bc60
jmp 0x1800a1433
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 0x18009bd0c
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x1801bdf48]
lea rcx, [rsp + 0x480]
call fcn.180059b90
test rax, rax
je 0x18009c3e5
mov rcx, rax
call fcn.18004ef10
mov r8, rdx
mov qword [rsp + 0x20], r15
mov rcx, r14
mov rdx, rax
mov r9, rdi
call fcn.180045de0
movzx r9d, byte [rsp + 0x140]
cmp r9d, 3
je 0x18009bd0c
mov r11, qword [rsp + 0x5d8]
test r11, r11
je 0x18009bcf0
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
cmp dword [rsp + 0x5a0], 2
mov qword [rsp + 0x90], r11
jne 0x18009be40
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.18000cd50
test r15d, r15d
lea rbx, [0x1801bdf48]
je 0x18009bf53
mov eax, r15d
cmp r15d, 2
jne 0x18009bf8c
movzx eax, r13b
mov qword [rsp + 0x98], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r14
jmp 0x18009bf95
xor r12d, r12d
cmp r9b, 2
setne r12b
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x1efac7090aef4a21
imul r12, rcx
cmp r9b, 2
jne 0x18009be81
movzx eax, dl
xor rax, r12
imul rax, rcx
mov r10b, 2
mov r12, rax
jmp 0x18009c0a8
lea rax, [rdx + rbp]
test r9b, r9b
je 0x18009c30b
mov r10b, 1
test rbp, rbp
movabs r9, 0x100000001b3
je 0x18009c34c
mov r8, rbp
and r8, 7
je 0x18009c353
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 0x18009bec0
cmp rbp, 8
jb 0x18009bf48
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 0x18009bee0
mov r12, r10
mov r10b, 1
jmp 0x18009c0a8
test rbp, rbp
je 0x18009bf9a
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.18000cd50
inc rsi
cmp rbp, rsi
jne 0x18009bf60
jmp 0x18009bf9a
mov rcx, rdi
mov rdx, r13
mov r8, rbp
call fcn.18000cd50
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 0x18009c0f6
inc rdi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, rbx
jae 0x18009c100
movzx ebp, word [r15 + r13*4]
cmp rbp, 0xffff
je 0x18009bcf0
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 0x18009bcf0
cmp ax, r12w
jne 0x18009c0f0
cmp r11, rbp
jbe 0x1800a1433
imul rsi, rbp, 0x68
lea rax, [r9 + rsi]
add rax, 0x40
cmp qword [r9 + rsi + 0x40], 0
je 0x18009c1b8
cmp r10b, 2
je 0x18009c0f0
test r10b, r10b
je 0x18009c1cd
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009c0f0
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x58], r10d
call fcn.180158ec0
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
test eax, eax
jne 0x18009c0f0
jmp 0x18009c233
cmp r10b, 2
jne 0x18009c0f0
cmp byte [rax + 8], dl
jne 0x18009c0f0
jmp 0x18009c233
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x18009c0f0
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 0x18009c233
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x1801bdf48]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x18009c1f0
cmp r9, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jb 0x18009c0f0
cmp qword [r9 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18009c251
add r9, rsi
mov rdx, qword [r9 + 8]
mov rcx, rdi
call fcn.18006ed90
lea r14, [rsp + 0x130]
mov rcx, r14
mov rdx, rdi
mov r8, r13
mov r9, rbp
call fcn.180050800
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, [0x1801bdf48]
je 0x18009c2cd
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 0x18009bd0c
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
jmp 0x18009bd0c
mov rsi, rdx
test rbp, rbp
movabs r9, 0x100000001b3
lea r10, [0x1801bdf48]
je 0x18009c368
mov r8, rbp
mov rcx, rsi
and r8, 3
je 0x18009c375
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r12
imul rdx, r9
inc rcx
mov r12, rdx
dec r8
jne 0x18009c330
jmp 0x18009c378
xor ebp, ebp
jmp 0x18009c0a8
mov r10, r12
mov rcx, rdx
cmp rbp, 8
jae 0x18009bee0
jmp 0x18009bf48
xor ebp, ebp
xor r10d, r10d
mov rdx, rsi
jmp 0x18009c0a8
mov rdx, r12
mov r12, rdx
cmp rbp, 4
jae 0x18009c390
xor r10d, r10d
mov r12, rdx
mov rdx, rsi
jmp 0x18009c0a8
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 0x18009c390
mov rdx, rsi
xor r10d, r10d
jmp 0x18009c0a8
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 0x18009c430
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 0x18009c47a
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 0x18009c4af
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 0x18009c4d7
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 0x18009c4ff
mov rdx, qword [rsp + 0x2f8]
mov r8, qword [rsp + 0x300]
lea rcx, [rsp + 0x308]
call qword [rax + 0x10]
cmp qword [rsp + 0x460], 0
je 0x18009c521
mov ecx, 1
mov rdx, qword [rsp + 0x470]
mov rax, rdx
test rcx, rcx
jne 0x18009c554
jmp 0x18009c56f
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 0x18009c56f
cmp rax, rdx
jne 0x18009c56f
test rdx, rdx
je 0x18009c75e
lea rcx, [rsp + 0x5a0]
call fcn.18004f8d0
movzx eax, byte [rsp + 0x658]
cmp qword [rsp + 0x460], 0
je 0x18009c5a1
cmp qword [rsp + 0x470], 0
sete byte [rsp + 0xf0]
mov qword [rsp + 0x38], rax
cmp al, 7
je 0x18009c5ce
jmp 0x18009c664
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 0x18009c664
lea rcx, [rsp + 0x5a0]
call fcn.18004f190
test rax, rax
je 0x18009c664
test rdx, rdx
je 0x18009c664
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.18004d450
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rsi
call fcn.1800839a0
lea rcx, [rsp + 0x5a0]
call fcn.1800782f0
lea rsi, [rsp + 0x980]
jmp 0x18009d999
mov rax, qword [rsp + 0x670]
test rax, rax
lea rbx, [rsp + 0x5a0]
movabs r12, 0xb29ba7d6483beeea
je 0x18009c9aa
mov rcx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [rcx - 0x20]
xor r11d, r11d
movabs rsi, 0x1ce839131448c761
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 0x18009c6ff
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, 0x1ce839131448c761
xor r14, r15
or r14, rdi
mov edi, ebx
jne 0x18009c6c0
jmp 0x18009c72f
pcmpeqb xmm0, xmm7
pmovmskb edx, xmm0
test edx, edx
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
jne 0x18009c9aa
add rsi, r11
add rsi, 0x10
add r11, 0x10
jmp 0x18009c69f
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 0x18009c784
bsr r9w, r9w
xor r9d, 0xf
jmp 0x18009c789
movzx eax, byte [rsp + 0x658]
cmp rax, 7
ja 0x18009dc0d
bt rdi, rax
mov edx, 0
jb 0x18009c577
jmp 0x18009c562
mov r9w, 0x10
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
lea r15, [0x1801e43d0]
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 0x18009c7cf
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 0x18009c9aa
mov rdi, qword [rdx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r12
movabs rcx, 0x1ce839131448c761
xor rax, rcx
or rax, rdx
jne 0x18009c981
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 [0x1801fa958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x18009c9aa
mov rsi, qword [rsp + 0x670]
test rsi, rsi
jne 0x18009c88b
movzx eax, byte [0x1801fa9d0]
mov ecx, 0x20
mov edx, 8
call fcn.18001eab0
test rax, rax
je 0x1800a15c7
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 [0x1801fa9d0]
mov ecx, 0x20
mov edx, 8
call fcn.18001eab0
test rax, rax
je 0x1800a15c7
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, [0x1801bdf08]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x8410ec3354fdd381
movabs r8, 0xf8ee18a26dba62c2
mov r9, rax
call fcn.18006df10
test rax, rax
je 0x18009c9aa
mov rsi, rax
mov r12, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xf8ee18a26dba62c2
xor rdx, rcx
movabs rcx, 0x8410ec3354fdd381
xor rax, rcx
or rax, rdx
jne 0x18009d9ab
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x270]
test rax, rax
je 0x18009c9aa
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x288]
call qword [rax + 0x10]
jmp 0x18009c9aa
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009c9aa
cmp qword [rdi + 0x10], 0x11
jb 0x18009c998
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fa958]
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.180158470
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 0x18009caca
mov rax, qword [r12]
mov r8, qword [r12 + 8]
lea r9, [rax - 0x20]
xor r10d, r10d
movabs r11, 0x8410ec3354fdd381
movabs r15, 0xf8ee18a26dba62c2
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 0x18009ca7e
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, 0x8410ec3354fdd381
xor r14, rbx
or r14, rsi
mov esi, edi
jne 0x18009ca40
jmp 0x18009ca9b
pcmpeqb xmm0, xmm7
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18009cb9d
add r11, r10
add r11, 0x10
add r10, 0x10
jmp 0x18009ca21
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 0x18009cadb
bsr r8w, r8w
xor r8d, 0xf
jmp 0x18009cae0
mov qword [rsp + 0x400], 0
jmp 0x18009ccbc
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 0x18009cb0f
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 0x18009cb9d
mov rdi, qword [rcx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r15
movabs rcx, 0x8410ec3354fdd381
xor rax, rcx
or rax, rdx
jne 0x18009cb74
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x410], xmm1
movdqa xmmword [rsp + 0x400], xmm0
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18009cba9
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009cb9d
cmp qword [rdi + 0x10], 0x11
jb 0x18009cb8b
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1801fa958]
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 0x18009cc73
mov rdi, qword [r12]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r15, [rdi + 0x10]
jmp 0x18009cbf7
mov rcx, qword [0x1801fa958]
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 0x18009cc73
test ax, ax
je 0x18009cc10
lea r13d, [rax - 1]
and r13d, eax
jmp 0x18009cc39
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffe00
add r15, 0x10
cmp ax, 0xffff
je 0x18009cc10
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 0x18009cbe2
cmp qword [rbp + 0x10], 0x11
jb 0x18009cbd0
mov rsi, qword [rsi - 8]
jmp 0x18009cbd0
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x18009cc8c
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call fcn.180158b20
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 [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d62e
mov dword [rsp + 0x30], 0
lea rdi, [rsp + 0x270]
lea r15, [rsp + 0x108]
movzx eax, byte [r12 + 0x18]
test al, al
jne 0x1800a1433
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 [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009d63e
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
jne 0x1800a1433
lea rdx, [r12 + 0x80]
mov rcx, rdi
call fcn.18003fc10
movzx esi, byte [rsp + 0x270]
cmp sil, 3
mov qword [rsp + 0x3f0], rbx
jne 0x18009ce1c
mov r13, qword [r12 + 0x120]
test r13b, 1
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jne 0x18009ce9f
cmp qword [rsp + 0x58], 0
mov rbx, qword [rsp + 0x50]
je 0x18009cebe
mov rdx, qword [rsp + 0xe8]
mov ecx, dword [rdx + 8]
cmp qword [r12 + 0x1e0], rcx
jbe 0x1800a1433
mov rax, qword [r12 + 0x1d0]
test rax, rax
je 0x1800a1433
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x1800a1433
mov edx, dword [rdx + 0xc]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x1800a1433
cmp byte [rax + 0x124], 0
je 0x18009cebe
mov byte [rsp + 0x58], 3
mov sil, 3
jmp 0x18009ced2
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 0x18009ced7
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 0x18009ced7
cmp byte [r12 + 0x78], 0
je 0x18009d662
mov sil, 3
mov byte [rsp + 0x58], 1
mov r13, qword [rsp + 0x60]
cmp byte [rsp + 0x88], 0
jne 0x18009cefb
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009dc14
mov rcx, qword [rsp + 0x90]
mov rdi, r8
call r8
cmp byte [rsp + 0x30], 0
jne 0x18009cf2a
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009dc39
mov rcx, qword [rsp + 0x70]
call rdi
mov rax, qword [rsp + 0x400]
test rax, rax
je 0x18009cf59
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
lea rcx, [rsp + 0x418]
call qword [rax + 0x10]
lea rcx, [rsp + 0x790]
call fcn.1800782f0
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 0x18009d3c8
movzx eax, sil
cmp eax, 4
jne 0x18009d3e8
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 [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009dc51
xor eax, eax
mov r9, qword [rsp + 0x48]
movzx ecx, byte [r9 + 0x18]
test cl, cl
mov r8, qword [rsp + 0x68]
jne 0x1800a1433
mov edx, r8d
cmp qword [r9 + 0x1e0], rdx
jbe 0x1800a1433
mov rcx, qword [r9 + 0x1d0]
test rcx, rcx
je 0x1800a1433
imul rdx, rdx, 0x130
cmp dword [rcx + rdx], 2
je 0x1800a1433
shr r8, 0x20
add rcx, rdx
cmp dword [rcx + 0x114], r8d
jne 0x1800a1433
mov rdi, rbx
movzx ebx, byte [rcx + 0x124]
test al, al
jne 0x18009d09e
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009dca9
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0xb0], 0
je 0x18009d10b
test bl, bl
je 0x18009d10b
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x130]
call fcn.18003f310
mov rax, qword [rsp + 0xf8]
cmp qword [rax], 0
je 0x18009d0fe
mov rcx, rax
call fcn.18003f410
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
lock dec qword [rcx]
jne 0x18009d0fe
call fcn.1800844f0
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.18003f310
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.1800a1db0
movzx eax, byte [rsp + 0x480]
cmp eax, 5
je 0x18009d448
cmp eax, 6
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0x980]
je 0x1800a14a3
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.18004d450
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x870]
lea rdx, [rsp + 0x270]
call fcn.1800839a0
lea rcx, [rsp + 0x148]
call fcn.18003f410
mov rcx, qword [rsp + 0x148]
lock dec qword [rcx]
jne 0x18009d34a
call fcn.1800844f0
lea rcx, [rsp + 0x160]
call fcn.18003f410
mov rcx, qword [rsp + 0x160]
lock dec qword [rcx]
jne 0x18009d36a
call fcn.1800844f0
mov rcx, qword [rsp + 0x170]
lock dec qword [rcx]
jne 0x18009d37d
call fcn.1800a34f0
lea rcx, [rsp + 0x178]
call fcn.180077d60
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 0x18009b450
mov al, 3
lea rsi, [rsp + 0x980]
mov r9d, dword [rsp + 0x42c]
movzx r10d, byte [rsp + 0x260]
jmp 0x18009d8a0
test sil, sil
je 0x18009d515
cmp eax, 1
lea rsi, [rsp + 0x980]
jne 0x18009d530
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 0x18009d85b
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.1800a2360
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 0x18009b450
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
xor eax, eax
lea rsi, [rsp + 0x980]
jmp 0x18009d85b
cmp qword [rsp + 0x48], 0
je 0x18009d844
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009d565
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a15b6
mov qword [0x1801fa958], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a15b6
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 [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009d5c8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a15b6
mov qword [0x1801fa958], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a15b6
mov rcx, rax
mov qword [rax], rsi
lea rax, fcn.18001eba0
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 0x18009d85b
call fcn.18016c730
xor al, 1
mov dword [rsp + 0x30], eax
jmp 0x18009ccef
call fcn.18016c730
xor al, 1
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
je 0x18009cd61
jmp 0x1800a1433
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.18003f1d0
cmp byte [rsp + 0x848], 5
jne 0x18009d6c4
mov qword [rsp + 0x160], 1
mov r8d, 0xe0
lea rbp, [rsp + 0x870]
mov rcx, rbp
lea rdx, [rsp + 0x790]
call fcn.180158470
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.180044690
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 0x18009d9cf
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 0x18009dd07
lea ecx, [rax - 3]
cmp cl, 2
ja 0x18009d7fc
cmp cl, 1
jne 0x18009dd07
test rax, rax
je 0x18009dd07
cmp eax, 1
jne 0x18009dcc4
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 0x18009dcf9
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.18004d450
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.1800839a0
lea rcx, [rsp + 0x460]
call fcn.180077d60
jmp 0x18009b450
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
je 0x18009c9aa
cmp qword [r12 + 0x10], 0x11
jae 0x18009c994
jmp 0x18009c998
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.180158470
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.180158470
lea rsi, [rsp + 0x870]
mov rcx, rsi
mov rdx, r13
mov r8d, ebx
mov r9, rdi
call fcn.18003ea90
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.1800a30a0
cmp al, 0xc
jne 0x18009dc5d
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 0x1800a1433
lea rcx, [rsp + 0x270]
mov rdx, r12
call fcn.18003f2b0
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 0x1800a1433
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 0x18009dbd1
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009de3b
mov rcx, qword [rsp + 0x90]
call rsi
cmp byte [rsp + 0x30], 0
jne 0x18009dbfc
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009de58
mov rcx, qword [rsp + 0x70]
call rsi
mov r12, qword [rsp + 0x40]
jmp 0x18009cfb3
xor edx, edx
jmp 0x18009c562
call fcn.18016c730
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009cefb
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009cefb
call fcn.18016c730
test al, al
jne 0x18009cf2a
mov byte [r12 + 0x18], 1
jmp 0x18009cf2a
call fcn.18016c730
xor al, 1
jmp 0x18009d01a
mov byte [rsp + 0x58], al
mov rcx, qword [rsp + 0x870]
mov edx, dword [rsp + 0x87c]
call fcn.1800399b0
movdqu xmm0, xmmword [rsp + 0x870]
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, rdi
call fcn.180039c10
mov sil, 3
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x50]
jmp 0x18009dd90
call fcn.18016c730
test al, al
jne 0x18009d09e
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x18], 1
jmp 0x18009d09e
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x18009dd07
cmp qword [rsp + 0x190], 0
je 0x18009dd07
mov rcx, qword [0x1801fa958]
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 0x18009dd31
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 0x18009dd6b
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 0x18009dd83
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 0x18009ddd0
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009de0c
mov rcx, qword [rsp + 0x90]
call rdx
cmp byte [rsp + 0x30], 0
jne 0x18009ddf7
mov rax, qword [0x1801fa990]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18009de2a
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x40]
jmp 0x18009cf73
call fcn.18016c730
mov rdx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009ddd0
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18009ddd0
call fcn.18016c730
test al, al
jne 0x18009ddf7
mov byte [r12 + 0x18], 1
jmp 0x18009ddf7
call fcn.18016c730
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18009dbd1
mov byte [rbx + 0x18], 1
jmp 0x18009dbd1
call fcn.18016c730
test al, al
jne 0x18009dbfc
mov byte [r12 + 0x18], 1
jmp 0x18009dbfc
pxor xmm6, xmm6
movdqa xmm7, xmmword [str._r_nSM_r_n_r_n]
movdqa xmm8, xmmword [str.PRI__HTTP_2.0_r_nnnnnnnnnnnnnnnnn]
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 0x18009df71
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 0x1800a0d65
cmp eax, 0x10
je 0x1800a0d50
cmp byte [r12 + 0x1e0], 0
mov qword [rsp + 0x70], rax
jne 0x18009f395
jmp 0x18009dfd1
mov r8, qword [rsp + 0x690]
lea rcx, [rsp + 0x698]
call qword [rax + 0x10]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x480]
call fcn.1800a16d0
mov r8, qword [rsp + 0x30]
cmp byte [r12 + 0x1e0], 0
jne 0x18009f395
mov qword [rsp + 0x30], r8
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0xf8]
lea r13, [rsp + 0x490]
jmp 0x18009e014
mov rcx, r14
call fcn.18006e810
lea rcx, [rsp + 0x480]
call fcn.1800a16d0
cmp byte [r12 + 0x1e0], 0
jne 0x18009f390
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x18009e040
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
jne 0x18009e06a
jmp 0x18009f1e6
cmp qword [r12 + 0x90], 2
jne 0x18009e2b7
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
je 0x18009f1ef
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 0x18009dfb0
lea rcx, [rsp + 0x480]
mov rdx, rbx
call fcn.18004d670
test rax, rax
jne 0x18009f1a0
test rdx, rdx
je 0x18009e1ee
mov qword [rsp + 0x130], rdx
cmp dword [r12 + 0x70], 1
jne 0x18009e0e8
mov qword [r12 + 0x70], 2
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.1800ad000
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009e1c0
test rax, rax
je 0x18009e1c0
mov rax, qword [rsp + 0x278]
test rax, rax
je 0x18009e13e
mov rdx, qword [rsp + 0x280]
mov r8, qword [rsp + 0x288]
lea rcx, [rsp + 0x290]
call qword [rax + 0x10]
jmp 0x18009e1c0
mov rax, qword [rsp + 0x280]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x18009e1c0
test rcx, rcx
je 0x18009e1c0
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 0x18009e18f
cmp qword [rdi + 0x10], 0x11
jb 0x18009e17d
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fa958]
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 0x18009dff0
cmp eax, 3
je 0x18009dff0
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009dff0
mov rcx, r14
mov rdx, r12
mov r8, rbx
call fcn.1800ad000
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x18009dfb0
cmp eax, 1
mov r8, qword [rsp + 0x30]
jne 0x1800a0950
cmp qword [rsp + 0x138], 0
je 0x18009e5d6
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.18004d870
cmp byte [rsp + 0x290], 2
jne 0x18009e6ac
cmp byte [r12 + 0x1d0], 3
je 0x18009e286
mov rcx, qword [rsp + 0x38]
call fcn.1800a16d0
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 0x18009dfbd
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], 2
je 0x18009f363
mov rdx, rbx
call fcn.1800a85d0
test al, al
je 0x18009f363
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 0x18009e470
mov qword [rsp + 0x130], 2
mov qword [rsp + 0x150], 0
mov rcx, rdi
mov rdx, qword [rsp + 0xd8]
lea r8, [rsp + 0x870]
call fcn.180051270
mov rdx, qword [rsp + 0x130]
cmp rdx, 2
je 0x18009e450
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18009e3ce
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 0x18009e450
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18009e40e
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 0x18009e450
test rax, rax
je 0x18009e450
mov rcx, qword [rsp + 0x138]
lock dec qword [rcx]
jne 0x18009e450
mov rdx, qword [rsp + 0x140]
call fcn.180034950
nop word [rax + rax]
mov rbx, qword [rsp + 0x270]
cmp rbx, 4
lea r8, [rsp + 0x2b0]
jne 0x18009e481
jmp 0x18009e8d0
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 0x18009e718
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 0x18009e865
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x60]
call fcn.1800ab3a0
mov rax, qword [rsp + 0x270]
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x18009e899
mov rcx, qword [rsp + 0x278]
test rax, rax
lea r8, [rsp + 0x2b0]
jne 0x18009e8b3
test rcx, rcx
jne 0x18009e310
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
je 0x18009e994
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e9ba
mov rdi, qword [rsp + 0x140]
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009e607
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009e65c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1594
mov qword [0x1801fa958], rax
mov r8d, 8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1594
mov qword [rax], rdi
mov qword [rsi], rax
lea rax, [0x1801bda18]
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x490]
movzx edx, byte [rsp + 0x4a0]
mov r8, rsi
call fcn.18004db10
lea rdi, [rsp + 0x270]
jmp 0x18009dfb0
mov rax, qword [rsp + 0x270]
test rax, rax
lea rcx, [rsp + 0x2b0]
je 0x1800a1433
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 0x18009df90
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009df90
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 0x18009e7e9
test r9b, r9b
jne 0x18009e803
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 0x18009e904
test cl, cl
je 0x18009f057
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x18009f07f
cmp rdx, 0xfffffffffffffffe
jne 0x18009f083
mov al, 1
xor r13d, r13d
jmp 0x18009f088
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
lea r14, [rsp + 0x130]
je 0x18009e93b
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009e961
mov ebx, 5
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009eafa
call fcn.18004df90
mov rsi, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009ea3d
movzx ebx, byte [rsp + 0x278]
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
je 0x18009e9e8
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x18009ea0e
mov qword [rdi + 0x70], 3
mov rcx, rdi
call fcn.1800ace30
mov rcx, rdi
mov rdx, r13
call fcn.1800acf10
xor edx, edx
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
jmp 0x18009f0e3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x900
jmp 0x18009ea3d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 2
jmp 0x18009ea3d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
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 0x18009eabb
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
xor edx, edx
jmp 0x18009ea88
inc rdx
cmp rax, rdx
je 0x18009eaa3
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x18009ea80
cmp r8d, 0xa
je 0x18009ea80
cmp rax, rdx
jae 0x18009eaa6
jmp 0x1800a1433
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.180022740
mov rsi, qword [rsp + 0x130]
cmp byte [rsi + 0x30], 0
je 0x18009eb56
cmp qword [r12 + 0x160], 0
jne 0x18009eb56
test bl, bl
jne 0x18009eb56
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
mov rcx, r14
call fcn.18006e810
mov ebx, 4
mov r8, qword [rsp + 0x30]
cmp rbx, 3
mov qword [rsp + 0x80], r13
jne 0x18009ec2d
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.1800a1810
mov r8, rsi
test rax, rax
mov rbp, qword [rsp + 0xc0]
je 0x18009ee0a
jmp 0x1800a09b7
mov qword [rsp + 0x270], rsi
cmp dword [r12 + 0x90], 2
jne 0x18009ec11
cmp qword [r12 + 0x160], 0x18
mov r8, qword [rsp + 0x30]
jb 0x18009ec16
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 0x18009ec16
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009ebd6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x500
lea rcx, [rsp + 0x270]
call fcn.18006e810
mov r8, qword [rsp + 0x30]
mov ebx, 3
cmp rbx, 3
mov qword [rsp + 0x80], r13
je 0x18009eb11
cmp rbx, 4
je 0x18009edeb
cmp rbx, 5
je 0x1800a0a75
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 0x18009ee36
mov r8d, ebp
and r8b, 1
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.18004c190
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 0x18009ed7c
mov rcx, qword [rsp + 0x38]
call fcn.1800a16d0
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 0x18009ee5b
jmp 0x18009ef80
cmp dword [r12 + 0x90], 5
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jne 0x18009dfc2
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
jmp 0x18009dfc2
movdqa xmmword [rsp + 0x870], xmm6
xor ebx, ebx
lea rdi, [rsp + 0x270]
test bpl, 2
mov rbp, qword [rsp + 0xc0]
je 0x18009ef80
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009ee84
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a15a5
mov qword [0x1801fa958], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a15a5
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movdqu xmmword [rax + 0x30], xmm6
lock inc qword [rax]
jle 0x1800a1433
cmp qword [r12], 0
je 0x18009ef0f
mov r14, qword [r12 + 8]
test r14, r14
je 0x18009ef0f
mov rax, qword [r14 + 0x30]
mov rcx, rax
test cl, 4
jne 0x18009ef01
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [r14 + 0x30], rdx
jne 0x18009eed4
and ecx, 5
cmp ecx, 1
jne 0x18009ef01
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x18009ef0f
mov rcx, r14
call fcn.18004ea90
mov qword [r12], 1
mov qword [r12 + 8], rsi
mov edx, 1
lea rcx, [rsp + 0x4e0]
mov r8, rsi
call fcn.1800a8420
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x18009ef80
test rax, rax
je 0x18009ef80
mov rsi, rdx
test rdx, rdx
je 0x18009ef80
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x18009ef50
and eax, 0xa
cmp eax, 8
jne 0x18009ef72
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x18009ef80
mov rcx, rsi
call fcn.1800a15f0
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.180158470
mov qword [rsp + 0x308], rbx
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.1800a1810
test rax, rax
mov r8, r15
je 0x18009dfc2
jmp 0x1800a09b7
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x18009f0b4
cmp rdx, 0xfffffffffffffffe
jne 0x18009f0b8
mov al, 1
xor r8d, r8d
jmp 0x18009f0bd
mov al, 2
jmp 0x18009f088
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 0x18009f0e3
mov al, 2
jmp 0x18009f0bd
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 0x18009ec2d
jmp 0x18009eb11
cmp byte [r12 + 0x1d0], 3
je 0x18009f1b5
mov rcx, qword [rsp + 0x38]
call fcn.1800a16d0
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 0x18009f390
cmp eax, 4
je 0x18009f390
test rax, rax
mov r8, qword [rsp + 0x30]
jne 0x18009f26d
cmp qword [r12 + 0x90], 2
jne 0x18009f26d
cmp qword [r12 + 0x160], 0
je 0x18009f2ec
movzx eax, byte [0x1801fa9d0]
mov rax, qword [0x1801fa958]
test rax, rax
jne 0x18009f23c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1583
mov qword [0x1801fa958], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 3
jmp 0x18009f344
cmp byte [r12 + 0xc8], 0
jne 0x18009f395
cmp qword [r12 + 0x160], 0
jne 0x18009f395
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ab3a0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009f390
mov rcx, qword [rsp + 0x278]
test rax, rax
jne 0x18009f31e
test rcx, rcx
mov r8, qword [rsp + 0x30]
jne 0x18009f395
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
call fcn.18004deb0
mov r8, qword [rsp + 0x30]
mov r13, rax
jmp 0x18009f349
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.1800ab3a0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x18009f390
mov rcx, qword [rsp + 0x278]
test rax, rax
je 0x18009f353
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
call fcn.18004df90
mov r13, rax
mov r8, qword [rsp + 0x30]
test r13, r13
je 0x18009f395
jmp 0x1800a0c08
test rcx, rcx
je 0x1800a099b
call fcn.18004df20
jmp 0x18009f341
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 0x18009f3e0
mov r13, qword [rsp + 0x60]
mov rcx, r12
mov rdx, r13
call fcn.1800ae730
mov rcx, rax
call fcn.1800af540
test rax, rax
jne 0x18009df40
mov r13, rdx
test rdx, rdx
je 0x18009df40
jmp 0x1800a0c08
mov r13, qword [rsp + 0x60]
jmp 0x18009f40a
mov rcx, rsi
call fcn.180077d60
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
jne 0x18009f3aa
mov rax, qword [r12 + 0x1d8]
cmp qword [rax], 0
je 0x18009f490
cmp byte [r12 + 0x178], 0
jne 0x18009f57d
cmp byte [r12 + 0x150], 0
je 0x18009f4f4
mov r8, qword [r12 + 0x140]
cmp r8, 0xf
ja 0x18009fb92
test r8, r8
je 0x18009f505
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 0x18009f50b
add r8, rax
mov rcx, r8
jmp 0x18009f509
cmp qword [r12 + 0x70], 4
je 0x18009f418
cmp qword [r12 + 0x90], 2
jne 0x18009f418
mov r8, qword [r12 + 0x140]
test r8, r8
je 0x18009f761
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 0x18009f767
add r8, rax
mov rcx, r8
jmp 0x18009f765
mov r8, qword [r12 + 0x140]
test r8, r8
jne 0x18009f451
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.1800ae5f0
add rax, rsi
cmp rax, qword [r12 + 0x148]
jae 0x18009fb92
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 0x18009fad2
cmp rax, 3
ja 0x18009f3f0
cmp rax, 2
je 0x18009f3f0
mov rcx, rdi
mov rdx, r14
mov r8, r13
call fcn.18006e120
cmp dword [rsp + 0x270], 2
je 0x18009f3a5
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 0x18009fafc
mov rax, qword [rsp + 0x878]
mov rdi, qword [rsp + 0x880]
test rax, rax
je 0x1800a0b47
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 0x18009f6b0
cmp qword [r14 + 0x10], 0
je 0x18009f6bf
mov rdi, qword [rsp + 0x7a0]
test rdi, rdi
jne 0x18009fb1e
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 0x18009f40a
jmp 0x18009f3aa
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x18009f664
mov r13, qword [rsp + 0x7a0]
test r13, r13
je 0x18009fbbf
mov rdi, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x18009f6f4
cmp rcx, 1
jne 0x1800a1433
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
je 0x18009fdd2
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp r13, rcx
jae 0x1800a000c
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.1800afb20
mov eax, 5
mov rcx, qword [rsp + 0x48]
jmp 0x1800a0821
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.1800ae5f0
test rax, rax
jne 0x18009f418
mov rax, qword [rsp + 0x50]
cmp qword [rax], 2
jne 0x18009f418
mov rdx, qword [r12 + 0x198]
mov r8, qword [r13]
mov rcx, rdi
call fcn.1800a2040
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x1800a09bf
cmp esi, 4
je 0x1800a09ca
cmp esi, 2
lea rbx, [rsp + 0x130]
je 0x1800a1433
mov r8d, pe_nt_image_headers64
mov rcx, rbx
mov rdx, rdi
call fcn.180158470
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.1800a85d0
test al, al
je 0x1800a0a1f
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 0x18009f99d
mov rcx, r15
call fcn.180082020
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.180158470
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 0x1800a0a41
cmp rsi, 4
je 0x1800a0a68
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.180158470
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 0x1800a0160
mov rax, qword [rsp + 0x140]
test rax, rax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
je 0x1800a018b
mov ecx, 1
mov rdx, rax
jmp 0x1800a0588
cmp rax, 3
ja 0x18009f3a5
cmp rax, 2
je 0x18009f3a5
mov rcx, r12
call fcn.1800af630
test rax, rax
je 0x1800a0897
jmp 0x1800a0f3a
mov rcx, r12
call fcn.1800af630
mov dil, 1
test rax, rax
jne 0x1800a0fe5
test rbx, rbx
je 0x1800a083e
jmp 0x1800a0871
mov r14, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x18009fb42
cmp rcx, 1
jne 0x1800a1433
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
lea r8, [rsp + 0x2b0]
mov r13, qword [rsp + 0x48]
je 0x18009fc04
mov rax, qword [r13]
mov rcx, rax
sub rcx, rdi
jae 0x18009fcf3
mov qword [r13], 0
mov ecx, 1
lea rdx, [rsp + 0x790]
jmp 0x18009fd01
mov rcx, r12
mov rdx, r13
call fcn.1800ae730
mov rcx, rax
call fcn.1800af540
test rax, rax
jne 0x18009f3a5
mov r13, rdx
test rdx, rdx
je 0x1800a0897
jmp 0x1800a0c08
mov rcx, r12
call fcn.1800af630
test rax, rax
jne 0x1800a12e3
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 0x1800a083e
jmp 0x1800a0871
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, [0x1800280c0]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 2
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 1
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x400]
lea rdx, [0x1801abb38]
lea r8, [rsp + 0x130]
call fcn.180023960
test al, al
jne 0x1800a1433
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 0x18009fd01
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, [0x1801be27a]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], 2
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800af7a0
cmp qword [r12 + 0x90], 0
je 0x18009fdc2
cmp qword [r12 + 0x98], 0
jne 0x18009fdc2
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 0x1800a083e
jmp 0x1800a0871
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, [0x1800280c0]
mov qword [rsp + 0x5a8], rax
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 2
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], 1
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x430]
lea rdx, [0x1801abb38]
lea r8, [rsp + 0x270]
call fcn.180023960
test al, al
jne 0x1800a1433
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, [0x1801be26e]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 7
cmp byte [r12 + 0x150], 0
je 0x1800a01bf
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 0x18009ff8f
mov rcx, qword [rsp + 0x90]
call fcn.1800afa80
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 0x1800a0150
jne 0x1800a0047
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.1800afb20
jmp 0x1800a080a
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 0x1800a04e7
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 0x1800a00f2
mov rcx, qword [rsp + 0x90]
call fcn.1800afa80
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 0x1800a080a
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 0x1800a04c3
mov rsi, qword [r12 + 0x1d8]
cmp qword [rsi], 0
je 0x1800a01a2
lea rcx, [rsi + 8]
call fcn.180077d60
mov qword [rsi], 0
mov r9d, 2
mov sil, 1
mov rax, qword [rsp + 0x268]
jmp 0x1800a060b
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 0x1800a1433
mov r10, r8
add r10, 7
jb 0x1800a1433
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800a027b
mov r11, qword [r12 + 0x110]
mov r14, qword [r12 + 0x118]
sub r11, r14
cmp r11, r10
jae 0x1800a027b
sub r14, rdx
jb 0x1800a1433
mov qword [r12 + 0x118], 0
je 0x1800a026f
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, r14
call fcn.180158470
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 0x1800a02c5
jmp 0x1800a1433
mov rdx, r14
mov r8, qword [rsp + 0x170]
sub r8, rdx
jb 0x1800a1433
add qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], r8
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
jb 0x1800a1433
test r8, r8
je 0x1800a02f0
cmp cl, al
jne 0x1800a0310
mov r12, qword [rsp + 0x138]
mov r14, r13
test r14, r14
jne 0x1800a033e
jmp 0x1800a04a0
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
test r14, r14
jne 0x1800a033e
jmp 0x1800a04a0
jb 0x1800a1433
cmp cl, 0x12
ja 0x1800a1433
movzx r14d, cl
movzx r12d, al
sub r14, r12
lea rax, [rsp + 0x150]
add r12, rax
test r14, r14
je 0x1800a04a0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x110]
mov r13, qword [rcx + 0x118]
sub rax, r13
cmp rax, r14
jb 0x1800a047f
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
add rcx, r13
mov rdx, r12
mov rdi, rax
mov r8, r14
call fcn.180158470
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 0x1800a1433
je 0x1800a0290
mov rdx, r14
sub rdx, r9
jbe 0x1800a03d0
cmp cl, al
jne 0x1800a03e1
mov r10, r9
sub r13, r10
jae 0x1800a03fb
jmp 0x1800a1433
cmp cl, al
jne 0x1800a0421
mov rdx, r14
sub r13, rdx
jae 0x1800a043b
jmp 0x1800a1433
mov r10, r9
sub r10, r8
jbe 0x1800a0450
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, r10
jb 0x1800a1433
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], r10
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x1800a02a4
jmp 0x1800a1433
mov rdx, r14
sub rdx, r8
jbe 0x1800a0470
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, rdx
jb 0x1800a1433
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], rdx
jmp 0x1800a02b4
add al, r9b
mov byte [rsp + 0x162], al
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x1800a02a4
jmp 0x1800a1433
add al, r14b
mov byte [rsp + 0x162], al
jmp 0x1800a02b4
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r14
call fcn.180167f60
mov rax, qword [rsp + 0x40]
mov r13, qword [rax + 0x118]
jmp 0x1800a035d
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x148]
mov r8, r13
call qword [rax + 0x10]
jmp 0x1800a0805
cmp qword [rsp + 0x130], 0
je 0x1800a055a
mov ecx, 1
mov rax, qword [rsp + 0x140]
mov rdx, rax
jmp 0x1800a0588
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800a0538
mov rax, qword [r12 + 0x110]
mov rbp, qword [r12 + 0x118]
sub rax, rbp
cmp rax, r14
jae 0x1800a0538
sub rbp, rdx
jb 0x1800a1433
mov qword [r12 + 0x118], 0
jne 0x1800a0700
xor ebp, ebp
jmp 0x1800a0721
mov r12, qword [rsp + 0x688]
test r14, r14
je 0x1800a07e4
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a0760
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 0x1800a05e2
lea rcx, [rsi + 8]
mov r15, rax
call fcn.180077d60
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.1800ab520
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x1800a06d6
mov rdx, qword [rsp + 0x278]
movzx ecx, byte [rsp + 0x280]
test rax, rax
je 0x1800a0674
test rdx, rdx
jne 0x1800a0674
xor eax, eax
test cl, cl
sete al
xor rax, 5
mov rdx, qword [rsp + 0xe8]
movzx ecx, byte [rsp + 0xd0]
jmp 0x1800a06a3
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 0x1800a0897
mov rcx, r14
call fcn.180077d60
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f40a
jmp 0x18009f3aa
mov rdi, rcx
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, rbp
call fcn.180158470
mov rcx, rdi
mov qword [r12 + 0x118], rbp
mov qword [r12 + 0x120], 0
mov r12, qword [rsp + 0x688]
jmp 0x1800a0760
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r8, r14
call fcn.180167f60
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800a077c
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x110]
sub rax, rbp
cmp rax, r14
jb 0x1800a0737
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x108]
add rcx, rbp
mov rdx, r12
mov r8, r14
call fcn.180158470
add rbp, r14
mov qword [rdi + 0x118], rbp
mov rcx, qword [rsp + 0xf0]
sub rcx, r14
jb 0x1800a1433
sub r13, r14
jb 0x1800a1433
add r12, r14
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
test r14, r14
jne 0x1800a0760
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 0x1800a0871
cmp qword [rsp + 0x870], 0
je 0x1800a0871
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a08b0
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
test dil, dil
je 0x1800a092f
cmp qword [r15], 0
lea rdi, [rsp + 0x270]
je 0x1800a0890
mov rcx, rsi
call fcn.180077d60
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f40a
jmp 0x18009f3aa
mov r14, qword [rsp + 0x880]
mov r12, qword [r14 + 0x58]
test r12, r12
je 0x1800a08ef
mov rbx, qword [r14 + 0x60]
mov rcx, r12
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1800a08ef
cmp qword [rbx + 0x10], 0x11
jb 0x1800a08dd
mov r12, qword [r12 - 8]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [r14], 2
mov r12, qword [rsp + 0x40]
je 0x1800a0914
cmp qword [r14 + 0x18], 0
je 0x1800a0914
mov r8, qword [r14 + 0x10]
mov rcx, qword [0x1801fa958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
test dil, dil
jne 0x1800a087a
lea rdi, [rsp + 0x270]
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18009f40a
jmp 0x18009f3aa
cmp byte [r12 + 0x1d0], 3
je 0x1800a096a
mov rcx, qword [rsp + 0x38]
call fcn.1800a16d0
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 0x18009f395
cmp byte [r12 + 0xd2], 0
je 0x1800a0a8a
call fcn.18004deb0
mov r13, rax
jmp 0x1800a0a8d
mov r13, rax
jmp 0x18009f349
mov byte [r12 + 0x1a8], 1
jmp 0x1800a0a41
mov rax, qword [r12 + 0x1a0]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a0a68
je 0x1800a09f2
cmp rcx, 3
je 0x1800a0a68
jmp 0x1800a1433
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a09f2
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 0x1800a0a68
call qword [rdx + 8]
jmp 0x1800a0a68
lea rcx, [rsp + 0x5a0]
call fcn.180082020
mov rcx, rbx
call fcn.1800782f0
lea rcx, [rsp + 0x210]
call fcn.180077d60
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 0x18009f3aa
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jmp 0x18009f395
xor r13d, r13d
mov r8, qword [rsp + 0x30]
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x18009f349
cmp edi, 6
je 0x1800a0d5e
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.180050130
mov rsi, rax
test rax, rax
je 0x1800a0d28
lea eax, [rdi - 2]
cmp eax, 2
jb 0x1800a0ed0
test edi, edi
je 0x1800a0ed0
cmp edi, 1
jne 0x1800a0e6c
lea rcx, [rsp + 0x150]
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x1800a0ed0
movzx eax, byte [0x1801fa9d0]
mov rcx, qword [0x1801fa958]
test rcx, rcx
jne 0x1800a0b73
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1583
mov rcx, rax
mov qword [0x1801fa958], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 1
movzx eax, byte [0x1801fa9d0]
mov rcx, qword [0x1801fa958]
test rcx, rcx
jne 0x1800a0bca
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1594
mov rcx, rax
mov qword [0x1801fa958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1594
mov qword [rax], rdi
mov qword [r13], rax
lea rax, [0x1801bd6d0]
mov qword [r13 + 8], rax
cmp qword [r15], 0
je 0x1800a0c01
mov rcx, rsi
call fcn.180077d60
mov qword [r15], 0
movzx ebx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp bl, 3
mov rdi, qword [rsp + 0x50]
je 0x1800a0cf3
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 [0x1801fa9d0]
mov rcx, qword [0x1801fa958]
test rcx, rcx
jne 0x1800a0c96
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800a1583
mov rcx, rax
mov qword [0x1801fa958], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800a1583
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
lea rdx, [0x1801be27c]
mov r8d, 0x10
mov rcx, rax
call fcn.180082210
mov rcx, qword [rsp + 0x280]
mov edx, ebx
mov r8, rsi
call fcn.18004db10
lea rcx, [rsp + 0x270]
call fcn.1800a16d0
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x270], 3
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.1800a1810
mov rsi, rax
test rax, rax
jne 0x1800a0ed9
jmp 0x1800a13da
cmp edi, 2
je 0x1800a0e04
cmp edi, 1
je 0x1800a0e04
test rdi, rdi
jne 0x1800a0e15
lea rax, [rsp + 0x138]
jmp 0x1800a0e0c
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
mov al, 1
jmp 0x1800a1449
cmp byte [r12 + 0x1e0], 0
jne 0x1800a0d78
cmp dword [r12 + 0x70], 4
jne 0x1800a0d5e
mov rsi, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x1800a0f0a
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
je 0x1800a0f42
test rsi, rsi
je 0x1800a0c08
mov rax, qword [rsi + 0x30]
nop word [rax + rax]
mov rcx, rax
test cl, 4
jne 0x1800a0ded
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [rsi + 0x30], rdx
jne 0x1800a0dc0
and ecx, 5
cmp ecx, 1
jne 0x1800a0ded
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x1800a0c08
mov rcx, rsi
call fcn.1800a15f0
jmp 0x1800a0c08
lea rax, [rsp + 0x134]
cmp dword [rax], 0
je 0x1800a0b02
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.18004d450
mov rsi, rax
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a0eeb
jmp 0x1800a13ee
mov rax, qword [rsp + 0x138]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1800a0ed0
test rcx, rcx
je 0x1800a0ed0
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 0x1800a0ebe
cmp qword [r14 + 0x10], 0x11
jb 0x1800a0eac
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x1800a13da
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jae 0x1800a13ee
mov qword [rbp], 4
cmp eax, 4
je 0x1800a1433
test rsi, rsi
jne 0x1800a1403
jmp 0x1800a143f
mov rcx, qword [r12 + 0xf0]
mov rax, qword [r12 + 0xf8]
mov rdx, r13
call qword [rax + 0x30]
test rax, rax
jne 0x1800a0d5e
test rdx, rdx
je 0x1800a130e
mov rcx, rdx
call fcn.18004e0d0
mov r13, rax
jmp 0x1800a0c08
mov rdi, qword [rbp]
mov qword [rbp], 3
cmp rdi, 2
jae 0x1800a15d8
mov qword [rsp + 0xa38], rdi
lea rcx, [rsp + 0xa40]
mov r8d, 0x1e0
mov rbx, qword [rsp + 0x120]
mov rdx, rbx
call fcn.180158470
mov qword [rsp + 0x270], rdi
lea rcx, [rsp + 0x278]
mov r8d, 0x178
mov rdx, rbx
call fcn.180158470
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x130]
mov r8d, 0xa8
call fcn.180158470
mov r14, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x1c8]
test dil, 1
jne 0x1800a10be
lea r15, [0x1801c1358]
jmp 0x1800a112c
mov r13, rax
cmp qword [rsp + 0x870], 0
je 0x1800a0bf3
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800a1330
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
jmp 0x1800a0bf3
mov rax, qword [r12 + 0xb8]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800a1074
je 0x1800a104c
cmp rcx, 3
je 0x1800a1074
jmp 0x1800a1433
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800a104c
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 0x1800a1074
call qword [rdx + 8]
mov rbx, qword [r12 + 0x88]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x1800a13cc
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 0x1800a13a4
mov rcx, rdi
call qword [rsi + 0x18]
jmp 0x1800a13cc
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.180022180
mov rbx, qword [rsp + 0x490]
sub rbx, rdi
jb 0x1800a1433
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.1800a35f0
lea rcx, [rsp + 0x270]
call fcn.1800a3740
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 0x1800a11cd
lea rcx, [rsp + 0xbe8]
call fcn.1800a16d0
lea rbx, [rsp + 0x498]
mov rdi, qword [rsp + 0xc10]
cmp qword [rdi], 0
je 0x1800a11ec
lea rcx, [rdi + 8]
call fcn.180077d60
mov rcx, qword [0x1801fa958]
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 0x1800a1250
lea rcx, [rsp + 0x4b8]
call fcn.180082020
lea rcx, [rsp + 0x4d0]
call fcn.18008e980
movzx eax, byte [0x1801fa9d0]
mov ecx, 0x18
mov edx, 8
call fcn.18001eab0
test rax, rax
je 0x1800a15b6
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, [0x1801be5f8]
mov qword [rsp + 0x278], rax
lea rdx, [rsp + 0x270]
mov rcx, rsi
call fcn.18004eb70
jmp 0x1800a13da
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 0x1800a0bf3
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
jne 0x1800a0c08
jmp 0x1800a13da
mov rbx, qword [rsp + 0x880]
mov r14, qword [rbx + 0x58]
test r14, r14
je 0x1800a136e
mov rdi, qword [rbx + 0x60]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800a136e
cmp qword [rdi + 0x10], 0x11
jb 0x1800a135c
mov r14, qword [r14 - 8]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rbx], 2
je 0x1800a138d
cmp qword [rbx + 0x18], 0
je 0x1800a138d
mov r8, qword [rbx + 0x10]
mov rcx, qword [0x1801fa958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1801fa958]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1800a0bf3
mov rax, qword [r14]
test rax, rax
je 0x1800a13b3
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 0x1800a0d5e
mov al, 1
xchg byte [rbx + 0x41], al
test al, al
jne 0x1800a13da
xor eax, eax
xchg byte [rbx + 0x41], al
xor esi, esi
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x1800a0eeb
mov rcx, rbp
call fcn.18009b060
mov qword [rbp], 4
test rsi, rsi
je 0x1800a143f
mov qword [rsp + 0xa38], rsi
lea rcx, [rsp + 0xa38]
call fcn.18006e810
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 3
jae 0x1800a1437
mov qword [rbp], 5
cmp eax, 5
jne 0x1800a1447
ud2
mov rcx, rbp
call fcn.18009b060
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.1800a3480
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 0x1800a1449
mov ecx, 8
mov edx, 0x38
call fcn.180166060
ud2
mov ecx, 8
mov edx, 8
call fcn.180166060
ud2
mov ecx, 8
mov edx, 0x70
call fcn.180166060
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180166060
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180166060
ud2
mov rcx, rsi
call fcn.1800a3580
ud2