Function at 0x18007f4b0
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 0x1800855a3
cmp eax, 4
je 0x1800855a3
cmp eax, 3
je 0x1800855a3
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 0x180081fe0
lea r14, [r12 + 0x90]
lea rbx, [r12 + 8]
lea rax, [r12 + 0xa0]
mov qword [rsp + 0xf8], rax
movdqa xmm6, xmmword [str.nnnnnnnnnnnnnnnn]
pcmpeqd xmm7, xmm7
movdqa xmm8, xmmword [0x18010db20]
xorps xmm9, xmm9
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x18010d6f0]
lea r15, [rsp + 0x108]
lea rsi, [rsp + 0x980]
nop dword [rax]
lea rcx, [rsp + 0x480]
mov rdx, r14
mov r8, r13
call fcn.180085f20
movzx edi, byte [rsp + 0x480]
cmp rdi, 5
jne 0x180084c19
mov rax, qword [r12]
mov qword [r12], 2
cmp rax, 2
je 0x18007f654
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.1800864d0
jmp 0x18007f5c0
mov rdx, qword [r12 + 0xb0]
mov r8, qword [r13]
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.1800861b0
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x18008554a
cmp esi, 4
je 0x180085198
cmp esi, 2
je 0x1800855a3
mov r8d, 0x100
lea rcx, [rsp + 0x680]
mov rdx, rdi
call fcn.1800f64f0
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 0x18007fc1f
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800855a3
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800855a3
add rax, 0xd0
mov rax, qword [rax]
test al, 4
jne 0x18007fc50
mov r8d, 0xe0
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x680]
call fcn.1800f64f0
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.180030070
cmp qword [rsp + 0x130], 0
jne 0x1800855a3
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.180030070
cmp qword [rsp + 0x130], 0
jne 0x1800855a3
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 [0x180122d40]
movups xmmword [rax - 0xb8], xmm0
movups xmm0, xmmword [0x180122d30]
movups xmmword [rax - 0xc8], xmm0
movups xmm0, xmmword [0x180122c78]
movups xmmword [rax - 0x98], xmm0
movups xmm0, xmmword [0x180122c68]
movups xmmword [rax - 0xa8], xmm0
movups xmm0, xmmword [0x180122d60]
movups xmmword [rax - 0x78], xmm0
movdqu xmm0, xmmword [0x180122d50]
movdqu xmmword [rax - 0x88], xmm0
mov rdx, rdi
xor ecx, ecx
jmp 0x18007f884
mov rcx, qword [rsp + 0x38]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x270
cmp rcx, 5
je 0x18007fa7a
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18007f860
lea rcx, [rsp + 0x5a0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x70], rax
call fcn.180036910
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 0x18007f906
movzx eax, byte [rax + 8]
cmp al, byte [r9 + 8]
je 0x18007f9b9
nop dword [rax]
inc r15
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x18007f910
movzx r13d, word [rbx + r12*4]
cmp r13, 0xffff
je 0x18007f860
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 0x18007f860
cmp ax, bp
jne 0x18007f900
cmp r10, r13
jbe 0x1800855a3
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 0x18007f900
lea rax, [r11 + rsi]
add rax, 0x40
test rcx, rcx
je 0x18007f8ee
mov r8, qword [rax + 0x10]
cmp r8, qword [r9 + 0x10]
jne 0x18007f900
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
call fcn.1800f6b80
mov r11, qword [rsp + 0x90]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
test eax, eax
jne 0x18007f900
cmp qword [r11 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x18007f9d7
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.180053250
lea rcx, [rsp + 0x130]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.1800bd6f0
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 0x18007fa44
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x188]
call qword [rax + 0x10]
cmp byte [rsp + 0x4a0], 2
je 0x18007f860
mov rax, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
mov r8, qword [rsp + 0x490]
lea rcx, [rsp + 0x498]
call qword [rax + 0x10]
jmp 0x18007f860
movups xmm12, xmmword [0x180122d80]
movaps xmmword [rsp + 0x140], xmm12
movups xmm13, xmmword [0x180122d70]
movaps xmmword [rsp + 0x130], xmm13
mov rax, qword [rsp + 0x5d8]
test rax, rax
je 0x18007fd22
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x30], rax
call fcn.180036910
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 0x18007fb56
movzx ecx, byte [rsp + 0x70]
cmp byte [rax + 8], cl
je 0x18007fc11
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 0x18007fb60
movzx eax, word [r13 + r15*4]
cmp rax, 0xffff
je 0x18007fc77
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 0x18007fc77
cmp cx, bp
jne 0x18007fb50
cmp r10, rax
jbe 0x1800855a3
test r9, r9
sete r8b
imul rbx, rax, 0x68
mov rcx, qword [rsi + rbx + 0x40]
test rcx, rcx
setne al
cmp al, r8b
je 0x18007fb50
lea rax, [rsi + rbx]
add rax, 0x40
test rcx, rcx
je 0x18007fb33
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x18007fb50
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x38]
call fcn.1800f6b80
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x90]
test eax, eax
jne 0x18007fb50
add rsi, rbx
add rsi, 0x18
mov rbx, qword [rsp + 0x50]
jmp 0x18007fc79
test rax, rax
lea rsi, [rsp + 0x980]
je 0x1800855a3
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1800855a3
add rax, 0x30
mov rax, qword [rax]
test al, 4
je 0x18007f70e
mov rcx, r15
call fcn.1800662f0
lea rcx, [rsp + 0x680]
call fcn.180024560
lea rcx, [rsp + 0x760]
call fcn.18005c130
jmp 0x18007f5c0
xor esi, esi
test r9, r9
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x180133370]
je 0x18007fca6
lea rcx, [rsp + 0x148]
mov r8, qword [rsp + 0x38]
call qword [r9 + 0x10]
test rsi, rsi
je 0x18007fd3e
cmp qword [rsi + 0x10], 8
jne 0x18007fcc9
mov rax, qword [rsi + 8]
movabs rcx, 0x7372656c69617274
cmp qword [rax], rcx
je 0x18007fd3e
movaps xmmword [rsp + 0x490], xmm12
movaps xmmword [rsp + 0x480], xmm13
mov rcx, r14
lea rdx, [rsp + 0x5a0]
lea r8, [rsp + 0x480]
call fcn.180037c60
cmp byte [rsp + 0x150], 2
je 0x18007fd3e
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x18007fd3e
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x180133370]
movups xmm0, xmmword [0x180133480]
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [0x180133470]
movdqa xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x400]
lea rdx, [rsp + 0x5a0]
mov r8, r14
call fcn.180037c60
cmp byte [rsp + 0x420], 2
je 0x180080578
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 0x18007fdf2
movzx r8d, byte [rcx + rdx]
inc rdx
cmp r8b, 9
je 0x18007fdd0
add r8b, 0xe0
cmp r8b, 0x5f
jb 0x18007fdd0
jmp 0x1800855a3
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 0x18007fe7c
mov rbx, qword [rsp + 0x50]
lea r14, [rsp + 0x130]
lea rdi, [rsp + 0x870]
lea r15, [0x180133370]
lea rcx, [rsp + 0x480]
call fcn.180040d50
test rax, rax
je 0x180080555
mov rcx, rax
call fcn.180036220
mov r8, rdx
mov qword [rsp + 0x20], r15
mov rcx, r14
mov rdx, rax
mov r9, rdi
call fcn.18002d1d0
movzx r9d, byte [rsp + 0x140]
cmp r9d, 3
je 0x18007fe7c
mov r11, qword [rsp + 0x5d8]
test r11, r11
je 0x18007fe60
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
cmp dword [rsp + 0x5a0], 2
mov qword [rsp + 0x90], r11
jne 0x18007ffb0
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.180020480
test r15d, r15d
lea rbx, [0x180133370]
je 0x1800800c3
mov eax, r15d
cmp r15d, 2
jne 0x1800800fc
movzx eax, r13b
mov qword [rsp + 0x98], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r14
jmp 0x180080105
xor r12d, r12d
cmp r9b, 2
setne r12b
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x1efac7090aef4a21
imul r12, rcx
cmp r9b, 2
jne 0x18007fff1
movzx eax, dl
xor rax, r12
imul rax, rcx
mov r10b, 2
mov r12, rax
jmp 0x180080218
lea rax, [rdx + rbp]
test r9b, r9b
je 0x18008047b
mov r10b, 1
test rbp, rbp
movabs r9, 0x100000001b3
je 0x1800804bc
mov r8, rbp
and r8, 7
je 0x1800804c3
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 0x180080030
cmp rbp, 8
jb 0x1800800b8
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 0x180080050
mov r12, r10
mov r10b, 1
jmp 0x180080218
test rbp, rbp
je 0x18008010a
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.180020480
inc rsi
cmp rbp, rsi
jne 0x1800800d0
jmp 0x18008010a
mov rcx, rdi
mov rdx, r13
mov r8, rbp
call fcn.180020480
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 0x180080266
inc rdi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, rbx
jae 0x180080270
movzx ebp, word [r15 + r13*4]
cmp rbp, 0xffff
je 0x18007fe60
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 0x18007fe60
cmp ax, r12w
jne 0x180080260
cmp r11, rbp
jbe 0x1800855a3
imul rsi, rbp, 0x68
lea rax, [r9 + rsi]
add rax, 0x40
cmp qword [r9 + rsi + 0x40], 0
je 0x180080328
cmp r10b, 2
je 0x180080260
test r10b, r10b
je 0x18008033d
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x180080260
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x58], r10d
call fcn.1800f6b80
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
test eax, eax
jne 0x180080260
jmp 0x1800803a3
cmp r10b, 2
jne 0x180080260
cmp byte [rax + 8], dl
jne 0x180080260
jmp 0x1800803a3
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x10], rcx
jne 0x180080260
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 0x1800803a3
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x180133370]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x180080360
cmp r9, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jb 0x180080260
cmp qword [r9 + rsi], 0
lea rdi, [rsp + 0x5a0]
je 0x1800803c1
add r9, rsi
mov rdx, qword [r9 + 8]
mov rcx, rdi
call fcn.180053250
lea r14, [rsp + 0x130]
mov rcx, r14
mov rdx, rdi
mov r8, r13
mov r9, rbp
call fcn.1800bd6f0
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, [0x180133370]
je 0x18008043d
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 0x18007fe7c
mov rax, qword [rsp + 0x790]
mov rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a0]
lea rcx, [rsp + 0x7a8]
call qword [rax + 0x10]
jmp 0x18007fe7c
mov rsi, rdx
test rbp, rbp
movabs r9, 0x100000001b3
lea r10, [0x180133370]
je 0x1800804d8
mov r8, rbp
mov rcx, rsi
and r8, 3
je 0x1800804e5
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r12
imul rdx, r9
inc rcx
mov r12, rdx
dec r8
jne 0x1800804a0
jmp 0x1800804e8
xor ebp, ebp
jmp 0x180080218
mov r10, r12
mov rcx, rdx
cmp rbp, 8
jae 0x180080050
jmp 0x1800800b8
xor ebp, ebp
xor r10d, r10d
mov rdx, rsi
jmp 0x180080218
mov rdx, r12
mov r12, rdx
cmp rbp, 4
jae 0x180080500
xor r10d, r10d
mov r12, rdx
mov rdx, rsi
jmp 0x180080218
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 0x180080500
mov rdx, rsi
xor r10d, r10d
jmp 0x180080218
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 0x1800805a0
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 0x1800805ea
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 0x18008061f
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 0x180080647
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 0x18008066f
mov rdx, qword [rsp + 0x2f8]
mov r8, qword [rsp + 0x300]
lea rcx, [rsp + 0x308]
call qword [rax + 0x10]
cmp qword [rsp + 0x460], 0
je 0x180080691
mov ecx, 1
mov rdx, qword [rsp + 0x470]
mov rax, rdx
test rcx, rcx
jne 0x1800806c4
jmp 0x1800806df
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 0x1800806df
cmp rax, rdx
jne 0x1800806df
test rdx, rdx
je 0x1800808ce
lea rcx, [rsp + 0x5a0]
call fcn.180036be0
movzx eax, byte [rsp + 0x658]
cmp qword [rsp + 0x460], 0
je 0x180080711
cmp qword [rsp + 0x470], 0
sete byte [rsp + 0xf0]
mov qword [rsp + 0x38], rax
cmp al, 7
je 0x18008073e
jmp 0x1800807d4
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 0x1800807d4
lea rcx, [rsp + 0x5a0]
call fcn.1800364a0
test rax, rax
je 0x1800807d4
test rdx, rdx
je 0x1800807d4
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.1800347a0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rsi
call fcn.180067a90
lea rcx, [rsp + 0x5a0]
call fcn.180024560
lea rsi, [rsp + 0x980]
jmp 0x180081b09
mov rax, qword [rsp + 0x670]
test rax, rax
lea rbx, [rsp + 0x5a0]
movabs r12, 0x7417890c7170aa2b
je 0x180080b1a
mov rcx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [rcx - 0x20]
xor r11d, r11d
movabs rsi, 0x32dbb868eac7bad6
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 0x18008086f
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, 0x32dbb868eac7bad6
xor r14, r15
or r14, rdi
mov edi, ebx
jne 0x180080830
jmp 0x18008089f
pcmpeqb xmm0, xmm7
pmovmskb edx, xmm0
test edx, edx
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
jne 0x180080b1a
add rsi, r11
add rsi, 0x10
add r11, 0x10
jmp 0x18008080f
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 0x1800808f4
bsr r9w, r9w
xor r9d, 0xf
jmp 0x1800808f9
movzx eax, byte [rsp + 0x658]
cmp rax, 7
ja 0x180081d7d
bt rdi, rax
mov edx, 0
jb 0x1800806e7
jmp 0x1800806d2
mov r9w, 0x10
mov r14, qword [rsp + 0xa8]
lea rbx, [rsp + 0x5a0]
lea r15, [0x180136570]
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 0x18008093f
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 0x180080b1a
mov rdi, qword [rdx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r12
movabs rcx, 0x32dbb868eac7bad6
xor rax, rcx
or rax, rdx
jne 0x180080af1
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 [0x180168b78]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x180080b1a
mov rsi, qword [rsp + 0x670]
test rsi, rsi
jne 0x1800809fb
movzx eax, byte [0x180168bb8]
mov ecx, 0x20
mov edx, 8
call fcn.180012e40
test rax, rax
je 0x180085737
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 [0x180168bb8]
mov ecx, 0x20
mov edx, 8
call fcn.180012e40
test rax, rax
je 0x180085737
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, [0x180133330]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xdc7b672ffa37d017
movabs r8, 0xd24e301340e86825
mov r9, rax
call fcn.180052360
test rax, rax
je 0x180080b1a
mov rsi, rax
mov r12, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xd24e301340e86825
xor rdx, rcx
movabs rcx, 0xdc7b672ffa37d017
xor rax, rcx
or rax, rdx
jne 0x180081b1b
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x270]
test rax, rax
je 0x180080b1a
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x288]
call qword [rax + 0x10]
jmp 0x180080b1a
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180080b1a
cmp qword [rdi + 0x10], 0x11
jb 0x180080b08
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180168b78]
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.1800f64f0
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 0x180080c3a
mov rax, qword [r12]
mov r8, qword [r12 + 8]
lea r9, [rax - 0x20]
xor r10d, r10d
movabs r11, 0xdc7b672ffa37d017
movabs r15, 0xd24e301340e86825
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 0x180080bee
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, 0xdc7b672ffa37d017
xor r14, rbx
or r14, rsi
mov esi, edi
jne 0x180080bb0
jmp 0x180080c0b
pcmpeqb xmm0, xmm7
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x180080d0d
add r11, r10
add r11, 0x10
add r10, 0x10
jmp 0x180080b91
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 0x180080c4b
bsr r8w, r8w
xor r8d, 0xf
jmp 0x180080c50
mov qword [rsp + 0x400], 0
jmp 0x180080e2c
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 0x180080c7f
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 0x180080d0d
mov rdi, qword [rcx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r15
movabs rcx, 0xdc7b672ffa37d017
xor rax, rcx
or rax, rdx
jne 0x180080ce4
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x410], xmm1
movdqa xmmword [rsp + 0x400], xmm0
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180080d19
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180080d0d
cmp qword [rdi + 0x10], 0x11
jb 0x180080cfb
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180168b78]
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 0x180080de3
mov rdi, qword [r12]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r15, [rdi + 0x10]
jmp 0x180080d67
mov rcx, qword [0x180168b78]
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 0x180080de3
test ax, ax
je 0x180080d80
lea r13d, [rax - 1]
and r13d, eax
jmp 0x180080da9
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffe00
add r15, 0x10
cmp ax, 0xffff
je 0x180080d80
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 0x180080d52
cmp qword [rbp + 0x10], 0x11
jb 0x180080d40
mov rsi, qword [rsi - 8]
jmp 0x180080d40
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x180080dfc
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call fcn.1800f6c80
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 [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x18008179e
mov dword [rsp + 0x30], 0
lea rdi, [rsp + 0x270]
lea r15, [rsp + 0x108]
movzx eax, byte [r12 + 0x18]
test al, al
jne 0x1800855a3
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 [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1800817ae
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
jne 0x1800855a3
lea rdx, [r12 + 0x80]
mov rcx, rdi
call fcn.180027000
movzx esi, byte [rsp + 0x270]
cmp sil, 3
mov qword [rsp + 0x3f0], rbx
jne 0x180080f8c
mov r13, qword [r12 + 0x120]
test r13b, 1
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jne 0x18008100f
cmp qword [rsp + 0x58], 0
mov rbx, qword [rsp + 0x50]
je 0x18008102e
mov rdx, qword [rsp + 0xe8]
mov ecx, dword [rdx + 8]
cmp qword [r12 + 0x1e0], rcx
jbe 0x1800855a3
mov rax, qword [r12 + 0x1d0]
test rax, rax
je 0x1800855a3
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x1800855a3
mov edx, dword [rdx + 0xc]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x1800855a3
cmp byte [rax + 0x124], 0
je 0x18008102e
mov byte [rsp + 0x58], 3
mov sil, 3
jmp 0x180081042
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 0x180081047
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 0x180081047
cmp byte [r12 + 0x78], 0
je 0x1800817d2
mov sil, 3
mov byte [rsp + 0x58], 1
mov r13, qword [rsp + 0x60]
cmp byte [rsp + 0x88], 0
jne 0x18008106b
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081d84
mov rcx, qword [rsp + 0x90]
mov rdi, r8
call r8
cmp byte [rsp + 0x30], 0
jne 0x18008109a
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081da9
mov rcx, qword [rsp + 0x70]
call rdi
mov rax, qword [rsp + 0x400]
test rax, rax
je 0x1800810c9
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
lea rcx, [rsp + 0x418]
call qword [rax + 0x10]
lea rcx, [rsp + 0x790]
call fcn.180024560
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 0x180081538
movzx eax, sil
cmp eax, 4
jne 0x180081558
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 [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081dc1
xor eax, eax
mov r9, qword [rsp + 0x48]
movzx ecx, byte [r9 + 0x18]
test cl, cl
mov r8, qword [rsp + 0x68]
jne 0x1800855a3
mov edx, r8d
cmp qword [r9 + 0x1e0], rdx
jbe 0x1800855a3
mov rcx, qword [r9 + 0x1d0]
test rcx, rcx
je 0x1800855a3
imul rdx, rdx, 0x130
cmp dword [rcx + rdx], 2
je 0x1800855a3
shr r8, 0x20
add rcx, rdx
cmp dword [rcx + 0x114], r8d
jne 0x1800855a3
mov rdi, rbx
movzx ebx, byte [rcx + 0x124]
test al, al
jne 0x18008120e
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081e19
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0xb0], 0
je 0x18008127b
test bl, bl
je 0x18008127b
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x130]
call fcn.180026700
mov rax, qword [rsp + 0xf8]
cmp qword [rax], 0
je 0x18008126e
mov rcx, rax
call fcn.180026800
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
lock dec qword [rcx]
jne 0x18008126e
call fcn.1800685e0
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.180026700
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.180085f20
movzx eax, byte [rsp + 0x480]
cmp eax, 5
je 0x1800815b8
cmp eax, 6
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0x980]
je 0x180085613
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.1800347a0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x870]
lea rdx, [rsp + 0x270]
call fcn.180067a90
lea rcx, [rsp + 0x148]
call fcn.180026800
mov rcx, qword [rsp + 0x148]
lock dec qword [rcx]
jne 0x1800814ba
call fcn.1800685e0
lea rcx, [rsp + 0x160]
call fcn.180026800
mov rcx, qword [rsp + 0x160]
lock dec qword [rcx]
jne 0x1800814da
call fcn.1800685e0
mov rcx, qword [rsp + 0x170]
lock dec qword [rcx]
jne 0x1800814ed
call fcn.180087660
lea rcx, [rsp + 0x178]
call fcn.18005c130
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 0x18007f5c0
mov al, 3
lea rsi, [rsp + 0x980]
mov r9d, dword [rsp + 0x42c]
movzx r10d, byte [rsp + 0x260]
jmp 0x180081a10
test sil, sil
je 0x180081685
cmp eax, 1
lea rsi, [rsp + 0x980]
jne 0x1800816a0
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 0x1800819cb
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.1800864d0
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 0x18007f5c0
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
xor eax, eax
lea rsi, [rsp + 0x980]
jmp 0x1800819cb
cmp qword [rsp + 0x48], 0
je 0x1800819b4
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x1800816d5
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180085726
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180085726
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 [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180081738
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180085726
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180085726
mov rcx, rax
mov qword [rax], rsi
lea rax, [0x18010efc8]
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 0x1800819cb
call fcn.18010a120
xor al, 1
mov dword [rsp + 0x30], eax
jmp 0x180080e5f
call fcn.18010a120
xor al, 1
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x70], rsi
movzx eax, byte [rbx + 0x18]
test al, al
je 0x180080ed1
jmp 0x1800855a3
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.1800265c0
cmp byte [rsp + 0x848], 5
jne 0x180081834
mov qword [rsp + 0x160], 1
mov r8d, 0xe0
lea rbp, [rsp + 0x870]
mov rcx, rbp
lea rdx, [rsp + 0x790]
call fcn.1800f64f0
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.18002ba80
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 0x180081b3f
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 0x180081e77
lea ecx, [rax - 3]
cmp cl, 2
ja 0x18008196c
cmp cl, 1
jne 0x180081e77
test rax, rax
je 0x180081e77
cmp eax, 1
jne 0x180081e34
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 0x180081e69
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.1800347a0
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 3
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.180067a90
lea rcx, [rsp + 0x460]
call fcn.18005c130
jmp 0x18007f5c0
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
je 0x180080b1a
cmp qword [r12 + 0x10], 0x11
jae 0x180080b04
jmp 0x180080b08
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.1800f64f0
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.1800f64f0
lea rsi, [rsp + 0x870]
mov rcx, rsi
mov rdx, r13
mov r8d, ebx
mov r9, rdi
call fcn.180025e80
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.180087210
cmp al, 0xc
jne 0x180081dcd
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 0x1800855a3
lea rcx, [rsp + 0x270]
mov rdx, r12
call fcn.1800266a0
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 0x1800855a3
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 0x180081d41
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081fab
mov rcx, qword [rsp + 0x90]
call rsi
cmp byte [rsp + 0x30], 0
jne 0x180081d6c
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081fc8
mov rcx, qword [rsp + 0x70]
call rsi
mov r12, qword [rsp + 0x40]
jmp 0x180081123
xor edx, edx
jmp 0x1800806d2
call fcn.18010a120
mov r8, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x18008106b
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x18008106b
call fcn.18010a120
test al, al
jne 0x18008109a
mov byte [r12 + 0x18], 1
jmp 0x18008109a
call fcn.18010a120
xor al, 1
jmp 0x18008118a
mov byte [rsp + 0x58], al
mov rcx, qword [rsp + 0x870]
mov edx, dword [rsp + 0x87c]
call fcn.180020e40
movdqu xmm0, xmmword [rsp + 0x870]
movdqa xmmword [rsp + 0x270], xmm0
mov rcx, rdi
call fcn.1800210a0
mov sil, 3
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x50]
jmp 0x180081f00
call fcn.18010a120
test al, al
jne 0x18008120e
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x18], 1
jmp 0x18008120e
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x180081e77
cmp qword [rsp + 0x190], 0
je 0x180081e77
mov rcx, qword [0x180168b78]
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 0x180081ea1
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 0x180081edb
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 0x180081ef3
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 0x180081f40
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081f7c
mov rcx, qword [rsp + 0x90]
call rdx
cmp byte [rsp + 0x30], 0
jne 0x180081f67
mov rax, qword [0x180168bb0]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x180081f9a
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x40]
jmp 0x1800810e3
call fcn.18010a120
mov rdx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x180081f40
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x18], 1
jmp 0x180081f40
call fcn.18010a120
test al, al
jne 0x180081f67
mov byte [r12 + 0x18], 1
jmp 0x180081f67
call fcn.18010a120
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test al, al
jne 0x180081d41
mov byte [rbx + 0x18], 1
jmp 0x180081d41
call fcn.18010a120
test al, al
jne 0x180081d6c
mov byte [r12 + 0x18], 1
jmp 0x180081d6c
pxor xmm6, xmm6
movdqa xmm7, xmmword [str._r_nSM_r_n_r_n]
movdqa xmm8, xmmword [str.PRI__HTTP_2.0_r_n________________]
lea rax, [r12 + 0x180]
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0xd8]
mov qword [rsp + 0x88], rax
lea rax, [r12 + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0xa8]
mov qword [rsp + 0xa8], rax
lea rax, [r12 + 0x158]
mov qword [rsp + 0xd8], rax
lea rax, [r12 + 0x1b0]
mov qword [rsp + 0x38], rax
lea rax, [r12 + 0x1d1]
mov qword [rsp + 0xf8], rax
lea rax, [r12 + 0x128]
mov qword [rsp + 0x90], rax
lea rax, [r12 + 0x108]
mov qword [rsp + 0x68], rax
lea rax, [r12 + 0x98]
mov qword [rsp + 0x48], rax
lea rax, [r12 + 0xa1]
mov qword [rsp + 0x3f8], rax
xor eax, eax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
jmp 0x1800820e1
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 0x180084ed5
cmp eax, 0x10
je 0x180084ec0
cmp byte [r12 + 0x1e0], 0
mov qword [rsp + 0x70], rax
jne 0x180083505
jmp 0x180082141
mov r8, qword [rsp + 0x690]
lea rcx, [rsp + 0x698]
call qword [rax + 0x10]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x480]
call fcn.180085840
mov r8, qword [rsp + 0x30]
cmp byte [r12 + 0x1e0], 0
jne 0x180083505
mov qword [rsp + 0x30], r8
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0xf8]
lea r13, [rsp + 0x490]
jmp 0x180082184
mov rcx, r14
call fcn.180052c60
lea rcx, [rsp + 0x480]
call fcn.180085840
cmp byte [r12 + 0x1e0], 0
jne 0x180083500
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x1800821b0
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
jne 0x1800821da
jmp 0x180083356
cmp qword [r12 + 0x90], 2
jne 0x180082427
movzx ecx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp cl, 3
je 0x18008335f
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 0x180082120
lea rcx, [rsp + 0x480]
mov rdx, rbx
call fcn.1800349c0
test rax, rax
jne 0x180083310
test rdx, rdx
je 0x18008235e
mov qword [rsp + 0x130], rdx
cmp dword [r12 + 0x70], 1
jne 0x180082258
mov qword [r12 + 0x70], 2
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.180091220
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x180082330
test rax, rax
je 0x180082330
mov rax, qword [rsp + 0x278]
test rax, rax
je 0x1800822ae
mov rdx, qword [rsp + 0x280]
mov r8, qword [rsp + 0x288]
lea rcx, [rsp + 0x290]
call qword [rax + 0x10]
jmp 0x180082330
mov rax, qword [rsp + 0x280]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180082330
test rcx, rcx
je 0x180082330
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 0x1800822ff
cmp qword [rdi + 0x10], 0x11
jb 0x1800822ed
mov r14, qword [r14 - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, 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 0x180082160
cmp eax, 3
je 0x180082160
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x180082160
mov rcx, r14
mov rdx, r12
mov r8, rbx
call fcn.180091220
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x180082120
cmp eax, 1
mov r8, qword [rsp + 0x30]
jne 0x180084ac0
cmp qword [rsp + 0x138], 0
je 0x180082746
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.180034bc0
cmp byte [rsp + 0x290], 2
jne 0x18008281c
cmp byte [r12 + 0x1d0], 3
je 0x1800823f6
mov rcx, qword [rsp + 0x38]
call fcn.180085840
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 0x18008212d
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], 2
je 0x1800834d3
mov rdx, rbx
call fcn.18008c7f0
test al, al
je 0x1800834d3
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 0x1800825e0
mov qword [rsp + 0x130], 2
mov qword [rsp + 0x150], 0
mov rcx, rdi
mov rdx, qword [rsp + 0xd8]
lea r8, [rsp + 0x870]
call fcn.180038260
mov rdx, qword [rsp + 0x130]
cmp rdx, 2
je 0x1800825c0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18008253e
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 0x1800825c0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
test rdx, rdx
je 0x18008257e
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 0x1800825c0
test rax, rax
je 0x1800825c0
mov rcx, qword [rsp + 0x138]
lock dec qword [rcx]
jne 0x1800825c0
mov rdx, qword [rsp + 0x140]
call fcn.180004d70
nop word [rax + rax]
mov rbx, qword [rsp + 0x270]
cmp rbx, 4
lea r8, [rsp + 0x2b0]
jne 0x1800825f1
jmp 0x180082a40
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 0x180082888
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 0x1800829d5
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x60]
call fcn.18008f5c0
mov rax, qword [rsp + 0x270]
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x180082a09
mov rcx, qword [rsp + 0x278]
test rax, rax
lea r8, [rsp + 0x2b0]
jne 0x180082a23
test rcx, rcx
jne 0x180082480
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
je 0x180082b04
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x180082b2a
mov rdi, qword [rsp + 0x140]
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180082777
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x1800827cc
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180085704
mov qword [0x180168b78], rax
mov r8d, 8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180085704
mov qword [rax], rdi
mov qword [rsi], rax
lea rax, [0x180132b70]
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x490]
movzx edx, byte [rsp + 0x4a0]
mov r8, rsi
call fcn.180034e60
lea rdi, [rsp + 0x270]
jmp 0x180082120
mov rax, qword [rsp + 0x270]
test rax, rax
lea rcx, [rsp + 0x2b0]
je 0x1800855a3
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 0x180082100
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x180082100
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 0x180082959
test r9b, r9b
jne 0x180082973
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 0x180082a74
test cl, cl
je 0x1800831c7
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x1800831ef
cmp rdx, 0xfffffffffffffffe
jne 0x1800831f3
mov al, 1
xor r13d, r13d
jmp 0x1800831f8
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
lea r14, [rsp + 0x130]
je 0x180082aab
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x180082ad1
mov ebx, 5
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x180082c6a
call fcn.1800352c0
mov rsi, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x180082bad
movzx ebx, byte [rsp + 0x278]
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
je 0x180082b58
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
jmp 0x180082b7e
mov qword [rdi + 0x70], 3
mov rcx, rdi
call fcn.180091050
mov rcx, rdi
mov rdx, r13
call fcn.180091130
xor edx, edx
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
jmp 0x180083253
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x900
jmp 0x180082bad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 2
jmp 0x180082bad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
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 0x180082c2b
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
xor edx, edx
jmp 0x180082bf8
inc rdx
cmp rax, rdx
je 0x180082c13
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x180082bf0
cmp r8d, 0xa
je 0x180082bf0
cmp rax, rdx
jae 0x180082c16
jmp 0x1800855a3
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.180014eb0
mov rsi, qword [rsp + 0x130]
cmp byte [rsi + 0x30], 0
je 0x180082cc6
cmp qword [r12 + 0x160], 0
jne 0x180082cc6
test bl, bl
jne 0x180082cc6
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
mov rcx, r14
call fcn.180052c60
mov ebx, 4
mov r8, qword [rsp + 0x30]
cmp rbx, 3
mov qword [rsp + 0x80], r13
jne 0x180082d9d
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.180085980
mov r8, rsi
test rax, rax
mov rbp, qword [rsp + 0xc0]
je 0x180082f7a
jmp 0x180084b27
mov qword [rsp + 0x270], rsi
cmp dword [r12 + 0x90], 2
jne 0x180082d81
cmp qword [r12 + 0x160], 0x18
mov r8, qword [rsp + 0x30]
jb 0x180082d86
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 0x180082d86
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180082d46
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 0x500
lea rcx, [rsp + 0x270]
call fcn.180052c60
mov r8, qword [rsp + 0x30]
mov ebx, 3
cmp rbx, 3
mov qword [rsp + 0x80], r13
je 0x180082c81
cmp rbx, 4
je 0x180082f5b
cmp rbx, 5
je 0x180084be5
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 0x180082fa6
mov r8d, ebp
and r8b, 1
lea rdi, [rsp + 0x270]
mov rcx, rdi
call fcn.180033580
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 0x180082eec
mov rcx, qword [rsp + 0x38]
call fcn.180085840
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 0x180082fcb
jmp 0x1800830f0
cmp dword [r12 + 0x90], 5
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jne 0x180082132
mov byte [r12 + 0x1e0], 1
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
jmp 0x180082132
movdqa xmmword [rsp + 0x870], xmm6
xor ebx, ebx
lea rdi, [rsp + 0x270]
test bpl, 2
mov rbp, qword [rsp + 0xc0]
je 0x1800830f0
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180082ff4
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180085715
mov qword [0x180168b78], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180085715
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movdqu xmmword [rax + 0x30], xmm6
lock inc qword [rax]
jle 0x1800855a3
cmp qword [r12], 0
je 0x18008307f
mov r14, qword [r12 + 8]
test r14, r14
je 0x18008307f
mov rax, qword [r14 + 0x30]
mov rcx, rax
test cl, 4
jne 0x180083071
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [r14 + 0x30], rdx
jne 0x180083044
and ecx, 5
cmp ecx, 1
jne 0x180083071
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
lock dec qword [r14]
jne 0x18008307f
mov rcx, r14
call fcn.180035da0
mov qword [r12], 1
mov qword [r12 + 8], rsi
mov edx, 1
lea rcx, [rsp + 0x4e0]
mov r8, rsi
call fcn.18008c640
cmp rax, 2
lea r14, [rsp + 0x130]
je 0x1800830f0
test rax, rax
je 0x1800830f0
mov rsi, rdx
test rdx, rdx
je 0x1800830f0
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x1800830c0
and eax, 0xa
cmp eax, 8
jne 0x1800830e2
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x1800830f0
mov rcx, rsi
call fcn.180085760
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.1800f64f0
mov qword [rsp + 0x308], rbx
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.180085980
test rax, rax
mov r8, r15
je 0x180082132
jmp 0x180084b27
cmp rdx, 0xffffffffffffffff
lea rdi, [rsp + 0x490]
mov r13, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x180083224
cmp rdx, 0xfffffffffffffffe
jne 0x180083228
mov al, 1
xor r8d, r8d
jmp 0x18008322d
mov al, 2
jmp 0x1800831f8
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 0x180083253
mov al, 2
jmp 0x18008322d
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 0x180082d9d
jmp 0x180082c81
cmp byte [r12 + 0x1d0], 3
je 0x180083325
mov rcx, qword [rsp + 0x38]
call fcn.180085840
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 0x180083500
cmp eax, 4
je 0x180083500
test rax, rax
mov r8, qword [rsp + 0x30]
jne 0x1800833dd
cmp qword [r12 + 0x90], 2
jne 0x1800833dd
cmp qword [r12 + 0x160], 0
je 0x18008345c
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x1800833ac
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800856f3
mov qword [0x180168b78], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 3
jmp 0x1800834b4
cmp byte [r12 + 0xc8], 0
jne 0x180083505
cmp qword [r12 + 0x160], 0
jne 0x180083505
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.18008f5c0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x180083500
mov rcx, qword [rsp + 0x278]
test rax, rax
jne 0x18008348e
test rcx, rcx
mov r8, qword [rsp + 0x30]
jne 0x180083505
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
call fcn.1800351e0
mov r8, qword [rsp + 0x30]
mov r13, rax
jmp 0x1800834b9
mov rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.18008f5c0
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x180083500
mov rcx, qword [rsp + 0x278]
test rax, rax
je 0x1800834c3
mov qword [r12 + 0x70], 4
mov qword [r12 + 0x90], 5
mov byte [r12 + 0xd2], 2
call fcn.1800352c0
mov r13, rax
mov r8, qword [rsp + 0x30]
test r13, r13
je 0x180083505
jmp 0x180084d78
test rcx, rcx
je 0x180084b0b
call fcn.180035250
jmp 0x1800834b1
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 0x180083550
mov r13, qword [rsp + 0x60]
mov rcx, r12
mov rdx, r13
call fcn.180092950
mov rcx, rax
call fcn.180093760
test rax, rax
jne 0x1800820b0
mov r13, rdx
test rdx, rdx
je 0x1800820b0
jmp 0x180084d78
mov r13, qword [rsp + 0x60]
jmp 0x18008357a
mov rcx, rsi
call fcn.18005c130
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
jne 0x18008351a
mov rax, qword [r12 + 0x1d8]
cmp qword [rax], 0
je 0x180083600
cmp byte [r12 + 0x178], 0
jne 0x1800836ed
cmp byte [r12 + 0x150], 0
je 0x180083664
mov r8, qword [r12 + 0x140]
cmp r8, 0xf
ja 0x180083d02
test r8, r8
je 0x180083675
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 0x18008367b
add r8, rax
mov rcx, r8
jmp 0x180083679
cmp qword [r12 + 0x70], 4
je 0x180083588
cmp qword [r12 + 0x90], 2
jne 0x180083588
mov r8, qword [r12 + 0x140]
test r8, r8
je 0x1800838d1
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 0x1800838d7
add r8, rax
mov rcx, r8
jmp 0x1800838d5
mov r8, qword [r12 + 0x140]
test r8, r8
jne 0x1800835c1
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.180092810
add rax, rsi
cmp rax, qword [r12 + 0x148]
jae 0x180083d02
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 0x180083c42
cmp rax, 3
ja 0x180083560
cmp rax, 2
je 0x180083560
mov rcx, rdi
mov rdx, r14
mov r8, r13
call fcn.180052570
cmp dword [rsp + 0x270], 2
je 0x180083515
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 0x180083c6c
mov rax, qword [rsp + 0x878]
mov rdi, qword [rsp + 0x880]
test rax, rax
je 0x180084cb7
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 0x180083820
cmp qword [r14 + 0x10], 0
je 0x18008382f
mov rdi, qword [rsp + 0x7a0]
test rdi, rdi
jne 0x180083c8e
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 0x18008357a
jmp 0x18008351a
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x1800837d4
mov r13, qword [rsp + 0x7a0]
test r13, r13
je 0x180083d2f
mov rdi, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x180083864
cmp rcx, 1
jne 0x1800855a3
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
je 0x180083f42
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp r13, rcx
jae 0x18008417c
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.180093d40
mov eax, 5
mov rcx, qword [rsp + 0x48]
jmp 0x180084991
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.180092810
test rax, rax
jne 0x180083588
mov rax, qword [rsp + 0x50]
cmp qword [rax], 2
jne 0x180083588
mov rdx, qword [r12 + 0x198]
mov r8, qword [r13]
mov rcx, rdi
call fcn.1800861b0
mov rsi, qword [rsp + 0x370]
cmp rsi, 3
je 0x180084b2f
cmp esi, 4
je 0x180084b3a
cmp esi, 2
lea rbx, [rsp + 0x130]
je 0x1800855a3
mov r8d, 0x100
mov rcx, rbx
mov rdx, rdi
call fcn.1800f64f0
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.18008c7f0
test al, al
je 0x180084b8f
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 0x180083b0d
mov rcx, r15
call fcn.1800662f0
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.1800f64f0
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 0x180084bb1
cmp rsi, 4
je 0x180084bd8
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.1800f64f0
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 0x1800842d0
mov rax, qword [rsp + 0x140]
test rax, rax
lea rdi, [rsp + 0x270]
lea r14, [rsp + 0x130]
je 0x1800842fb
mov ecx, 1
mov rdx, rax
jmp 0x1800846f8
cmp rax, 3
ja 0x180083515
cmp rax, 2
je 0x180083515
mov rcx, r12
call fcn.180093850
test rax, rax
je 0x180084a07
jmp 0x1800850aa
mov rcx, r12
call fcn.180093850
mov dil, 1
test rax, rax
jne 0x180085155
test rbx, rbx
je 0x1800849ae
jmp 0x1800849e1
mov r14, qword [rsp + 0x7a8]
mov rax, qword [r12 + 0x90]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x180083cb2
cmp rcx, 1
jne 0x1800855a3
movups xmm0, xmmword [rsp + 0x790]
movaps xmmword [rsp + 0x980], xmm0
test rax, rax
lea r8, [rsp + 0x2b0]
mov r13, qword [rsp + 0x48]
je 0x180083d74
mov rax, qword [r13]
mov rcx, rax
sub rcx, rdi
jae 0x180083e63
mov qword [r13], 0
mov ecx, 1
lea rdx, [rsp + 0x790]
jmp 0x180083e71
mov rcx, r12
mov rdx, r13
call fcn.180092950
mov rcx, rax
call fcn.180093760
test rax, rax
jne 0x180083515
mov r13, rdx
test rdx, rdx
je 0x180084a07
jmp 0x180084d78
mov rcx, r12
call fcn.180093850
test rax, rax
jne 0x180085453
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 0x1800849ae
jmp 0x1800849e1
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, [0x18001a490]
mov qword [rsp + 0x5a8], rax
lea rax, [0x180122dd0]
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, [0x180122178]
lea r8, [rsp + 0x130]
call fcn.180015fd0
test al, al
jne 0x1800855a3
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 0x180083e71
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, [0x1801336a2]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], 2
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x270]
call fcn.1800939c0
cmp qword [r12 + 0x90], 0
je 0x180083f32
cmp qword [r12 + 0x98], 0
jne 0x180083f32
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 0x1800849ae
jmp 0x1800849e1
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, [0x18001a490]
mov qword [rsp + 0x5a8], rax
lea rax, [0x180122dd0]
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, [0x180122178]
lea r8, [rsp + 0x270]
call fcn.180015fd0
test al, al
jne 0x1800855a3
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, [0x180133696]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 7
cmp byte [r12 + 0x150], 0
je 0x18008432f
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 0x1800840ff
mov rcx, qword [rsp + 0x90]
call fcn.180093ca0
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 0x1800842c0
jne 0x1800841b7
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.180093d40
jmp 0x18008497a
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 0x180084657
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 0x180084262
mov rcx, qword [rsp + 0x90]
call fcn.180093ca0
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 0x18008497a
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 0x180084633
mov rsi, qword [r12 + 0x1d8]
cmp qword [rsi], 0
je 0x180084312
lea rcx, [rsi + 8]
call fcn.18005c130
mov qword [rsi], 0
mov r9d, 2
mov sil, 1
mov rax, qword [rsp + 0x268]
jmp 0x18008477b
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 0x1800855a3
mov r10, r8
add r10, 7
jb 0x1800855a3
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800843eb
mov r11, qword [r12 + 0x110]
mov r14, qword [r12 + 0x118]
sub r11, r14
cmp r11, r10
jae 0x1800843eb
sub r14, rdx
jb 0x1800855a3
mov qword [r12 + 0x118], 0
je 0x1800843df
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, r14
call fcn.1800f64f0
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 0x180084435
jmp 0x1800855a3
mov rdx, r14
mov r8, qword [rsp + 0x170]
sub r8, rdx
jb 0x1800855a3
add qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], r8
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, r13
jb 0x1800855a3
test r8, r8
je 0x180084460
cmp cl, al
jne 0x180084480
mov r12, qword [rsp + 0x138]
mov r14, r13
test r14, r14
jne 0x1800844ae
jmp 0x180084610
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
test r14, r14
jne 0x1800844ae
jmp 0x180084610
jb 0x1800855a3
cmp cl, 0x12
ja 0x1800855a3
movzx r14d, cl
movzx r12d, al
sub r14, r12
lea rax, [rsp + 0x150]
add r12, rax
test r14, r14
je 0x180084610
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x110]
mov r13, qword [rcx + 0x118]
sub rax, r13
cmp rax, r14
jb 0x1800845ef
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
add rcx, r13
mov rdx, r12
mov rdi, rax
mov r8, r14
call fcn.1800f64f0
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 0x1800855a3
je 0x180084400
mov rdx, r14
sub rdx, r9
jbe 0x180084540
cmp cl, al
jne 0x180084551
mov r10, r9
sub r13, r10
jae 0x18008456b
jmp 0x1800855a3
cmp cl, al
jne 0x180084591
mov rdx, r14
sub r13, rdx
jae 0x1800845ab
jmp 0x1800855a3
mov r10, r9
sub r10, r8
jbe 0x1800845c0
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, r10
jb 0x1800855a3
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], r10
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x180084414
jmp 0x1800855a3
mov rdx, r14
sub rdx, r8
jbe 0x1800845e0
mov byte [rsp + 0x162], cl
mov eax, ecx
sub r13, rdx
jb 0x1800855a3
mov qword [rsp + 0x140], r13
add qword [rsp + 0x138], rdx
jmp 0x180084424
add al, r9b
mov byte [rsp + 0x162], al
mov r8, qword [rsp + 0x170]
sub r8, rdx
jae 0x180084414
jmp 0x1800855a3
add al, r14b
mov byte [rsp + 0x162], al
jmp 0x180084424
mov rcx, qword [rsp + 0x68]
mov rdx, r13
mov r8, r14
call fcn.180105950
mov rax, qword [rsp + 0x40]
mov r13, qword [rax + 0x118]
jmp 0x1800844cd
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x148]
mov r8, r13
call qword [rax + 0x10]
jmp 0x180084975
cmp qword [rsp + 0x130], 0
je 0x1800846ca
mov ecx, 1
mov rax, qword [rsp + 0x140]
mov rdx, rax
jmp 0x1800846f8
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
mov rdx, qword [r12 + 0x120]
test rdx, rdx
je 0x1800846a8
mov rax, qword [r12 + 0x110]
mov rbp, qword [r12 + 0x118]
sub rax, rbp
cmp rax, r14
jae 0x1800846a8
sub rbp, rdx
jb 0x1800855a3
mov qword [r12 + 0x118], 0
jne 0x180084870
xor ebp, ebp
jmp 0x180084891
mov r12, qword [rsp + 0x688]
test r14, r14
je 0x180084954
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800848d0
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 0x180084752
lea rcx, [rsi + 8]
mov r15, rax
call fcn.18005c130
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.18008f740
mov rax, qword [rsp + 0x270]
cmp rax, 2
je 0x180084846
mov rdx, qword [rsp + 0x278]
movzx ecx, byte [rsp + 0x280]
test rax, rax
je 0x1800847e4
test rdx, rdx
jne 0x1800847e4
xor eax, eax
test cl, cl
sete al
xor rax, 5
mov rdx, qword [rsp + 0xe8]
movzx ecx, byte [rsp + 0xd0]
jmp 0x180084813
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 0x180084a07
mov rcx, r14
call fcn.18005c130
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18008357a
jmp 0x18008351a
mov rdi, rcx
mov rcx, qword [r12 + 0x108]
add rdx, rcx
mov r8, rbp
call fcn.1800f64f0
mov rcx, rdi
mov qword [r12 + 0x118], rbp
mov qword [r12 + 0x120], 0
mov r12, qword [rsp + 0x688]
jmp 0x1800848d0
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r8, r14
call fcn.180105950
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax + 0x118]
jmp 0x1800848ec
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x110]
sub rax, rbp
cmp rax, r14
jb 0x1800848a7
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x108]
add rcx, rbp
mov rdx, r12
mov r8, r14
call fcn.1800f64f0
add rbp, r14
mov qword [rdi + 0x118], rbp
mov rcx, qword [rsp + 0xf0]
sub rcx, r14
jb 0x1800855a3
sub r13, r14
jb 0x1800855a3
add r12, r14
cmp r13, rcx
mov r14, rcx
cmovb r14, r13
test r14, r14
jne 0x1800848d0
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 0x1800849e1
cmp qword [rsp + 0x870], 0
je 0x1800849e1
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x180084a20
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
test dil, dil
je 0x180084a9f
cmp qword [r15], 0
lea rdi, [rsp + 0x270]
je 0x180084a00
mov rcx, rsi
call fcn.18005c130
mov qword [r15], 0
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18008357a
jmp 0x18008351a
mov r14, qword [rsp + 0x880]
mov r12, qword [r14 + 0x58]
test r12, r12
je 0x180084a5f
mov rbx, qword [r14 + 0x60]
mov rcx, r12
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x180084a5f
cmp qword [rbx + 0x10], 0x11
jb 0x180084a4d
mov r12, qword [r12 - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [r14], 2
mov r12, qword [rsp + 0x40]
je 0x180084a84
cmp qword [r14 + 0x18], 0
je 0x180084a84
mov r8, qword [r14 + 0x10]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
test dil, dil
jne 0x1800849ea
lea rdi, [rsp + 0x270]
cmp byte [r12 + 0x1e0], 0
mov r13, qword [rsp + 0x60]
je 0x18008357a
jmp 0x18008351a
cmp byte [r12 + 0x1d0], 3
je 0x180084ada
mov rcx, qword [rsp + 0x38]
call fcn.180085840
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 0x180083505
cmp byte [r12 + 0xd2], 0
je 0x180084bfa
call fcn.1800351e0
mov r13, rax
jmp 0x180084bfd
mov r13, rax
jmp 0x1800834b9
mov byte [r12 + 0x1a8], 1
jmp 0x180084bb1
mov rax, qword [r12 + 0x1a0]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x180084bd8
je 0x180084b62
cmp rcx, 3
je 0x180084bd8
jmp 0x1800855a3
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x180084b62
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 0x180084bd8
call qword [rdx + 8]
jmp 0x180084bd8
lea rcx, [rsp + 0x5a0]
call fcn.1800662f0
mov rcx, rbx
call fcn.180024560
lea rcx, [rsp + 0x210]
call fcn.18005c130
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 0x18008351a
mov rbp, qword [rsp + 0xc0]
lea rdi, [rsp + 0x270]
jmp 0x180083505
xor r13d, r13d
mov r8, qword [rsp + 0x30]
mov qword [r12 + 0x70], 4
mov byte [r12 + 0xd2], 2
jmp 0x1800834b9
cmp edi, 6
je 0x180084ece
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.1800373e0
mov rsi, rax
test rax, rax
je 0x180084e98
lea eax, [rdi - 2]
cmp eax, 2
jb 0x180085040
test edi, edi
je 0x180085040
cmp edi, 1
jne 0x180084fdc
lea rcx, [rsp + 0x150]
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
call qword [rax + 0x10]
jmp 0x180085040
movzx eax, byte [0x180168bb8]
mov rcx, qword [0x180168b78]
test rcx, rcx
jne 0x180084ce3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800856f3
mov rcx, rax
mov qword [0x180168b78], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov r13, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov word [rax + 0x30], 1
movzx eax, byte [0x180168bb8]
mov rcx, qword [0x180168b78]
test rcx, rcx
jne 0x180084d3a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180085704
mov rcx, rax
mov qword [0x180168b78], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180085704
mov qword [rax], rdi
mov qword [r13], rax
lea rax, [0x180133020]
mov qword [r13 + 8], rax
cmp qword [r15], 0
je 0x180084d71
mov rcx, rsi
call fcn.18005c130
mov qword [r15], 0
movzx ebx, byte [r12 + 0x1d0]
mov byte [r12 + 0x1d0], 3
cmp bl, 3
mov rdi, qword [rsp + 0x50]
je 0x180084e63
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 [0x180168bb8]
mov rcx, qword [0x180168b78]
test rcx, rcx
jne 0x180084e06
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800856f3
mov rcx, rax
mov qword [0x180168b78], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800856f3
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 8
lea rdx, [0x1801336a4]
mov r8d, 0x10
mov rcx, rax
call fcn.1800664e0
mov rcx, qword [rsp + 0x280]
mov edx, ebx
mov r8, rsi
call fcn.180034e60
lea rcx, [rsp + 0x270]
call fcn.180085840
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x270], 3
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.180085980
mov rsi, rax
test rax, rax
jne 0x180085049
jmp 0x18008554a
cmp edi, 2
je 0x180084f74
cmp edi, 1
je 0x180084f74
test rdi, rdi
jne 0x180084f85
lea rax, [rsp + 0x138]
jmp 0x180084f7c
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
mov al, 1
jmp 0x1800855b9
cmp byte [r12 + 0x1e0], 0
jne 0x180084ee8
cmp dword [r12 + 0x70], 4
jne 0x180084ece
mov rsi, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18008507a
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
je 0x1800850b2
test rsi, rsi
je 0x180084d78
mov rax, qword [rsi + 0x30]
nop word [rax + rax]
mov rcx, rax
test cl, 4
jne 0x180084f5d
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [rsi + 0x30], rdx
jne 0x180084f30
and ecx, 5
cmp ecx, 1
jne 0x180084f5d
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x180084d78
mov rcx, rsi
call fcn.180085760
jmp 0x180084d78
lea rax, [rsp + 0x134]
cmp dword [rax], 0
je 0x180084c72
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.1800347a0
mov rsi, rax
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x18008505b
jmp 0x18008555e
mov rax, qword [rsp + 0x138]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180085040
test rcx, rcx
je 0x180085040
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 0x18008502e
cmp qword [r14 + 0x10], 0x11
jb 0x18008501c
mov rbx, qword [rbx - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x18008554a
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jae 0x18008555e
mov qword [rbp], 4
cmp eax, 4
je 0x1800855a3
test rsi, rsi
jne 0x180085573
jmp 0x1800855af
mov rcx, qword [r12 + 0xf0]
mov rax, qword [r12 + 0xf8]
mov rdx, r13
call qword [rax + 0x30]
test rax, rax
jne 0x180084ece
test rdx, rdx
je 0x18008547e
mov rcx, rdx
call fcn.180035400
mov r13, rax
jmp 0x180084d78
mov rdi, qword [rbp]
mov qword [rbp], 3
cmp rdi, 2
jae 0x180085748
mov qword [rsp + 0xa38], rdi
lea rcx, [rsp + 0xa40]
mov r8d, 0x1e0
mov rbx, qword [rsp + 0x120]
mov rdx, rbx
call fcn.1800f64f0
mov qword [rsp + 0x270], rdi
lea rcx, [rsp + 0x278]
mov r8d, 0x178
mov rdx, rbx
call fcn.1800f64f0
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x130]
mov r8d, 0xa8
call fcn.1800f64f0
mov r14, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x1c8]
test dil, 1
jne 0x18008522e
lea r15, [0x180136820]
jmp 0x18008529c
mov r13, rax
cmp qword [rsp + 0x870], 0
je 0x180084d63
mov rax, qword [rsp + 0x878]
test rax, rax
je 0x1800854a0
mov rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x888]
lea rcx, [rsp + 0x890]
call qword [rax + 0x10]
jmp 0x180084d63
mov rax, qword [r12 + 0xb8]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800851e4
je 0x1800851bc
cmp rcx, 3
je 0x1800851e4
jmp 0x1800855a3
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800851bc
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 0x1800851e4
call qword [rdx + 8]
mov rbx, qword [r12 + 0x88]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x18008553c
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 0x180085514
mov rcx, rdi
call qword [rsi + 0x18]
jmp 0x18008553c
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.1800148f0
mov rbx, qword [rsp + 0x490]
sub rbx, rdi
jb 0x1800855a3
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.180087760
lea rcx, [rsp + 0x270]
call fcn.1800878b0
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 0x18008533d
lea rcx, [rsp + 0xbe8]
call fcn.180085840
lea rbx, [rsp + 0x498]
mov rdi, qword [rsp + 0xc10]
cmp qword [rdi], 0
je 0x18008535c
lea rcx, [rdi + 8]
call fcn.18005c130
mov rcx, qword [0x180168b78]
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 0x1800853c0
lea rcx, [rsp + 0x4b8]
call fcn.1800662f0
lea rcx, [rsp + 0x4d0]
call fcn.180072af0
movzx eax, byte [0x180168bb8]
mov ecx, 0x18
mov edx, 8
call fcn.180012e40
test rax, rax
je 0x180085726
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, [0x180133968]
mov qword [rsp + 0x278], rax
lea rdx, [rsp + 0x270]
mov rcx, rsi
call fcn.180035e80
jmp 0x18008554a
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 0x180084d63
mov r13, qword [r12 + 0xc0]
mov qword [r12 + 0xc0], 0
test r13, r13
jne 0x180084d78
jmp 0x18008554a
mov rbx, qword [rsp + 0x880]
mov r14, qword [rbx + 0x58]
test r14, r14
je 0x1800854de
mov rdi, qword [rbx + 0x60]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800854de
cmp qword [rdi + 0x10], 0x11
jb 0x1800854cc
mov r14, qword [r14 - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rbx], 2
je 0x1800854fd
cmp qword [rbx + 0x18], 0
je 0x1800854fd
mov r8, qword [rbx + 0x10]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180084d63
mov rax, qword [r14]
test rax, rax
je 0x180085523
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 0x180084ece
mov al, 1
xchg byte [rbx + 0x41], al
test al, al
jne 0x18008554a
xor eax, eax
xchg byte [rbx + 0x41], al
xor esi, esi
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 2
jb 0x18008505b
mov rcx, rbp
call fcn.18007f1d0
mov qword [rbp], 4
test rsi, rsi
je 0x1800855af
mov qword [rsp + 0xa38], rsi
lea rcx, [rsp + 0xa38]
call fcn.180052c60
mov rax, qword [rbp]
lea rcx, [rax - 3]
cmp rcx, 3
jae 0x1800855a7
mov qword [rbp], 5
cmp eax, 5
jne 0x1800855b7
ud2
mov rcx, rbp
call fcn.18007f1d0
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.1800875f0
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 0x1800855b9
mov ecx, 8
mov edx, 0x38
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 8
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x70
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180103b10
ud2
mov rcx, rsi
call fcn.1800876f0
ud2