Function at 0x18007e600
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, 0xda8
movaps xmmword [rsp + 0xd90], xmm13
movaps xmmword [rsp + 0xd80], xmm12
movdqa xmmword [rsp + 0xd70], xmm11
movdqa xmmword [rsp + 0xd60], xmm10
movaps xmmword [rsp + 0xd50], xmm9
movdqa xmmword [rsp + 0xd40], xmm8
movdqa xmmword [rsp + 0xd30], xmm7
movdqa xmmword [rsp + 0xd20], xmm6
mov rax, qword [rcx]
cmp rax, 5
je 0x180084325
cmp eax, 4
je 0x180084325
cmp eax, 3
je 0x180084325
mov rbx, rdx
mov r13, rcx
add rcx, 8
cmp rax, 2
mov rbp, r13
mov qword [rsp + 0x5b8], rcx
cmove rbp, rcx
cmp eax, 2
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x58], rdx
jne 0x180080fdd
lea r15, [rbp + 0x90]
lea r12, [rbp + 8]
lea r14, [rsp + 0x5c8]
lea rax, [rbp + 0xa0]
mov qword [rsp + 0xb8], rax
movdqa xmm6, xmmword [0x180111920]
pcmpeqd xmm7, xmm7
movdqa xmm8, xmmword [0x180111ba0]
xorps xmm9, xmm9
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180111730]
lea rdi, [rsp + 0x5c0]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x440]
mov rdx, r15
mov r8, rbx
call fcn.180084db0
movzx esi, byte [rsp + 0x440]
cmp esi, 5
jne 0x180083b87
mov rax, qword [rbp]
mov qword [rbp], 2
cmp rax, 2
je 0x18007e7ae
mov qword [rsp + 0x5c0], rax
mov rax, qword [r12 + 0x60]
mov qword [r14 + 0x60], rax
movups xmm0, xmmword [r12 + 0x50]
movups xmmword [r14 + 0x50], xmm0
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [r14 + 0x40], xmm0
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmm3, xmmword [r12 + 0x30]
movups xmmword [r14 + 0x30], xmm3
movups xmmword [r14 + 0x20], xmm2
movdqu xmmword [r14 + 0x10], xmm1
movdqu xmmword [r14], xmm0
mov rcx, rbp
mov rdx, rdi
mov r8, rbx
call fcn.180085040
jmp 0x18007e710
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbx]
lea rcx, [rsp + 0x220]
call fcn.18008dfd0
mov rsi, qword [rsp + 0x320]
cmp rsi, 4
je 0x1800843ae
cmp esi, 3
je 0x180084489
mov qword [rsp + 0x40], r15
cmp esi, 2
je 0x180084325
mov r15, r13
mov r8d, 0x100
lea rdi, [rsp + 0xe0]
mov rcx, rdi
lea rdx, [rsp + 0x220]
call fcn.1800f8be0
lea rax, [rsp + 0x238]
movups xmm0, xmmword [rax + 0xf0]
movaps xmmword [rsp + 0x440], xmm0
mov r8d, 0x100
lea r13, [rsp + 0x840]
mov rcx, r13
mov rdx, rdi
call fcn.1800f8be0
movaps xmm0, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0x590], xmm0
mov r8d, 0x100
lea rdi, [rsp + 0xa40]
mov rcx, rdi
mov rdx, r13
call fcn.1800f8be0
mov qword [rsp + 0x398], rsi
movdqa xmm0, xmmword [rsp + 0x590]
lea rax, [rsp + 0x3a0]
movdqu xmmword [rax], xmm0
mov rax, qword [rsp + 0x3a0]
test rsi, rsi
je 0x18007ede3
test rax, rax
je 0x180084325
mov rax, qword [rsp + 0x3a8]
test rax, rax
je 0x180084325
mov r13, r15
add rax, 0xd0
mov r15, qword [rsp + 0x40]
mov rax, qword [rax]
test al, 4
jne 0x18007ee14
mov r8d, 0xe0
lea rcx, [rsp + 0x630]
mov rdx, rdi
call fcn.1800f8be0
lea rax, [rsp + 0xb20]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x3c0], xmm1
movaps xmmword [rsp + 0x3b0], xmm0
mov r8d, 0xa
lea rdi, [rsp + 0xe0]
mov rcx, rdi
lea rdx, str.keep_aliveHTTP_1.1_100_Continue_r_n_r_nunexpected_EOF_during_chunk_size_lineInvalid_chunk_end_LFInvalid_chunk_body_CRInvalid_chunk_body_LF__Invalid_chunk_size_LFInvalid_chunk_size_linear_white_spaceinvalid_chunk_extension_contains_newlineInvalid_trailer_end_LF
call fcn.180030aa0
cmp qword [rsp + 0xe0], 0
jne 0x180084325
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xd8], r13
lea rsi, [rsp + 0xe8]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x450], xmm1
movaps xmmword [rsp + 0x440], xmm0
mov r8d, 0x10
mov rcx, rdi
lea rdx, str.proxy_connection
call fcn.180030aa0
cmp qword [rsp + 0xe0], 0
lea rcx, [rsp + 0x220]
jne 0x180084325
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
lea rax, [rsp + 0x238]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
movaps xmm0, xmmword [rsp + 0x440]
movdqa xmm1, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x220], xmm0
movdqa xmmword [rsp + 0x230], xmm1
movups xmm0, xmmword [0x180127288]
movups xmmword [rax + 0x38], xmm0
movups xmm0, xmmword [0x180127278]
movups xmmword [rax + 0x28], xmm0
movups xmm0, xmmword [0x1801271c0]
movups xmmword [rax + 0x58], xmm0
movups xmm0, xmmword [0x1801271b0]
movups xmmword [rax + 0x48], xmm0
movups xmm0, xmmword [0x1801272a8]
movups xmmword [rax + 0x78], xmm0
movdqu xmm0, xmmword [0x180127298]
movdqu xmmword [rax + 0x68], xmm0
mov rdx, rcx
xor ecx, ecx
jmp 0x18007ea34
mov rcx, qword [rsp + 0x48]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x220
cmp rcx, 5
je 0x18007ec3c
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x668]
test rax, rax
je 0x18007ea10
lea rcx, [rsp + 0x630]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x30], rax
call fcn.180037da0
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x98]
mov r12d, eax
movzx r15d, ax
movzx ebx, word [rsp + 0x688]
and r15d, ebx
mov r14, qword [rsp + 0x648]
mov rdi, qword [rsp + 0x650]
mov r11, qword [rsp + 0x658]
xor ebp, ebp
mov qword [rsp + 0x90], r11
jmp 0x18007eac6
movzx eax, byte [rax + 8]
cmp al, byte [r9 + 8]
je 0x18007eb7b
nop word cs:[rax + rax]
inc rbp
inc r15
mov rax, r15
nop dword [rax]
mov r15, rax
mov eax, 0
cmp r15, rdi
jae 0x18007ead0
movzx r13d, word [r14 + r15*4]
cmp r13, 0xffff
je 0x18007ea10
movzx eax, word [r14 + r15*4 + 2]
mov ecx, eax
and ecx, ebx
mov edx, r15d
sub edx, ecx
and edx, ebx
cmp rbp, rdx
ja 0x18007ea10
cmp ax, r12w
jne 0x18007eac0
cmp r10, r13
jbe 0x180084325
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 0x18007eac0
lea rax, [r11 + rsi]
add rax, 0x40
test rcx, rcx
je 0x18007eaa3
mov r8, qword [rax + 0x10]
cmp r8, qword [r9 + 0x10]
jne 0x18007eac0
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
call fcn.1800f9270
mov r11, qword [rsp + 0x90]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x98]
test eax, eax
jne 0x18007eac0
cmp qword [r11 + rsi], 0
lea rdi, [rsp + 0x630]
je 0x18007eb99
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.180053050
lea rcx, [rsp + 0xe0]
mov rdx, rdi
mov r8, r15
mov r9, r13
call fcn.180038a40
lea rcx, [rsp + 0xf8]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x460], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0x450], xmm1
movdqa xmmword [rsp + 0x440], xmm0
mov rax, qword [rsp + 0x120]
test rax, rax
je 0x18007ec06
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x138]
call qword [rax + 0x10]
cmp byte [rsp + 0x460], 2
je 0x18007ea10
mov rax, qword [rsp + 0x440]
mov rdx, qword [rsp + 0x448]
mov r8, qword [rsp + 0x450]
lea rcx, [rsp + 0x458]
call qword [rax + 0x10]
jmp 0x18007ea10
movups xmm12, xmmword [0x1801272c8]
movaps xmmword [rsp + 0xf0], xmm12
movups xmm13, xmmword [0x1801272b8]
movaps xmmword [rsp + 0xe0], xmm13
mov rax, qword [rsp + 0x668]
test rax, rax
je 0x18007eee1
lea rcx, [rsp + 0x630]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x98], rax
call fcn.180037da0
mov r10, qword [rsp + 0x98]
mov r12d, eax
movzx r13d, ax
movzx r14d, word [rsp + 0x688]
and r13d, r14d
mov rbp, qword [rsp + 0x648]
mov r15, qword [rsp + 0x650]
mov rsi, qword [rsp + 0x658]
mov r9, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
movzx eax, byte [rsp + 0xe8]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x48], rax
xor edi, edi
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], rdx
jmp 0x18007ed16
movzx ecx, byte [rsp + 0x30]
cmp byte [rax + 8], cl
je 0x18007edd5
nop word [rax + rax]
inc rdi
inc r13
mov rax, r13
mov rbx, qword [rsp + 0x58]
nop
mov r13, rax
mov eax, 0
cmp r13, r15
jae 0x18007ed20
movzx eax, word [rbp + r13*4]
cmp rax, 0xffff
je 0x18007ee36
movzx ecx, word [rbp + r13*4 + 2]
mov r11d, ecx
and r11d, r14d
mov r8d, r13d
sub r8d, r11d
and r8d, r14d
cmp rdi, r8
ja 0x18007ee36
cmp cx, r12w
jne 0x18007ed10
cmp r10, rax
jbe 0x180084325
test r9, r9
sete r8b
imul rbx, rax, 0x68
mov rcx, qword [rsi + rbx + 0x40]
test rcx, rcx
setne al
cmp al, r8b
je 0x18007ed10
lea rax, [rsi + rbx]
add rax, 0x40
test rcx, rcx
je 0x18007ecfc
mov rcx, qword [rsp + 0x48]
cmp qword [rax + 0x10], rcx
jne 0x18007ed10
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x48]
call fcn.1800f9270
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0x98]
mov r9, qword [rsp + 0x90]
test eax, eax
jne 0x18007ed10
add rsi, rbx
add rsi, 0x18
mov rbx, qword [rsp + 0x58]
jmp 0x18007ee38
test rax, rax
je 0x180084325
mov rax, qword [rsp + 0x3a8]
test rax, rax
je 0x180084325
mov r13, r15
add rax, 0x30
mov r15, qword [rsp + 0x40]
mov rax, qword [rax]
test al, 4
je 0x18007e8c9
lea rcx, [rsp + 0x398]
call fcn.1800650c0
mov rcx, rdi
call fcn.180024cb0
lea rcx, [rsp + 0xb20]
jmp 0x180080f40
xor esi, esi
test r9, r9
lea rdi, [rsp + 0xe0]
lea r14, [rsp + 0x710]
lea r15, [0x180137918]
je 0x18007ee65
lea rcx, [rsp + 0xf8]
mov r8, qword [rsp + 0x48]
call qword [r9 + 0x10]
test rsi, rsi
je 0x18007eefd
cmp qword [rsi + 0x10], 8
jne 0x18007ee88
mov rax, qword [rsi + 8]
movabs rcx, 0x7372656c69617274
cmp qword [rax], rcx
je 0x18007eefd
movaps xmmword [rsp + 0x450], xmm12
movaps xmmword [rsp + 0x440], xmm13
mov rcx, rdi
lea rdx, [rsp + 0x630]
lea r8, [rsp + 0x440]
call fcn.180038c90
cmp byte [rsp + 0x100], 2
je 0x18007eefd
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
lea rcx, [rsp + 0xf8]
call qword [rax + 0x10]
jmp 0x18007eefd
mov rbx, qword [rsp + 0x58]
lea rdi, [rsp + 0xe0]
lea r14, [rsp + 0x710]
lea r15, [0x180137918]
movups xmm0, xmmword [0x180137a28]
movaps xmmword [rsp + 0xf0], xmm0
movdqu xmm0, xmmword [0x180137a18]
movdqa xmmword [rsp + 0xe0], xmm0
lea rcx, [rsp + 0x3e0]
lea rdx, [rsp + 0x630]
mov r8, rdi
call fcn.180038c90
cmp byte [rsp + 0x400], 2
je 0x18007f758
movdqu xmm0, xmmword [rsp + 0x3e0]
movdqu xmm1, xmmword [rsp + 0x3f0]
movdqa xmmword [rsp + 0x560], xmm0
movdqa xmmword [rsp + 0x570], xmm1
mov rax, qword [rsp + 0x400]
mov qword [rsp + 0x580], rax
mov rcx, qword [rsp + 0x568]
mov rax, qword [rsp + 0x570]
xor edx, edx
nop dword [rax]
cmp rax, rdx
je 0x18007efb2
movzx r8d, byte [rcx + rdx]
inc rdx
cmp r8b, 9
je 0x18007ef90
add r8b, 0xe0
cmp r8b, 0x5f
jb 0x18007ef90
jmp 0x180084325
mov qword [rsp + 0x440], 0
mov qword [rsp + 0x448], rax
mov qword [rsp + 0x450], rcx
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x460], 0
mov qword [rsp + 0x468], rax
mov qword [rsp + 0x470], 1
movabs rax, 0x2c0000002c
mov qword [rsp + 0x478], rax
mov word [rsp + 0x480], 1
jmp 0x18007f03c
mov rbx, qword [rsp + 0x58]
lea rdi, [rsp + 0xe0]
lea r14, [rsp + 0x710]
lea r15, [0x180137918]
lea rcx, [rsp + 0x440]
call fcn.180041af0
test rax, rax
je 0x18007f735
mov rcx, rax
call fcn.180054e20
mov r8, rdx
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov rdx, rax
mov r9, r14
call fcn.18002dc00
movzx r9d, byte [rsp + 0xf0]
cmp r9d, 3
je 0x18007f03c
mov r11, qword [rsp + 0x668]
test r11, r11
je 0x18007f020
mov rdx, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
cmp dword [rsp + 0x630], 2
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x30], rbp
jne 0x18007f175
mov r12, rdx
movdqu xmm0, xmmword [rsp + 0x638]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm10
movdqa xmmword [rsp + 0xe0], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm11
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0x100], xmm0
lea rax, [rsp + 0x110]
movaps xmmword [rax], xmm9
mov qword [rax + 0x10], 0
xor eax, eax
cmp r9b, 2
setne al
mov qword [rsp + 0x430], rax
mov r8d, 8
lea rdi, [rsp + 0xe0]
mov rcx, rdi
lea r14, [rsp + 0x430]
mov rdx, r14
mov r15d, r9d
call fcn.1800208f0
test r15d, r15d
lea rbx, [0x180137918]
je 0x18007f283
mov eax, r15d
cmp r15d, 2
jne 0x18007f2bb
movzx eax, r12b
mov qword [rsp + 0x430], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r14
jmp 0x18007f2c4
xor r13d, r13d
cmp r9b, 2
setne r13b
movabs rax, 0xcbf29ce484222325
xor r13, rax
movabs rcx, 0x1efac7090aef4a21
imul r13, rcx
cmp r9b, 2
jne 0x18007f1b6
movzx eax, dl
xor rax, r13
imul rax, rcx
mov r10b, 2
mov r13, rax
jmp 0x18007f3d7
lea rax, [rdx + rbp]
test r9b, r9b
je 0x18007f63e
mov r10b, 1
test rbp, rbp
movabs r9, 0x100000001b3
je 0x18007f68c
mov r8, rbp
and r8, 7
je 0x18007f698
mov rcx, rdx
nop dword [rax]
movzx r10d, byte [rcx]
inc rcx
xor r10, r13
imul r10, r9
mov r13, r10
dec r8
jne 0x18007f1f0
cmp rbp, 8
jb 0x18007f278
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 0x18007f210
mov r13, r10
mov r10b, 1
jmp 0x18007f3d7
test rbp, rbp
je 0x18007f2c9
xor esi, esi
nop word [rax + rax]
movzx eax, byte [r12 + rsi]
movzx eax, byte [rax + rbx]
mov byte [rsp + 0x430], al
mov r8d, 1
mov rcx, rdi
mov rdx, r14
call fcn.1800208f0
inc rsi
cmp rbp, rsi
jne 0x18007f290
jmp 0x18007f2c9
mov rcx, rdi
mov rdx, r12
mov r8, rbp
call fcn.1800208f0
mov rax, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x110]
shl r9, 0x38
or r9, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xe0]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0xe8]
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 r13, rdx
shr r13, 0x20
xor r13, rdx
xor r13, rax
mov r11, qword [rsp + 0x90]
mov rdx, r12
mov r10d, r15d
and r13d, 0x7fff
movzx edi, word [rsp + 0x688]
mov esi, r13d
and esi, edi
mov rbp, qword [rsp + 0x648]
mov r14, qword [rsp + 0x650]
mov r9, qword [rsp + 0x658]
mov rax, qword [rsp + 0x30]
neg rax
mov qword [rsp + 0x98], rax
xor ebx, ebx
mov qword [rsp + 0x48], r9
jmp 0x18007f426
inc rbx
inc rsi
mov rax, rsi
nop dword [rax]
mov rsi, rax
mov eax, 0
cmp rsi, r14
jae 0x18007f430
movzx r12d, word [rbp + rsi*4]
cmp r12, 0xffff
je 0x18007f020
movzx eax, word [rbp + rsi*4 + 2]
mov ecx, eax
and ecx, edi
mov r8d, esi
sub r8d, ecx
and r8d, edi
cmp rbx, r8
ja 0x18007f020
cmp ax, r13w
jne 0x18007f420
cmp r11, r12
jbe 0x180084325
imul r15, r12, 0x68
lea rax, [r9 + r15]
add rax, 0x40
cmp qword [r9 + r15 + 0x40], 0
je 0x18007f4ed
cmp r10b, 2
je 0x18007f420
test r10b, r10b
je 0x18007f502
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18007f420
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x30]
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0xb0], r10d
call fcn.1800f9270
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
test eax, eax
jne 0x18007f420
jmp 0x18007f566
cmp r10b, 2
jne 0x18007f420
cmp byte [rax + 8], dl
jne 0x18007f420
jmp 0x18007f566
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18007f420
mov rax, qword [rax + 8]
mov rcx, 0xffffffffffffffff
nop dword [rax]
mov r8, qword [rsp + 0x98]
add r8, rcx
cmp r8, 0xffffffffffffffff
mov r9, qword [rsp + 0x48]
je 0x18007f566
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x180137918]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x18007f520
cmp r9, qword [rsp + 0x30]
mov r9, qword [rsp + 0x48]
jb 0x18007f420
cmp qword [r9 + r15], 0
lea rbx, [rsp + 0x630]
je 0x18007f584
add r9, r15
mov rdx, qword [r9 + 8]
mov rcx, rbx
call fcn.180053050
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
mov r9, r12
call fcn.180038a40
lea rcx, [rsp + 0xf8]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x960], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0x950], xmm1
movdqa xmmword [rsp + 0x940], xmm0
mov rax, qword [rsp + 0x120]
test rax, rax
mov rbx, qword [rsp + 0x58]
lea r14, [rsp + 0x710]
lea r15, [0x180137918]
je 0x18007f608
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x138]
call qword [rax + 0x10]
cmp byte [rsp + 0x960], 2
je 0x18007f03c
mov rax, qword [rsp + 0x940]
mov rdx, qword [rsp + 0x948]
mov r8, qword [rsp + 0x950]
lea rcx, [rsp + 0x958]
call qword [rax + 0x10]
jmp 0x18007f03c
mov rsi, rdx
test rbp, rbp
movabs r9, 0x100000001b3
lea r10, [0x180137918]
je 0x18007f6ad
mov r8, rbp
mov rcx, rsi
and r8, 3
je 0x18007f6bf
nop word cs:[rax + rax]
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r13
imul rdx, r9
inc rcx
mov r13, rdx
dec r8
jne 0x18007f670
jmp 0x18007f6c2
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x18007f3d7
mov r10, r13
mov rcx, rdx
cmp rbp, 8
jae 0x18007f210
jmp 0x18007f278
xor eax, eax
mov qword [rsp + 0x30], rax
xor r10d, r10d
mov rdx, rsi
jmp 0x18007f3d7
mov rdx, r13
mov r13, rdx
cmp rbp, 4
jae 0x18007f6e0
xor r10d, r10d
mov r13, rdx
mov rdx, rsi
jmp 0x18007f3d7
movzx edx, byte [rcx]
movzx edx, byte [rdx + r10]
xor rdx, r13
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 r13d, byte [r8 + r10]
xor r13, rdx
imul r13, r9
add rcx, 4
cmp rcx, rax
jne 0x18007f6e0
mov rdx, rsi
xor r10d, r10d
jmp 0x18007f3d7
mov rax, qword [rsp + 0x560]
mov rdx, qword [rsp + 0x568]
mov r8, qword [rsp + 0x570]
lea rcx, [rsp + 0x578]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x220]
test rax, rax
je 0x18007f780
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0x238]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x240]
test rax, rax
mov r13, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0xa8]
lea r14, [rsp + 0x5c8]
je 0x18007f7ca
mov rdx, qword [rsp + 0x248]
mov r8, qword [rsp + 0x250]
lea rcx, [rsp + 0x258]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x260]
test rax, rax
lea rdi, [rsp + 0x3b0]
je 0x18007f7fa
mov rdx, qword [rsp + 0x268]
mov r8, qword [rsp + 0x270]
lea rcx, [rsp + 0x278]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x280]
test rax, rax
je 0x18007f822
mov rdx, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
lea rcx, [rsp + 0x298]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x2a0]
test rax, rax
je 0x18007f84a
mov rdx, qword [rsp + 0x2a8]
mov r8, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x2b8]
call qword [rax + 0x10]
cmp qword [rsp + 0x3b0], 0
je 0x18007f86c
mov ecx, 1
mov rdx, qword [rsp + 0x3c0]
mov rax, rdx
test rcx, rcx
jne 0x18007f8a4
jmp 0x18007f8bf
mov rdx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3c0]
lea rcx, [rsp + 0x220]
call qword [rax + 0x30]
mov rax, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x228]
test rcx, rcx
je 0x18007f8bf
cmp rax, rdx
jne 0x18007f8bf
test rdx, rdx
je 0x18007fa96
lea rcx, [rsp + 0x630]
call fcn.180038070
movzx ecx, byte [rsp + 0x6e8]
cmp qword [rsp + 0x3b0], 0
je 0x18007f8f1
cmp qword [rsp + 0x3c0], 0
sete sil
mov qword [rsp + 0x98], rcx
cmp cl, 7
je 0x18007f91d
jmp 0x18007f9b3
mov rsi, rcx
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3c0]
call qword [rax + 0x28]
mov rcx, rsi
mov esi, eax
mov qword [rsp + 0x98], rcx
cmp cl, 7
jne 0x18007f9b3
lea rcx, [rsp + 0x630]
call fcn.180037930
test rax, rax
je 0x18007f9b3
test rdx, rdx
je 0x18007f9b3
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0xf0], rax
movdqu xmm0, xmmword [rsp + 0x398]
movdqa xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0x220], 2
mov dword [rsp + 0x224], 2
lea rsi, [rsp + 0x220]
mov rcx, rsi
call fcn.180035820
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 3
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.1800676d0
lea rcx, [rsp + 0x630]
call fcn.180024cb0
jmp 0x180080f3d
mov byte [rsp + 0x3d8], sil
mov rax, qword [rsp + 0x700]
test rax, rax
movabs r13, 0x825e724bbd94b981
movabs r15, 0xefb779ef64422b39
movabs r12, 0xc9604db567af508f
je 0x18007fcbc
mov rcx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [rcx - 0x20]
xor r11d, r11d
mov rsi, r12
and rsi, r9
movdqu xmm0, xmmword [rcx + rsi]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmm8
pmovmskb edi, xmm1
test di, di
je 0x18007fa4a
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, r15
mov r14, qword [rdx]
xor r14, r12
or r14, rdi
mov edi, ebx
mov rbx, qword [rsp + 0x58]
jne 0x18007fa10
jmp 0x18007fa67
pcmpeqb xmm0, xmm7
pmovmskb edx, xmm0
test edx, edx
jne 0x18007fcbc
add rsi, r11
add rsi, 0x10
add r11, 0x10
jmp 0x18007f9fb
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 0x18007fac1
bsr r9w, r9w
xor r9d, 0xf
jmp 0x18007fac6
movzx ecx, byte [rsp + 0x6e8]
cmp rcx, 7
ja 0x1800806a2
mov eax, 0xb2
bt rax, rcx
mov edx, 0
jb 0x18007f8c7
jmp 0x18007f8b2
mov r9w, 0x10
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 0x18007faf5
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 0x18007fcbc
mov rdi, qword [rdx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r15
xor rax, r12
or rax, rdx
jne 0x18007fc93
mov rdi, qword [rsi]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0xf0], rax
movdqu xmm0, xmmword [rsi + 8]
movdqa xmmword [rsp + 0xe0], xmm0
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x18007fcbc
mov rsi, qword [rsp + 0x700]
test rsi, rsi
jne 0x18007fbae
movzx eax, byte [0x18016cbc0]
mov ecx, 0x20
mov edx, 8
call fcn.1800f7d90
test rax, rax
je 0x180084713
mov rsi, rax
lea rax, [0x18013a940]
mov qword [rsi], rax
movups xmmword [rsi + 8], xmm9
mov qword [rsi + 0x18], 0
mov qword [rsp + 0x700], rsi
movzx eax, byte [0x18016cbc0]
mov ecx, 0x20
mov edx, 8
call fcn.1800f7d90
test rax, rax
je 0x180084713
mov qword [rax], rdi
movdqa xmm0, xmmword [rsp + 0xe0]
movdqu xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 0x18], rcx
lea rcx, [0x1801378d8]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xbc76be4613c77b7c
mov r8, r13
mov r9, rax
call fcn.180052220
test rax, rax
je 0x18007fcbc
mov rsi, rax
mov r15, rdx
mov rcx, rax
call qword [rdx + 0x18]
xor rdx, r13
movabs rcx, 0xbc76be4613c77b7c
xor rax, rcx
or rax, rdx
jne 0x18008044f
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x220]
test rax, rax
je 0x18007fcbc
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0x238]
call qword [rax + 0x10]
jmp 0x18007fcbc
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18007fcbc
cmp qword [rdi + 0x10], 0x11
jb 0x18007fcaa
mov rsi, qword [rsi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp byte [rsp + 0x98], 7
setne byte [rsp + 0x3f]
mov r8d, 0xe0
lea rcx, [rsp + 0x940]
lea rdx, [rsp + 0x630]
call fcn.1800f8be0
mov rax, qword [rsp + 0xb8]
mov r14, qword [rax]
test r14, r14
cmove rax, r14
mov r12, qword [rsp + 0xa10]
test r12, r12
mov qword [rsp + 0xc0], rax
je 0x18007fdca
mov rax, qword [r12]
mov r8, qword [r12 + 8]
lea r9, [rax - 0x20]
xor r10d, r10d
movabs r11, 0xbc76be4613c77b7c
and r11, r8
movdqu xmm0, xmmword [rax + r11]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmm6
pmovmskb esi, xmm1
nop
test si, si
je 0x18007fd7e
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, r13
mov rbx, qword [rcx]
movabs r15, 0xbc76be4613c77b7c
xor rbx, r15
or rbx, rsi
mov esi, edi
jne 0x18007fd40
jmp 0x18007fd9b
pcmpeqb xmm0, xmm7
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18007fe9d
add r11, r10
add r11, 0x10
add r10, 0x10
jmp 0x18007fd29
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 0x18007fddb
bsr r8w, r8w
xor r8d, 0xf
jmp 0x18007fde0
mov qword [rsp + 0x3e0], 0
jmp 0x18007ffa8
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 0x18007fe0f
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 0x18007fe9d
mov rdi, qword [rcx + 0x18]
mov rcx, rsi
call qword [rdi + 0x18]
xor rdx, r13
movabs rcx, 0xbc76be4613c77b7c
xor rax, rcx
or rax, rdx
jne 0x18007fe74
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0x3f0], xmm1
movdqa xmmword [rsp + 0x3e0], xmm0
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18007fea9
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18007fe9d
cmp qword [rdi + 0x10], 0x11
jb 0x18007fe8b
mov rsi, qword [rsi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x3e0], 0
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x18007ff62
mov rbx, qword [r12]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
not eax
lea r13, [rbx + 0x10]
jmp 0x18007feee
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, ebp
test rdi, rdi
mov rbp, qword [rsp + 0x70]
je 0x18007ff62
test ax, ax
je 0x18007ff00
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18007ff28
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
add rbx, 0xfffffffffffffe00
add r13, 0x10
cmp ax, 0xffff
je 0x18007ff00
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
dec rdi
tzcnt eax, eax
shl rax, 5
mov rcx, rbx
sub rcx, rax
mov rsi, qword [rcx - 0x10]
mov r15, qword [rcx - 8]
mov rcx, rsi
call qword [r15]
cmp qword [r15 + 8], 0
je 0x18007fee2
cmp qword [r15 + 0x10], 0x11
jb 0x18007fed0
mov rsi, qword [rsi - 8]
jmp 0x18007fed0
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x18007ff7b
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call fcn.1800f9370
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 rbx, qword [rsp + 0x58]
movabs rsi, 0x8000000000000001
mov rdi, qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov r15, qword [rsp + 0x40]
mov r13, qword [r15]
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x90], rcx
call rdi
mov rax, qword [0x18016cbb8]
lea rcx, [rsi - 2]
mov qword [rsp + 0x48], rcx
test rax, rcx
mov r12, qword [rsp + 0xa8]
jne 0x180080283
mov dword [rsp + 0x88], 0
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x180084325
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x30], rax
lea rsi, [rax + 0x10]
mov rcx, rsi
call rdi
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x1800802a3
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x18]
test al, al
jne 0x180084325
lea rdx, [r13 + 0x20]
lea rcx, [rsp + 0x220]
call fcn.180027ac0
movzx edi, byte [rsp + 0x220]
cmp dil, 3
jne 0x1800800f5
mov r12, qword [r13 + 0xc0]
test r12b, 1
jne 0x18008015a
test r14, r14
lea r14, [rsp + 0x5c8]
je 0x18008018e
mov rdx, qword [rsp + 0xc0]
mov ecx, dword [rdx + 8]
cmp qword [r13 + 0x1c8], rcx
jbe 0x180084325
mov rax, qword [r13 + 0x1b8]
test rax, rax
je 0x180084325
imul rcx, rcx, 0x130
cmp dword [rax + rcx], 2
je 0x180084325
mov edx, dword [rdx + 0xc]
add rax, rcx
cmp dword [rax + 0x114], edx
jne 0x180084325
mov dil, 3
cmp byte [rax + 0x124], 0
je 0x18008018e
mov byte [rsp + 0x68], 3
jmp 0x1800801a4
movzx eax, byte [rsp + 0x221]
mov byte [rsp + 0x68], al
mov eax, dword [rsp + 0x224]
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x50], rax
lea r14, [rsp + 0x5c8]
cmp byte [rsp + 0xb0], 0
jne 0x1800801cd
jmp 0x1800801bb
shr r12, 8
or r12b, 5
mov dil, 3
mov eax, r12d
mov byte [rsp + 0x68], r12b
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0xa8]
lea r14, [rsp + 0x5c8]
cmp byte [rsp + 0xb0], 0
jne 0x1800801cd
jmp 0x1800801bb
cmp byte [r13 + 0x1b0], 0
je 0x1800802c7
mov dil, 3
mov byte [rsp + 0x68], 1
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0xa8]
cmp byte [rsp + 0xb0], 0
jne 0x1800801cd
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x1800806a9
mov rcx, rsi
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
call rsi
cmp byte [rsp + 0x88], 0
jne 0x1800801f5
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x1800806c4
mov rcx, qword [rsp + 0x90]
call rsi
mov rax, qword [rsp + 0x3e0]
test rax, rax
je 0x180080227
mov rdx, qword [rsp + 0x3e8]
mov r8, qword [rsp + 0x3f0]
lea rcx, [rsp + 0x3f8]
call qword [rax + 0x10]
lea rcx, [rsp + 0x940]
call fcn.180024cb0
movzx ecx, dil
lea rax, [0x180084724]
movsxd r10, dword [rax + rcx*4]
add r10, rax
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x50]
mov r9, r11
mov rax, qword [rsp + 0x60]
mov r13, qword [rsp + 0xd8]
lea rdi, [rsp + 0x3b0]
movzx esi, byte [rsp + 0x68]
jmp r10
mov eax, dword [rsp + 0x60]
xor ecx, ecx
jmp 0x180080e22
call fcn.18010ce00
xor al, 1
mov dword [rsp + 0x88], eax
movzx eax, byte [r13 + 0x18]
test al, al
je 0x180080008
jmp 0x180084325
call fcn.18010ce00
xor al, 1
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x18]
test al, al
je 0x18008004b
jmp 0x180084325
movzx ebx, byte [rsp + 0x3f]
and bl, byte [rsp + 0x3d8]
shr r12, 0x20
lea eax, [r12 + 2]
mov ecx, eax
shr ecx, 0x1f
mov dword [r13 + 0xc0], ecx
mov dword [r13 + 0xc4], eax
mov r9d, dword [r13 + 0xac]
mov r8d, dword [r13 + 0x12c]
lea rcx, [rsp + 0xe0]
mov edx, r12d
call fcn.180027030
cmp byte [rsp + 0x9f8], 5
jne 0x180080323
mov qword [rsp + 0x110], 1
mov r8d, 0xe0
lea r14, [rsp + 0x710]
mov rcx, r14
lea rdx, [rsp + 0x940]
call fcn.1800f8be0
movdqa xmm0, xmmword [rsp + 0x3e0]
movdqa xmm1, xmmword [rsp + 0x3f0]
movdqa xmmword [rsp + 0x570], xmm1
movdqa xmmword [rsp + 0x560], xmm0
mov byte [rsp + 0x20], bl
lea rcx, [rsp + 0x220]
mov edx, r12d
mov r8, r14
lea r9, [rsp + 0x560]
call fcn.18002c540
mov rdi, qword [rsp + 0x220]
movzx r9d, byte [rsp + 0x228]
movzx eax, byte [rsp + 0x229]
mov byte [rsp + 0xc0], al
mov r15d, dword [rsp + 0x22c]
mov r14, qword [rsp + 0x230]
mov rbp, qword [rsp + 0x238]
mov rdx, qword [rsp + 0x240]
mov r12, qword [rsp + 0x248]
cmp rdi, 3
jne 0x180080470
movzx eax, byte [rsp + 0x130]
lea ecx, [rax - 6]
cmp cl, 6
mov rbx, qword [rsp + 0x58]
lea rdi, [rsp + 0x3b0]
mov qword [rsp + 0x68], r14
jb 0x18008076c
lea ecx, [rax - 3]
cmp cl, 2
ja 0x18008040d
cmp cl, 1
jne 0x18008076c
test rax, rax
je 0x18008076c
cmp eax, 1
jne 0x180080735
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
lea rcx, [rsp + 0x150]
mov r14d, r9d
call qword [rax + 0x10]
jmp 0x180080764
mov rcx, rsi
call qword [r15]
cmp qword [r15 + 8], 0
je 0x18007fcbc
cmp qword [r15 + 0x10], 0x11
jae 0x18007fca6
jmp 0x18007fcaa
mov rax, qword [rsp + 0x30]
add rax, 0x20
mov qword [rsp + 0x5b0], rax
lea rax, [r13 + 0xc0]
mov qword [rsp + 0x5a8], rax
lea rax, [r13 + 0x170]
mov qword [rsp + 0x5a0], rax
mov dword [rsp + 0x43c], r15d
mov r15d, r9d
movzx eax, word [rsp + 0x22a]
mov word [rsp + 0xce], ax
mov r8d, 0xe8
lea rcx, [rsp + 0x470]
mov rbx, r12
mov r12, rdx
lea rdx, [rsp + 0x250]
call fcn.1800f8be0
mov qword [rsp + 0x440], rdi
mov byte [rsp + 0x448], r15b
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0x449], al
movzx eax, word [rsp + 0xce]
mov word [rsp + 0x44a], ax
mov eax, dword [rsp + 0x43c]
mov dword [rsp + 0x44c], eax
mov qword [rsp + 0x450], r14
mov qword [rsp + 0x458], rbp
mov qword [rsp + 0x460], r12
mov qword [rsp + 0x468], rbx
lea r12, [r13 + 0x1b8]
mov ebx, dword [rsp + 0x1f4]
mov r8d, 0x130
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0xe0]
call fcn.1800f8be0
lea rdi, [rsp + 0x710]
mov rcx, rdi
mov rdx, r12
mov r8d, ebx
lea rbp, [rsp + 0x220]
mov r9, rbp
call fcn.180026b20
lea rax, [r13 + 0x160]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x5a8]
lea rdx, [rsp + 0x440]
mov r8, qword [rsp + 0x5b0]
mov r9, rdi
call fcn.180086000
cmp al, 0xc
jne 0x1800806db
inc qword [r13 + 0x228]
lock inc qword [r13]
mov rbp, qword [rsp + 0x70]
lea r14, [rsp + 0x5c8]
jle 0x180084325
lea rcx, [rsp + 0x220]
mov rdx, r13
lea r8, [rsp + 0x710]
call fcn.180027180
mov rax, qword [rsp + 0x30]
lock inc qword [rax]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0xa8]
jle 0x180084325
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x78], rax
cmp byte [rsp + 0xb0], 0
jne 0x18008064c
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080fab
mov rcx, rsi
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
call rsi
cmp byte [rsp + 0x88], 0
jne 0x180080674
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080fc6
mov rcx, qword [rsp + 0x90]
call rsi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa0], rax
mov r13, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x68]
jmp case.0x180080275.4
xor edx, edx
jmp 0x18007f8b2
call fcn.18010ce00
test al, al
jne 0x1800801cd
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x18], 1
jmp 0x1800801cd
call fcn.18010ce00
test al, al
jne 0x1800801f5
mov byte [r13 + 0x18], 1
jmp 0x1800801f5
mov r12d, eax
mov rcx, qword [rsp + 0x710]
mov edx, dword [rsp + 0x71c]
call fcn.1800212b0
movdqu xmm0, xmmword [rsp + 0x710]
movdqa xmmword [rsp + 0x220], xmm0
mov rcx, rbp
call fcn.180021500
mov byte [rsp + 0x3f], 3
mov byte [rsp + 0x68], r12b
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x58]
lea r14, [rsp + 0x5c8]
lea rdi, [rsp + 0x3b0]
jmp 0x18008081d
mov r8, qword [rsp + 0x138]
test r8, r8
je 0x18008076c
cmp qword [rsp + 0x140], 0
je 0x18008076c
mov rcx, qword [0x18016cb80]
mov qword [rsp + 0x50], rdx
xor edx, edx
mov r14d, r9d
call qword [sym.imp.kernel32.dll_HeapFree]
mov r9d, r14d
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x170]
test rax, rax
je 0x1800807a6
mov rcx, qword [rsp + 0x178]
mov qword [rsp + 0x50], rbp
mov ebp, r15d
mov r15, r12
mov r12, rdx
mov r14d, r9d
call qword [rax + 0x18]
mov r9d, r14d
mov rdx, r12
mov r12, r15
mov r15d, ebp
mov rbp, qword [rsp + 0x50]
mov rax, qword [rsp + 0x188]
test rax, rax
mov byte [rsp + 0x3f], r9b
je 0x1800807e0
mov rcx, qword [rsp + 0x190]
mov r14d, r15d
mov r15, rdx
call qword [rax + 0x18]
mov dword [rsp + 0x210], r14d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0xa0], r15
jmp 0x1800807f5
mov dword [rsp + 0x210], r15d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x78], rbp
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0x68], al
mov rbp, qword [rsp + 0x70]
lea r14, [rsp + 0x5c8]
cmp byte [rsp + 0xb0], 0
mov r12, qword [rsp + 0xa8]
jne 0x180080841
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080f79
mov rcx, rsi
mov rsi, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
call rsi
cmp byte [rsp + 0x88], 0
jne 0x180080869
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080f94
mov rcx, qword [rsp + 0x90]
call rsi
movzx ecx, byte [rsp + 0x3f]
lea rax, [0x180084724]
movsxd r10, dword [rax + rcx*4]
add r10, rax
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x50]
mov r9, r11
mov rax, qword [rsp + 0x60]
mov r13, qword [rsp + 0xd8]
movzx esi, byte [rsp + 0x68]
mov r15, qword [rsp + 0x40]
jmp r10
cmp qword [rsp + 0x60], 0
je 0x180080e14
mov r15d, esi
mov qword [rsp + 0x50], r11
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x1800808f2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rsi, rax
mov rax, qword [rsp + 0x60]
mov qword [rsi], rax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rax
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180080955
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov qword [rax], rsi
lea rcx, fcn.180013380
mov qword [rax + 8], rcx
mov esi, r15d
mov byte [rax + 0x10], r15b
inc rax
mov cl, 4
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
mov r9, qword [rsp + 0x418]
mov r11, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
jmp case.0x180080275.1
mov byte [rsp + 0x68], sil
mov qword [rsp + 0x50], r11
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0xe0], rcx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
lea rsi, [rcx + 0x10]
mov rcx, rsi
mov rax, qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
call rax
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080f52
xor eax, eax
lea rdi, [rsp + 0x7f0]
mov r8, qword [rsp + 0x60]
movzx ecx, byte [r8 + 0x18]
test cl, cl
mov rcx, qword [rsp + 0x78]
jne 0x180084325
mov edx, ecx
cmp qword [r8 + 0x1c8], rdx
jbe 0x180084325
mov rcx, qword [r8 + 0x1b8]
test rcx, rcx
je 0x180084325
imul rdx, rdx, 0x130
cmp dword [rcx + rdx], 2
je 0x180084325
mov r8, qword [rsp + 0x78]
shr r8, 0x20
add rcx, rdx
cmp dword [rcx + 0x114], r8d
jne 0x180084325
movzx ebx, byte [rcx + 0x124]
test al, al
jne 0x180080a8d
mov rax, qword [0x18016cbb8]
test qword [rsp + 0x48], rax
jne 0x180080f5e
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test bl, bl
mov rbx, qword [rsp + 0x58]
je 0x180080af5
lea rcx, [rsp + 0x440]
lea rdx, [rsp + 0xe0]
call fcn.1800271e0
mov rax, qword [rsp + 0xb8]
cmp qword [rax], 0
je 0x180080ae8
mov rcx, rax
call fcn.1800272e0
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
lock dec qword [rcx]
jne 0x180080ae8
call fcn.180068170
mov rax, qword [rsp + 0xb8]
movdqu xmm0, xmmword [rsp + 0x440]
movdqu xmmword [rax], xmm0
lea rsi, [rsp + 0x220]
mov rcx, rsi
lea rdx, [rsp + 0xe0]
call fcn.1800271e0
cmp byte [rsp + 0x98], 7
mov rax, qword [rsp + 0xf0]
lea rcx, [rsp + 0x238]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rcx], xmm0
mov byte [rsp + 0x230], 0
mov rax, qword [rsp + 0x228]
movzx ecx, byte [rsp + 0x230]
mov edx, dword [rsp + 0x231]
movzx r8d, word [rsp + 0x235]
movzx r9d, byte [rsp + 0x237]
mov r10, qword [rsp + 0x220]
mov r11, qword [rsp + 0x238]
movups xmm0, xmmword [rsp + 0x240]
mov qword [rsp + 0xf8], r10
mov qword [rsp + 0x100], rax
mov byte [rsp + 0x108], cl
mov dword [rsp + 0x109], edx
mov word [rsp + 0x10d], r8w
mov byte [rsp + 0x10f], r9b
mov qword [rsp + 0x110], r11
movups xmmword [rsp + 0x118], xmm0
movaps xmm0, xmmword [rsp + 0x3b0]
movaps xmm1, xmmword [rsp + 0x3c0]
lea rax, [rsp + 0x128]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x398]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0xf0], rax
sete byte [rsp + 0x148]
movzx eax, byte [rsp + 0x3d8]
mov byte [rsp + 0x149], al
lea rcx, [rsp + 0x440]
mov rdx, r15
mov r8, rbx
call fcn.180084db0
movzx eax, byte [rsp + 0x440]
cmp eax, 5
je 0x180080d5b
cmp eax, 6
je 0x1800845f3
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x810], rax
movups xmm0, xmmword [rsp + 0x440]
movdqu xmm1, xmmword [rsp + 0x450]
movdqa xmmword [rsp + 0x800], xmm1
movaps xmmword [rsp + 0x7f0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x720], rax
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x710], xmm0
mov rcx, rdi
call fcn.180035820
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 3
lea rcx, [rsp + 0x710]
lea rdx, [rsp + 0x220]
call fcn.1800676d0
lea rcx, [rsp + 0xf8]
call fcn.1800272e0
mov rcx, qword [rsp + 0xf8]
lock dec qword [rcx]
jne 0x180080ce4
call fcn.180068170
lea rcx, [rsp + 0x110]
call fcn.1800272e0
mov rcx, qword [rsp + 0x110]
lock dec qword [rcx]
lea rdi, [rsp + 0x5c0]
jne 0x180080d0c
call fcn.180068170
mov rcx, qword [rsp + 0x120]
lock dec qword [rcx]
jne 0x180080d1f
call fcn.180086420
lea rcx, [rsp + 0x128]
call fcn.18005b9e0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rax
jmp 0x18007e710
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x280], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x270], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x260], xmm0
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movdqa xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov rcx, rbp
mov rdx, rsi
mov r8, rbx
call fcn.180085040
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rax
lea rdi, [rsp + 0x5c0]
jmp 0x18007e710
movzx eax, sil
shl rax, 0x20
or rax, 3
mov cl, 4
mov rdx, qword [rsp + 0x408]
mov r8, qword [rsp + 0x410]
mov r9, qword [rsp + 0x418]
mov qword [rsp + 0x428], r9
mov qword [rsp + 0x218], r8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x210]
mov dword [rsp + 0x420], eax
mov qword [rsp + 0x408], rdx
mov qword [rsp + 0x410], r8
mov qword [rsp + 0x418], r9
mov qword [rsp + 0x50], r11
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0xf0], rax
movdqu xmm0, xmmword [rsp + 0x398]
movdqa xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0x220], cl
mov byte [rsp + 0x68], sil
mov byte [rsp + 0x221], sil
mov eax, dword [rsp + 0x420]
mov dword [rsp + 0x224], eax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x428]
mov qword [rsp + 0x240], rax
lea rsi, [rsp + 0x220]
mov rcx, rsi
call fcn.180035820
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 3
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.1800676d0
mov rcx, rdi
call fcn.18005b9e0
lea rdi, [rsp + 0x5c0]
jmp 0x18007e710
call fcn.18010ce00
xor al, 1
jmp 0x180080a08
call fcn.18010ce00
test al, al
jne 0x180080a8d
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x18], 1
jmp 0x180080a8d
call fcn.18010ce00
test al, al
jne 0x180080841
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x18], 1
jmp 0x180080841
call fcn.18010ce00
test al, al
jne 0x180080869
mov byte [r13 + 0x18], 1
jmp 0x180080869
call fcn.18010ce00
test al, al
jne 0x18008064c
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x18], 1
jmp 0x18008064c
call fcn.18010ce00
test al, al
jne 0x180080674
mov byte [r13 + 0x18], 1
jmp 0x180080674
pxor xmm6, xmm6
movdqa xmm7, xmmword [0x180111b80]
movdqa xmm8, xmmword [str.PRI__HTTP_2.0_r_nddddddddddddddddssssssssssssssss]
lea rax, [rbp + 0x178]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x88], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0xb0], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0xa8], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x1c9]
mov qword [rsp + 0x98], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0xb8], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x78], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x180]
mov qword [rsp + 0xa0], rax
lea rax, [rbp + 0x99]
mov qword [rsp + 0x218], rax
xor eax, eax
jmp 0x1800810c8
mov rax, qword [rsp + 0x90]
inc eax
cmp byte [rbp + 0xc9], 0
mov byte [rbp + 0xc9], 0
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
je 0x180083d7f
cmp eax, 0x10
je 0x180083d3c
mov qword [rsp + 0x90], rax
cmp byte [rbp + 0x1d8], 0
jne 0x180082525
mov qword [rsp + 0x30], r8
jmp 0x18008112e
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x440]
call fcn.180086780
cmp byte [rbp + 0x1d8], 0
jne 0x180082520
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x180081150
movzx ecx, byte [rbp + 0x1c8]
mov byte [rbp + 0x1c8], 3
cmp cl, 3
jne 0x180081175
jmp 0x180082378
cmp qword [rbp + 0x88], 2
jne 0x1800813e2
movzx ecx, byte [rbp + 0x1c8]
mov byte [rbp + 0x1c8], 3
cmp cl, 3
je 0x180082381
mov rdx, qword [rsp + 0x48]
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
movdqa xmmword [rsp + 0x450], xmm1
movdqa xmmword [rsp + 0x440], xmm0
mov byte [rsp + 0x460], cl
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rdx]
mov edx, dword [rdx + 3]
lea r8, [rsp + 0x450]
mov dword [r8 + 0x14], edx
mov dword [r8 + 0x11], ecx
dec rax
cmp rax, 2
jae 0x180081871
lea rcx, [rsp + 0x440]
mov rdx, rbx
call fcn.180035a30
test rax, rax
jne 0x180082334
mov rsi, rdx
test rdx, rdx
je 0x180081311
cmp dword [rbp + 0x70], 1
jne 0x1800811f9
mov qword [rbp + 0x70], 2
lea rcx, [rsp + 0x220]
mov rdx, rbp
mov r8, rbx
call fcn.18008ff20
mov rax, qword [rsp + 0x220]
cmp rax, 2
je 0x1800812c0
test rax, rax
je 0x1800812c0
mov rax, qword [rsp + 0x228]
test rax, rax
je 0x180081251
mov rdx, qword [rsp + 0x230]
mov r8, qword [rsp + 0x238]
lea rcx, [rsp + 0x240]
call qword [rax + 0x10]
jmp 0x1800812c0
mov rax, qword [rsp + 0x230]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1800812c0
test rcx, rcx
je 0x1800812c0
lea r15, [rax - 1]
mov r12, qword [rax - 1]
mov rdi, qword [rax + 7]
mov rcx, r12
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800812a3
cmp qword [rdi + 0x10], 0x11
jb 0x180081291
mov r12, qword [r12 - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x1800812dd
cmp eax, 3
je 0x1800812dd
mov qword [rbp + 0x70], 4
mov byte [rbp + 0xca], 2
mov r15, qword [rsi]
test r15, r15
je 0x180081102
mov rdi, qword [rsi + 8]
mov rcx, r15
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180081102
cmp qword [rdi + 0x10], 0x11
jb 0x1800810f0
mov r15, qword [r15 - 8]
jmp 0x1800810f0
lea rcx, [rsp + 0xe0]
mov rdx, rbp
mov r8, rbx
call fcn.18008ff20
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x180081871
cmp eax, 1
jne 0x180082334
cmp qword [rsp + 0xe8], 0
je 0x1800816e8
lea rax, [rsp + 0xf8]
movups xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [rax]
movdqa xmmword [rsp + 0xa50], xmm1
movaps xmmword [rsp + 0xa40], xmm0
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x450]
lea r8, [rsp + 0xa40]
call fcn.180035c30
cmp byte [rsp + 0x240], 2
jne 0x1800817ff
cmp byte [rbp + 0x1c8], 3
je 0x1800813ac
mov rcx, qword [rsp + 0x48]
call fcn.180086780
mov rax, qword [rsp + 0x460]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x440]
movdqa xmm1, xmmword [rsp + 0x450]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov r8, qword [rsp + 0x30]
jmp 0x1800810d9
mov rcx, qword [rsp + 0x40]
cmp dword [rcx], 2
je 0x1800824fc
mov rdx, rbx
call fcn.18008b990
test al, al
je 0x1800824fc
mov rbx, r13
movss xmm9, dword [rbp + 0xc1]
movzx eax, byte [rbp + 0xc5]
mov byte [rsp + 0x60], al
movzx r13d, byte [rbp + 0xc6]
movzx esi, byte [rbp + 0xc8]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x840], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x848], rax
movss dword [rsp + 0x850], xmm9
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x854], al
mov byte [rsp + 0x855], r13b
mov byte [rsp + 0x856], sil
cmp qword [rbp + 0x158], 0
je 0x180081590
mov qword [rsp + 0xe0], 2
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0x840]
call fcn.1800394b0
mov rdx, qword [rsp + 0xe0]
cmp rdx, 2
je 0x180081570
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
test rdx, rdx
je 0x1800814ef
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
lea rdx, [rsp + 0xf8]
call qword [rax + 0x68]
mov rdx, qword [rsp + 0xe0]
cmp rdx, 2
je 0x180081570
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
test rdx, rdx
je 0x18008152f
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rsp + 0xf8]
call qword [rax + 0x80]
mov rax, qword [rsp + 0xe0]
cmp rax, 2
je 0x180081570
test rax, rax
je 0x180081570
mov rcx, qword [rsp + 0xe8]
lock dec qword [rcx]
jne 0x180081570
mov rdx, qword [rsp + 0xf0]
call fcn.1800537b0
nop dword [rax + rax]
mov rdi, qword [rsp + 0x220]
cmp rdi, 4
jne 0x1800815a1
jmp 0x180081a15
mov qword [rsp + 0x220], 3
mov edi, 3
movzx eax, byte [rsp + 0x228]
movzx edx, byte [rsp + 0x22f]
movzx ecx, word [rsp + 0x22d]
mov r12d, dword [rsp + 0x229]
lea r9, [rsp + 0x260]
mov r8, qword [r9 - 0x10]
mov qword [rsp + 0x460], r8
movups xmm0, xmmword [r9 - 0x30]
movdqu xmm1, xmmword [r9 - 0x20]
movdqa xmmword [rsp + 0x450], xmm1
movaps xmmword [rsp + 0x440], xmm0
mov r14, qword [rsp + 0x258]
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x560], xmm0
mov r15, qword [rsp + 0x270]
movzx r8d, word [r9 + 0x28]
mov word [rsp + 0x950], r8w
movdqu xmm0, xmmword [r9 + 0x18]
movdqa xmmword [rsp + 0x940], xmm0
movzx ebp, byte [rsp + 0x28a]
mov r8d, dword [r9 + 0x2b]
mov dword [rsp + 0x3b0], r8d
movzx r8d, byte [r9 + 0x2f]
mov byte [rsp + 0x3b4], r8b
cmp rdi, 3
jne 0x180081888
xor eax, eax
mov rbp, qword [rsp + 0x70]
cmp byte [rbp + 0xd0], 0
sete al
mov rcx, qword [rbp + 0x158]
cmp rcx, qword [rbp + rax*8 + 0xd8]
jae 0x1800819d1
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x58]
call fcn.18008e220
mov rax, qword [rsp + 0x220]
cmp rax, 2
je 0x1800819f8
mov rcx, qword [rsp + 0x228]
test rax, rax
jne 0x180081a05
test rcx, rcx
jne 0x180081430
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
je 0x180081b14
mov r13, rbx
mov rsi, qword [rsp + 0x80]
jmp 0x180081b35
mov rdi, qword [rsp + 0xf0]
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180081719
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x10], 8
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18008176a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846e5
mov qword [0x18016cb80], rax
mov r8d, 8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846e5
mov qword [rax], rdi
mov qword [rsi], rax
lea rax, [0x180137310]
mov qword [rsi + 8], rax
mov qword [rsp + 0xa48], rsi
mov qword [rsp + 0xa40], 0
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x450]
lea r8, [rsp + 0xa40]
call fcn.180035c30
cmp byte [rsp + 0x240], 2
je 0x180081871
mov rax, qword [rsp + 0x220]
test rax, rax
je 0x180081a3c
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0x238]
jmp 0x18008186e
mov rax, qword [rsp + 0x220]
test rax, rax
lea rcx, [rsp + 0x260]
je 0x180084325
mov rdx, qword [rsp + 0x228]
movdqu xmm0, xmmword [rcx - 0x30]
lea rcx, [rsp + 0xa58]
movdqu xmmword [rcx - 8], xmm0
mov qword [rsp + 0xa40], rax
mov qword [rsp + 0xa48], rdx
mov rcx, qword [rbp + 0x70]
dec rcx
cmp rcx, 2
jae 0x18008185e
mov qword [rbp + 0x70], 4
mov byte [rbp + 0xca], 2
mov r8, qword [rsp + 0xa50]
lea rcx, [rsp + 0xa58]
call qword [rax + 0x10]
lea rcx, [rsp + 0x440]
call fcn.180086780
mov r8, qword [rsp + 0x30]
jmp 0x1800810d9
shl edx, 0x10
or ecx, edx
shl rcx, 0x20
or r12, rcx
mov rdx, qword [rsp + 0x290]
movzx ecx, byte [rsp + 0x298]
movzx r9d, byte [rsp + 0x299]
movzx r8d, byte [rsp + 0x29a]
mov r10, qword [rsp + 0x460]
mov qword [rsp + 0xa60], r10
movaps xmm0, xmmword [rsp + 0x440]
movaps xmm1, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0xa50], xmm1
movaps xmmword [rsp + 0xa40], xmm0
movaps xmm0, xmmword [rsp + 0x560]
movaps xmmword [rsp + 0x3e0], xmm0
movaps xmm0, xmmword [rsp + 0x940]
movaps xmmword [rsp + 0x630], xmm0
movzx r10d, word [rsp + 0x950]
mov word [rsp + 0x640], r10w
mov r10d, dword [rsp + 0x3b0]
mov dword [rsp + 0x398], r10d
movzx r10d, byte [rsp + 0x3b4]
mov byte [rsp + 0x39c], r10b
shl r12, 8
mov r10, qword [rsp + 0x70]
mov byte [r10 + 0xc8], 0
cmp byte [r10 + 0xca], 2
jne 0x180081959
test r9b, r9b
jne 0x180081973
cmp r9b, 1
mov r9d, 0
adc r9b, 1
mov r10, qword [rsp + 0x70]
mov byte [r10 + 0xca], r9b
or r12, rax
mov rsi, qword [rsp + 0x70]
mov byte [rsi + 0xcb], bpl
test r8b, r8b
setne al
add al, al
test rdx, rdx
mov r13, rbx
mov byte [rsp + 0x60], al
je 0x180081a90
test cl, cl
mov rbx, qword [rsp + 0x58]
je 0x180082120
cmp rdx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x1800821da
cmp rdx, 0xfffffffffffffffe
jne 0x1800821de
mov al, 1
xor esi, esi
jmp 0x1800821e3
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
je 0x180081ac4
mov r13, rbx
mov rsi, qword [rsp + 0x80]
jmp 0x180081ae5
mov edi, 5
mov r13, rbx
jmp 0x180081cfa
call fcn.1800360a0
mov r12, rax
mov r13, rbx
jmp 0x180081ba4
movzx esi, byte [rsp + 0x228]
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
je 0x180081b5f
mov r13, rbx
jmp 0x180081b78
mov rsi, qword [rsp + 0x228]
mov r15, qword [rsi]
test r15, r15
je 0x180081a79
mov rdi, qword [rsi + 8]
mov rcx, r15
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180081a79
cmp qword [rdi + 0x10], 0x11
jb 0x180081a67
mov r15, qword [r15 - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180081871
mov qword [rsi + 0x70], 3
mov rcx, rsi
call fcn.18008fd60
mov rcx, rsi
mov rbx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.18008fe40
xor edx, edx
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
jmp 0x180082229
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
mov rsi, qword [rsp + 0x80]
je 0x1800846d4
mov r13, rbx
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov r12, rax
mov qword [rax], 0
mov word [rax + 0x10], 0x900
jmp 0x180081bac
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
mov rsi, qword [rsp + 0x80]
je 0x1800846d4
mov r13, rbx
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov r12, rax
mov qword [rax], 0
mov byte [rax + 0x10], 2
jmp 0x180081bac
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov r13, rbx
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov r12, rax
mov qword [rax], 0
mov byte [rax + 0x10], 0
mov byte [rax + 0x11], sil
mov rsi, qword [rsp + 0x80]
movzx ebx, byte [rbp + 0xca]
mov qword [rbp + 0x70], 4
mov byte [rbp + 0xca], 2
mov rax, qword [rbp + 0x158]
test rax, rax
je 0x180081c10
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
xor edx, edx
jmp 0x180081be8
inc rdx
cmp rax, rdx
je 0x180081c03
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x180081be0
cmp r8d, 0xa
je 0x180081be0
cmp rax, rdx
jae 0x180081c06
jmp 0x180084325
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.180015230
cmp byte [r12 + 0x10], 0
mov r8, qword [rsp + 0x30]
je 0x180081c88
cmp qword [rbp + 0x158], 0
jne 0x180081c88
test bl, bl
jne 0x180081c88
mov qword [rbp + 0x88], 5
mov byte [rbp + 0xca], 2
mov r15, qword [r12]
mov edi, 4
test r15, r15
je 0x180081ce5
mov rbx, qword [r12 + 8]
mov rcx, r15
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x180081ce5
mov edi, 4
cmp qword [rbx + 0x10], 0x11
jb 0x180081c74
mov r15, qword [r15 - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180081ce5
mov edi, 3
cmp dword [rbp + 0x88], 2
mov rcx, qword [rsp + 0x40]
jne 0x180081cde
cmp qword [rbp + 0x158], 0x18
mov rbx, qword [rsp + 0x58]
jb 0x180081d11
mov rax, qword [rsp + 0x68]
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
je 0x18008214b
mov rcx, qword [rsp + 0x40]
jmp 0x180081d11
mov rbx, qword [rsp + 0x58]
jmp 0x180081d11
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
mov r12, rsi
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
cmp rdi, 3
mov qword [rsp + 0x80], rsi
je 0x1800822de
cmp rdi, 4
je 0x180081ee2
cmp rdi, 5
je 0x180082525
mov r14, r8
mov qword [rsp + 0x440], rdi
mov qword [rsp + 0x448], r12
mov rax, qword [rsp + 0x730]
lea rcx, [rsp + 0x450]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rsp + 0x710]
movdqa xmm1, xmmword [rsp + 0x720]
movdqu xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0x478], rax
movaps xmm0, xmmword [rsp + 0x7f0]
movups xmmword [rcx + 0x30], xmm0
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0x490], rax
movzx eax, word [rsp + 0x5d0]
mov word [rcx + 0x58], ax
movdqa xmm0, xmmword [rsp + 0x5c0]
movdqu xmmword [rcx + 0x48], xmm0
movzx eax, byte [rsp + 0x428]
mov byte [rsp + 0x4aa], al
movzx eax, byte [rsp + 0x594]
mov byte [rcx + 0x5f], al
mov eax, dword [rsp + 0x590]
mov dword [rcx + 0x5b], eax
test rdx, rdx
je 0x180081ef4
movzx r8d, byte [rsp + 0x60]
and r8b, 1
lea rcx, [rsp + 0x220]
call fcn.180034840
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x220]
movups xmm1, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
lea rcx, [rsp + 0x260]
mov rax, qword [rcx + 8]
mov qword [rsp + 0xa60], rax
movups xmm0, xmmword [rcx - 0x18]
movups xmm1, xmmword [rcx - 8]
movaps xmmword [rsp + 0xa50], xmm1
movaps xmmword [rsp + 0xa40], xmm0
mov rdi, qword [rsp + 0x270]
cmp byte [rbp + 0x1c8], 3
je 0x180081e78
mov rcx, qword [rsp + 0x48]
call fcn.180086780
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
movdqa xmm0, xmmword [rsp + 0xa40]
movdqa xmm1, xmmword [rsp + 0xa50]
movdqa xmmword [rsp + 0x840], xmm0
movdqa xmmword [rsp + 0x850], xmm1
mov rax, qword [rsp + 0xa60]
mov qword [rsp + 0x860], rax
movzx eax, byte [rsp + 0x60]
test al, 2
jne 0x180081f0c
jmp 0x180081fea
cmp dword [rbp + 0x88], 5
jne 0x1800810d9
jmp 0x18008230e
movdqa xmmword [rsp + 0x840], xmm6
xor edi, edi
movzx eax, byte [rsp + 0x60]
test al, 2
je 0x180081fea
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180081f35
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180084702
mov qword [0x18016cb80], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180084702
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movdqu xmmword [rax + 0x30], xmm6
lock inc qword [rax]
jle 0x180084325
cmp qword [rbp], 0
je 0x180081fbf
mov r15, qword [rbp + 8]
test r15, r15
je 0x180081fbf
mov rax, qword [r15 + 0x30]
mov rcx, rax
test cl, 4
jne 0x180081fb1
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [r15 + 0x30], rdx
jne 0x180081f84
and ecx, 5
cmp ecx, 1
jne 0x180081fb1
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x28]
call qword [rax + 0x10]
lock dec qword [r15]
jne 0x180081fbf
mov rcx, r15
call fcn.180036d40
mov qword [rbp], 1
mov qword [rbp + 8], rsi
mov edx, 1
lea rcx, [rsp + 0x4a0]
mov r8, rsi
call fcn.18008b7e0
cmp rax, 2
jne 0x1800820ce
movups xmm0, xmmword [rsp + 0x4a0]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x480]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x440]
movups xmm1, xmmword [rsp + 0x450]
movups xmm2, xmmword [rsp + 0x460]
movups xmm3, xmmword [rsp + 0x470]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0x860]
lea rcx, [rsp + 0xf8]
mov qword [rcx + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x840]
movdqa xmm1, xmmword [rsp + 0x850]
movdqu xmmword [rcx + 0x68], xmm1
movdqu xmmword [rcx + 0x58], xmm0
mov r8d, 0x98
lea rsi, [rsp + 0x220]
mov rcx, rsi
lea rdx, [rsp + 0xe0]
call fcn.1800f8be0
mov qword [rsp + 0x2b8], rdi
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.180084870
test rax, rax
mov r8, r14
je 0x1800810d9
jmp 0x18008246d
test rax, rax
je 0x180081fea
mov rsi, rdx
test rdx, rdx
je 0x180081fea
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x1800820e7
and eax, 0xa
cmp eax, 8
jne 0x180082109
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call qword [rax + 0x10]
lock dec qword [rsi]
jne 0x180081fea
mov rcx, rsi
call fcn.180084750
jmp 0x180081fea
cmp rdx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
je 0x180082205
cmp rdx, 0xfffffffffffffffe
jne 0x180082209
mov al, 1
xor r8d, r8d
jmp 0x18008220e
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180082174
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rsi, rax
mov qword [rax], 0
mov word [rax + 0x10], 0x500
mov r15, qword [r12]
mov edi, 3
test r15, r15
je 0x180081ce5
mov rbx, qword [r12 + 8]
mov rcx, r15
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x180081ce5
mov edi, 3
cmp qword [rbx + 0x10], 0x11
jae 0x180081c70
jmp 0x180081c74
mov al, 2
jmp 0x1800821e3
xor eax, eax
mov rsi, rdx
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x70], 1
mov byte [rcx + 0x78], al
mov byte [rcx + 0x79], 0
mov qword [rcx + 0x80], rsi
or byte [rsp + 0x60], 1
jmp 0x180082229
mov al, 2
jmp 0x18008220e
xor eax, eax
mov r8, rdx
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x70], 2
mov byte [rcx + 0x78], al
mov byte [rcx + 0x79], 0
mov qword [rcx + 0x80], r8
mov rax, qword [rsp + 0xa60]
mov qword [rsp + 0x730], rax
movaps xmm0, xmmword [rsp + 0xa40]
movdqa xmm1, xmmword [rsp + 0xa50]
movdqa xmmword [rsp + 0x720], xmm1
movaps xmmword [rsp + 0x710], xmm0
movaps xmm0, xmmword [rsp + 0x3e0]
movaps xmmword [rsp + 0x7f0], xmm0
movdqa xmm0, xmmword [rsp + 0x630]
movdqa xmmword [rsp + 0x5c0], xmm0
movzx eax, word [rsp + 0x640]
mov word [rsp + 0x5d0], ax
mov eax, dword [rsp + 0x398]
mov dword [rsp + 0x590], eax
movzx eax, byte [rsp + 0x39c]
mov byte [rsp + 0x594], al
mov qword [rsp + 0x420], r14
mov qword [rsp + 0x3d8], r15
mov byte [rsp + 0x428], bpl
mov rbp, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
cmp rdi, 3
mov qword [rsp + 0x80], rsi
jne 0x180081d23
mov qword [rsp + 0x228], r12
mov qword [rsp + 0x220], 3
lea rdx, [rsp + 0x220]
mov rsi, r8
call fcn.180084870
mov r8, rsi
test rax, rax
jne 0x18008246d
mov byte [rbp + 0x1d8], 1
mov qword [rbp + 0x70], 4
mov qword [rbp + 0x88], 5
mov byte [rbp + 0xca], 2
jmp 0x1800810d9
cmp byte [rbp + 0x1c8], 3
je 0x180082347
mov rcx, qword [rsp + 0x48]
call fcn.180086780
mov rax, qword [rsp + 0x460]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x440]
movdqa xmm1, xmmword [rsp + 0x450]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x180082520
cmp eax, 4
je 0x180082520
test rax, rax
jne 0x1800823f4
cmp qword [rbp + 0x88], 2
jne 0x1800823f4
cmp qword [rbp + 0x158], 0
je 0x180082483
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x1800823c7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rsi, rax
mov qword [rax], 0
mov byte [rax + 0x10], 3
jmp 0x1800824d8
cmp byte [rbp + 0xc0], 0
jne 0x180082520
cmp qword [rbp + 0x158], 0
jne 0x180082520
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.18008e220
mov rax, qword [rsp + 0x220]
cmp rax, 2
je 0x180082520
mov rcx, qword [rsp + 0x228]
test rax, rax
jne 0x1800824b6
test rcx, rcx
mov r8, qword [rsp + 0x30]
jne 0x180082525
mov qword [rbp + 0x70], 4
mov byte [rbp + 0xca], 2
call fcn.180035fe0
mov r8, qword [rsp + 0x30]
mov rsi, rax
mov rcx, qword [rsp + 0x40]
test rsi, rsi
je 0x180082525
jmp 0x180083d0a
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x88]
mov r8, rbx
call fcn.18008e220
mov rax, qword [rsp + 0x220]
cmp rax, 2
je 0x180082520
mov rcx, qword [rsp + 0x228]
test rax, rax
je 0x1800824ec
mov qword [rbp + 0x70], 4
mov qword [rbp + 0x88], 5
mov byte [rbp + 0xca], 2
call fcn.1800360a0
mov rsi, rax
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
test rsi, rsi
je 0x180082525
jmp 0x180083d0a
test rcx, rcx
je 0x180083a60
call fcn.180036040
jmp 0x1800824d5
mov byte [rbp + 0x1d8], 1
mov qword [rbp + 0x70], 4
mov qword [rbp + 0x88], 5
mov byte [rbp + 0xca], 2
nop dword [rax]
mov r8, qword [rsp + 0x30]
mov qword [rsp + 0x30], r8
cmp byte [rbp + 0x1d8], 0
je 0x180082560
mov rcx, rbp
mov rdx, rbx
call fcn.180091420
mov rcx, rax
call fcn.180092230
test rax, rax
jne 0x1800810a0
mov rsi, rdx
test rdx, rdx
je 0x1800810a0
jmp 0x180083d05
jmp 0x180082579
mov rbx, qword [rsp + 0x58]
nop word [rax + rax]
cmp byte [rbp + 0x1d8], 0
jne 0x180082533
mov rax, qword [rbp + 0x1d0]
cmp qword [rax], 0
je 0x1800825f0
cmp byte [rbp + 0x170], 0
jne 0x1800826d4
cmp byte [rbp + 0x148], 0
je 0x18008264b
mov r8, qword [rbp + 0x138]
cmp r8, 0xf
ja 0x180082cfa
test r8, r8
je 0x18008265b
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
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 0x180082661
add r8, rax
mov rcx, r8
jmp 0x18008265f
cmp qword [rbp + 0x70], 4
je 0x180082586
cmp qword [rbp + 0x88], 2
jne 0x180082586
mov r8, qword [rbp + 0x138]
test r8, r8
je 0x1800828b5
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
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 0x1800828bb
add r8, rax
mov rcx, r8
jmp 0x1800828b9
mov r8, qword [rbp + 0x138]
test r8, r8
jne 0x1800825ba
xor eax, eax
xor ecx, ecx
xor edx, edx
mov rsi, qword [rbp + 0x110]
sub rsi, qword [rbp + 0x118]
mov r8, qword [rbp + 0x120]
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 + 0x220], rax
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], r8
mov qword [rsp + 0x238], rdx
lea rcx, [rsp + 0x220]
call fcn.1800912e0
add rax, rsi
cmp rax, qword [rbp + 0x140]
jae 0x180082cfa
mov r14, qword [rbp + 0x1d0]
mov rsi, qword [r14]
lea r12, [r14 + 8]
test rsi, rsi
cmovne rsi, r12
je 0x180082533
mov rax, qword [rbp + 0x88]
cmp rax, 3
ja 0x1800839d0
cmp rax, 2
je 0x1800839d0
lea rcx, [rsp + 0x220]
mov rdx, rsi
mov r8, rbx
call fcn.180052430
cmp dword [rsp + 0x220], 2
je 0x180082533
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x860], rax
movdqu xmm0, xmmword [rsp + 0x220]
movdqu xmm1, xmmword [rsp + 0x230]
movdqa xmmword [rsp + 0x850], xmm1
movdqa xmmword [rsp + 0x840], xmm0
mov rdi, qword [rsp + 0x840]
test rdi, rdi
je 0x180082c70
mov rax, qword [rsp + 0x848]
mov rbx, qword [rsp + 0x850]
test rax, rax
je 0x180083c49
lea rcx, [rsp + 0x858]
movdqu xmm0, xmmword [rcx]
lea rcx, [rsp + 0x720]
movdqu xmmword [rcx], xmm0
mov qword [rsp + 0x710], rax
mov qword [rsp + 0x718], rbx
cmp qword [rsi], 0
je 0x180082800
cmp qword [rsi + 0x10], 0
mov rbx, qword [rsp + 0x58]
je 0x180082814
mov rsi, qword [rsp + 0x720]
test rsi, rsi
jne 0x180082c91
mov rax, qword [rsp + 0x710]
mov rdx, qword [rsp + 0x718]
lea rcx, [rsp + 0x728]
xor r8d, r8d
call qword [rax + 0x10]
jmp 0x180082570
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
call qword [rax + 0x28]
test al, al
mov rbx, qword [rsp + 0x58]
je 0x1800827c3
mov rsi, qword [rsp + 0x720]
test rsi, rsi
je 0x180082d27
mov rbx, qword [rsp + 0x728]
mov rax, qword [rbp + 0x88]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x180082848
cmp rcx, 1
jne 0x180084325
movups xmm0, xmmword [rsp + 0x710]
movaps xmmword [rsp + 0x630], xmm0
test rax, rax
je 0x180082f35
mov rax, qword [rsp + 0x50]
mov r8, qword [rax]
cmp rsi, r8
jae 0x18008316c
movdqu xmm0, xmmword [rsp + 0x710]
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], rbx
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x220]
call fcn.180092810
mov eax, 5
mov rbx, qword [rsp + 0x50]
jmp 0x180083960
xor eax, eax
xor ecx, ecx
xor edx, edx
mov r8, qword [rsp + 0xb8]
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 + 0x220], rax
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], r8
mov qword [rsp + 0x238], rdx
lea rcx, [rsp + 0x220]
call fcn.1800912e0
test rax, rax
jne 0x180082586
mov rax, qword [rsp + 0x40]
cmp qword [rax], 2
jne 0x180082586
mov rdx, qword [rbp + 0x190]
mov r8, qword [rbx]
lea rcx, [rsp + 0x220]
call fcn.18008dfd0
mov rsi, qword [rsp + 0x320]
cmp rsi, 4
je 0x180083a7a
cmp esi, 3
je 0x180083ad6
cmp esi, 2
je 0x180084325
mov r8d, 0x100
lea r14, [rsp + 0xe0]
mov rcx, r14
lea rdi, [rsp + 0x220]
mov rdx, rdi
call fcn.1800f8be0
lea r15, [rsp + 0x260]
movups xmm0, xmmword [r15 + 0xc8]
movaps xmmword [rsp + 0x630], xmm0
mov r8d, 0x100
lea r12, [rsp + 0x440]
mov rcx, r12
mov rdx, r14
call fcn.1800f8be0
movaps xmm0, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x5c0], xmm0
mov r8d, 0x100
mov rcx, rdi
mov rdx, r12
call fcn.1800f8be0
mov qword [rsp + 0x630], rsi
movdqa xmm0, xmmword [rsp + 0x5c0]
lea rax, [rsp + 0x638]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x630]
mov rdx, rbx
call fcn.18008b990
test al, al
je 0x180083b0c
mov rax, qword [r15 + 0x88]
lea rcx, [rsp + 0xf8]
mov qword [rcx + 0x50], rax
movups xmm0, xmmword [r15 + 0x78]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [r15 + 0x70]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [r15 + 0x60]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [r15 + 0x20]
movups xmm1, xmmword [r15 + 0x30]
movups xmm2, xmmword [r15 + 0x40]
movups xmm3, xmmword [r15 + 0x50]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movzx ebx, byte [rsp + 0x2f8]
mov rdi, qword [rsp + 0x220]
mov r14, qword [rsp + 0x228]
movups xmm0, xmmword [r15 - 0x30]
movups xmm1, xmmword [r15 - 0x20]
movups xmm2, xmmword [r15 - 0x10]
movups xmm3, xmmword [r15]
movaps xmmword [rsp + 0x840], xmm0
movaps xmmword [rsp + 0x850], xmm1
movaps xmmword [rsp + 0x860], xmm2
movaps xmmword [rsp + 0x870], xmm3
movups xmm0, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x880], xmm0
mov r15, qword [rsp + 0x2f0]
movaps xmm0, xmmword [rsp + 0x140]
lea rax, [rsp + 0x858]
movups xmmword [rax + 0x98], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rax + 0x88], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rax + 0x78], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movups xmmword [rax + 0x68], xmm3
movups xmmword [rax + 0x58], xmm2
movups xmmword [rax + 0x48], xmm1
movups xmmword [rax + 0x38], xmm0
mov rcx, qword [rsp + 0x40]
cmp dword [rcx], 2
je 0x180082b4e
call fcn.1800650c0
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rsi
movaps xmm0, xmmword [rsp + 0x5c0]
mov rax, qword [rsp + 0xa0]
movups xmmword [rax], xmm0
mov r8d, 0xc0
lea rcx, [rsp + 0x710]
lea rdx, [rsp + 0x840]
call fcn.1800f8be0
lea rax, [rsp + 0x300]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
lea rax, [rsp + 0x947]
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rdi, 3
je 0x180083b33
cmp rdi, 4
je 0x180083b54
mov rax, qword [rsp + 0x95f]
mov qword [rsp + 0x23f], rax
movups xmm0, xmmword [rsp + 0x940]
movups xmm1, xmmword [rsp + 0x950]
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0xa40], rdi
mov qword [rsp + 0xa48], r14
mov r8d, 0xc0
lea rcx, [rsp + 0xa50]
lea rdx, [rsp + 0x710]
call fcn.1800f8be0
mov qword [rsp + 0xb10], r15
mov byte [rsp + 0xb18], bl
lea rax, [rsp + 0x260]
movdqu xmm0, xmmword [rax - 0x39]
movdqu xmm1, xmmword [rax - 0x29]
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
cmp qword [rsp + 0xe0], 0
je 0x1800832c1
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x1800832dc
mov ecx, 1
mov rdx, rax
jmp 0x1800836e7
mov rcx, rbp
call fcn.180092320
mov bl, 1
test rax, rax
jne 0x180084446
test rdi, rdi
je 0x18008397b
jmp 0x1800839ae
mov rbx, qword [rsp + 0x728]
mov rax, qword [rbp + 0x88]
lea rcx, [rax - 2]
cmp rcx, 3
ja 0x180082cb4
cmp rcx, 1
jne 0x180084325
movups xmm0, xmmword [rsp + 0x710]
movaps xmmword [rsp + 0x630], xmm0
test rax, rax
je 0x180082d6b
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx]
mov rcx, rax
sub rcx, rsi
jae 0x180082e51
mov qword [rdx], 0
mov ecx, 1
lea rdx, [rsp + 0x710]
jmp 0x180082e5e
mov rcx, rbp
mov rdx, rbx
call fcn.180091420
mov rcx, rax
call fcn.180092230
test rax, rax
jne 0x180082533
mov rsi, rdx
test rdx, rdx
je 0x180082570
jmp 0x180083d05
mov rcx, rbp
call fcn.180092320
test rax, rax
jne 0x1800844e8
mov rax, qword [rsp + 0x710]
mov rdx, qword [rsp + 0x718]
mov r8, qword [rsp + 0x720]
lea rcx, [rsp + 0x728]
call qword [rax + 0x10]
mov bl, 1
test rdi, rdi
je 0x18008397b
jmp 0x1800839ae
mov qword [rsp + 0x3e0], rsi
movdqa xmmword [rsp + 0x440], xmm6
mov dword [rsp + 0x450], 0
lea rax, [rsp + 0x440]
mov qword [rsp + 0x560], rax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x940], rax
lea rax, [0x18001ab80]
mov qword [rsp + 0x948], rax
lea rax, [0x180127318]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
lea rax, [rsp + 0x940]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0x560]
lea rdx, [0x1801266b8]
lea r8, [rsp + 0xe0]
call fcn.180016750
test al, al
jne 0x180084325
mov rax, qword [rsp + 0x440]
lea rdx, [rsp + 0x450]
mov rcx, qword [rdx - 8]
mov qword [rsp + 0x940], rcx
mov ecx, dword [rdx]
mov dword [rsp + 0x948], ecx
mov ecx, 2
lea rdx, [rsp + 0x630]
jmp 0x180082e5e
mov qword [rdx], rcx
lea rdx, [rsp + 0x710]
xor ecx, ecx
movdqu xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0x260]
movdqu xmmword [r8 - 0x38], xmm0
mov qword [rsp + 0x238], rsi
mov qword [rsp + 0x240], rbx
mov rdx, qword [rsp + 0x940]
mov qword [r8 - 0x10], rdx
mov edx, dword [rsp + 0x948]
mov dword [r8 - 8], edx
mov edx, dword [rsp + 0x94c]
mov dword [r8 - 4], edx
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x248], rax
lea rax, [0x180137bfe]
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x268], 2
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x220]
call fcn.180092490
cmp qword [rbp + 0x88], 0
je 0x180082f25
cmp qword [rbp + 0x90], 0
jne 0x180082f25
xor eax, eax
cmp byte [rbp + 0x98], 0
sete al
xor rax, 5
movdqu xmm0, xmmword [rsp + 0x5c0]
mov rcx, qword [rsp + 0x50]
movdqu xmmword [rcx], xmm0
mov qword [rbp + 0x88], rax
xor ebx, ebx
test rdi, rdi
je 0x18008397b
jmp 0x1800839ae
mov qword [rsp + 0x560], rsi
movdqa xmmword [rsp + 0x440], xmm6
mov dword [rsp + 0x450], 0
lea rax, [rsp + 0x440]
mov qword [rsp + 0x5c0], rax
lea rax, [rsp + 0x560]
mov qword [rsp + 0x940], rax
lea rax, [0x18001ab80]
mov qword [rsp + 0x948], rax
lea rax, [0x180127318]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 2
lea rax, [rsp + 0x940]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
mov qword [rsp + 0x240], 0
lea rcx, [rsp + 0x5c0]
lea rdx, [0x1801266b8]
lea r8, [rsp + 0x220]
call fcn.180016750
test al, al
jne 0x180084325
mov eax, dword [rsp + 0x450]
lea rcx, [rsp + 0x100]
mov dword [rcx + 0x10], eax
movaps xmm0, xmmword [rsp + 0x440]
movups xmmword [rcx], xmm0
movdqa xmm0, xmmword [rsp + 0x630]
movdqa xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rbx
lea rax, [0x180137bf2]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 7
cmp byte [rbp + 0x148], 0
je 0x180083314
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x260], rax
movaps xmm0, xmmword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
movaps xmm1, xmmword [rsp + 0x100]
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 0x250], rdx
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x258], rdx
movaps xmmword [rsp + 0x240], xmm1
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rcx
movaps xmmword [rsp + 0x220], xmm0
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
cmp rax, rcx
mov rbx, qword [rsp + 0x50]
jne 0x1800830f1
mov rcx, qword [rsp + 0xb8]
call fcn.180092770
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
add rdx, rax
cmp rdx, rcx
mov r8d, 0
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [rbp + 0x120]
lea rdx, [rdx + rdx*4]
shl rdx, 4
mov qword [rcx + rdx], 2
movdqa xmm0, xmmword [rsp + 0x220]
movdqa xmm1, xmmword [rsp + 0x230]
movaps xmm2, xmmword [rsp + 0x240]
movaps xmm3, xmmword [rsp + 0x250]
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 + 0x260]
mov qword [rcx + rdx + 0x48], r8
jmp 0x1800832b2
jne 0x1800831ac
movdqu xmm0, xmmword [rsp + 0x710]
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], rbx
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x220]
call fcn.180092810
mov rbx, qword [rsp + 0x50]
jmp 0x180083950
movdqu xmm0, xmmword [rsp + 0x710]
movdqa xmmword [rsp + 0x440], xmm0
mov qword [rsp + 0x450], rsi
mov qword [rsp + 0x458], rbx
mov qword [rsp + 0x460], r8
cmp byte [rbp + 0x148], 0
je 0x18008362f
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x240], rax
movaps xmm0, xmmword [rsp + 0x440]
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x238], rax
movaps xmmword [rsp + 0x220], xmm0
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
cmp rax, rcx
mov rbx, qword [rsp + 0x50]
jne 0x180083256
mov rcx, qword [rsp + 0xb8]
call fcn.180092770
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
add rdx, rax
cmp rdx, rcx
mov r8d, 0
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [rbp + 0x120]
lea rdx, [rdx + rdx*4]
shl rdx, 4
mov qword [rcx + rdx], 1
movdqa xmm0, xmmword [rsp + 0x220]
movdqa xmm1, xmmword [rsp + 0x230]
movdqu xmmword [rcx + rdx + 8], xmm0
movdqu xmmword [rcx + rdx + 0x18], xmm1
mov r8, qword [rsp + 0x240]
mov qword [rcx + rdx + 0x28], r8
inc rax
mov qword [rbp + 0x138], rax
jmp 0x180083950
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
call qword [rax + 0x28]
test al, al
je 0x18008360b
mov rsi, qword [rbp + 0x1d0]
cmp qword [rsi], 0
mov rbx, qword [rsp + 0x58]
je 0x1800832f7
lea rcx, [rsi + 8]
call fcn.18005b9e0
mov qword [rsi], 0
mov r9d, 2
mov sil, 1
mov rax, qword [rsp + 0xd0]
jmp 0x18008376e
movzx eax, byte [rsp + 0x112]
movzx ecx, byte [rsp + 0x113]
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, rsi
setb r9b
jb 0x180084325
mov r10, r8
add r10, 7
jb 0x180084325
mov rdx, qword [rbp + 0x118]
test rdx, rdx
je 0x1800833c9
mov r11, qword [rbp + 0x108]
mov r15, qword [rbp + 0x110]
sub r11, r15
cmp r11, r10
jae 0x1800833c9
sub r15, rdx
jb 0x180084325
mov qword [rbp + 0x110], 0
je 0x1800833be
mov rcx, qword [rbp + 0x100]
add rdx, rcx
mov r8, r15
call fcn.1800f8be0
mov qword [rbp + 0x110], r15
movzx eax, byte [rsp + 0x112]
movzx ecx, byte [rsp + 0x113]
mov rsi, qword [rsp + 0xf0]
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, rsi
setb r9b
mov qword [rbp + 0x118], 0
test r9b, 1
je 0x180083415
jmp 0x180084325
mov rdx, r15
mov r8, qword [rsp + 0x120]
sub r8, rdx
jb 0x180084325
add qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], r8
mov edx, ecx
sub dl, al
movzx r8d, dl
add r8, rsi
jb 0x180084325
test r8, r8
je 0x180083440
cmp cl, al
jne 0x18008345d
mov rbx, r13
mov r13, qword [rsp + 0xe8]
mov r15, rsi
test r15, r15
jne 0x18008348e
jmp 0x1800835e0
mov rbx, r13
mov r13, qword [rsp + 0x118]
mov r15, qword [rsp + 0x120]
test r15, r15
jne 0x18008348e
jmp 0x1800835e0
jb 0x180084325
cmp cl, 0x12
ja 0x180084325
mov rbx, r13
movzx r15d, cl
movzx r13d, al
sub r15, r13
lea rax, [rsp + 0x100]
add r13, rax
test r15, r15
je 0x1800835e0
mov rax, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x110]
sub rax, rsi
cmp rax, r15
jb 0x1800835c4
mov rcx, qword [rbp + 0x100]
add rcx, rsi
mov rdx, r13
mov r8, r15
call fcn.1800f8be0
add rsi, r15
mov qword [rbp + 0x110], rsi
movzx eax, byte [rsp + 0x112]
movzx ecx, byte [rsp + 0x113]
mov edx, ecx
sub dl, al
movzx r8d, dl
mov rsi, qword [rsp + 0xf0]
mov r9, r8
add r9, rsi
jb 0x180084325
mov r13, rbx
je 0x1800833e0
mov rdx, r15
sub rdx, r9
jbe 0x180083515
cmp cl, al
jne 0x180083526
mov r10, r9
sub rsi, r10
jae 0x180083540
jmp 0x180084325
cmp cl, al
jne 0x180083566
mov rdx, r15
sub rsi, rdx
jae 0x180083580
jmp 0x180084325
mov r10, r9
sub r10, r8
jbe 0x180083595
mov byte [rsp + 0x112], cl
mov eax, ecx
sub rsi, r10
jb 0x180084325
mov qword [rsp + 0xf0], rsi
add qword [rsp + 0xe8], r10
mov r8, qword [rsp + 0x120]
sub r8, rdx
jae 0x1800833f4
jmp 0x180084325
mov rdx, r15
sub rdx, r8
jbe 0x1800835b5
mov byte [rsp + 0x112], cl
mov eax, ecx
sub rsi, rdx
jb 0x180084325
mov qword [rsp + 0xf0], rsi
add qword [rsp + 0xe8], rdx
jmp 0x180083404
add al, r9b
mov byte [rsp + 0x112], al
mov r8, qword [rsp + 0x120]
sub r8, rdx
jae 0x1800833f4
jmp 0x180084325
add al, r15b
mov byte [rsp + 0x112], al
jmp 0x180083404
mov rcx, qword [rsp + 0x78]
mov rdx, rsi
mov r8, r15
call fcn.1801085a0
mov rsi, qword [rbp + 0x110]
jmp 0x1800834a8
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
lea rcx, [rsp + 0xf8]
mov r8, rsi
call qword [rax + 0x10]
mov r13, rbx
mov rbx, qword [rsp + 0x50]
jmp 0x180083950
cmp qword [rsp + 0xe0], 0
je 0x1800836b4
mov ecx, 1
mov rax, qword [rsp + 0xf0]
mov rdx, rax
jmp 0x1800836e7
cmp rsi, r8
mov rcx, rbp
mov rbp, r8
cmovb rbp, rsi
mov rdx, qword [rcx + 0x118]
test rdx, rdx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0xd8], r13
je 0x180083692
mov rax, qword [rcx + 0x108]
mov r15, qword [rcx + 0x110]
sub rax, r15
cmp rax, rbp
jae 0x180083692
sub r15, rdx
jb 0x180084325
mov rbx, qword [rsp + 0x70]
mov qword [rbx + 0x110], 0
jne 0x180083855
xor r15d, r15d
jmp 0x180083874
mov r13, qword [rsp + 0x448]
test rbp, rbp
je 0x18008392a
mov rax, qword [rsp + 0x70]
mov r15, qword [rax + 0x110]
jmp 0x1800838a7
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
lea rcx, [rsp + 0x220]
call qword [rax + 0x30]
mov rdx, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x228]
test rcx, rcx
sete cl
cmp rdx, rax
setne bl
or bl, cl
mov rcx, qword [rsp + 0xd0]
cmove rcx, rax
mov rax, rcx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
mov rsi, qword [rbp + 0x1d0]
cmp qword [rsi], 0
je 0x180083740
lea rcx, [rsi + 8]
mov rdi, rax
call fcn.18005b9e0
mov rax, rdi
movzx r9d, bl
mov qword [rsi], 1
movdqa xmm0, xmmword [rsp + 0x220]
movdqa xmm1, xmmword [rsp + 0x230]
movdqu xmmword [rsi + 8], xmm0
movdqu xmmword [rsi + 0x18], xmm1
xor esi, esi
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x220]
mov rdx, rbp
lea r8, [rsp + 0xa40]
call fcn.18008e3a0
mov rax, qword [rsp + 0x220]
cmp rax, 2
je 0x18008383a
mov rdx, qword [rsp + 0x228]
movzx ecx, byte [rsp + 0x230]
test rax, rax
je 0x1800837dc
test rdx, rdx
jne 0x1800837dc
xor eax, eax
test cl, cl
sete al
xor rax, 5
mov rdx, qword [rsp + 0x210]
movzx ecx, byte [rsp + 0xc0]
jmp 0x18008380b
lea r9, [rsp + 0x260]
mov r8d, dword [r9 - 0x2f]
mov r9d, dword [r9 - 0x2c]
mov dword [rsp + 0x443], r9d
mov dword [rsp + 0x440], r8d
mov qword [rsp + 0x210], rdx
mov byte [rsp + 0xc0], cl
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rdx
mov byte [rbp + 0x98], cl
mov eax, dword [rsp + 0x440]
mov ecx, dword [rsp + 0x443]
mov rdx, qword [rsp + 0x218]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
test sil, sil
je 0x180082570
lea rcx, [rsp + 0xe0]
call fcn.18005b9e0
jmp 0x180082570
mov rcx, qword [rbx + 0x100]
add rdx, rcx
mov r13, r8
mov r8, r15
call fcn.1800f8be0
mov r8, r13
mov qword [rbx + 0x110], r15
mov qword [rbx + 0x118], 0
mov r13, qword [rsp + 0x448]
jmp 0x1800838a7
mov rcx, qword [rsp + 0x78]
mov rdx, r15
mov r8, rbp
call fcn.1801085a0
mov rax, qword [rsp + 0x70]
mov r15, qword [rax + 0x110]
jmp 0x1800838c0
mov qword [rsp + 0x60], r8
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x108]
sub rax, r15
cmp rax, rbp
jb 0x180083889
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rbx + 0x100]
add rcx, r15
mov rdx, r13
mov r8, rbp
call fcn.1800f8be0
add r15, rbp
mov qword [rbx + 0x110], r15
mov r8, qword [rsp + 0x60]
sub r8, rbp
jb 0x180084325
sub rsi, rbp
mov rbx, qword [rsp + 0x50]
jb 0x180084325
add r13, rbp
cmp rsi, r8
mov rbp, r8
cmovb rbp, rsi
test rbp, rbp
jne 0x1800838a7
mov qword [rsp + 0x460], r8
mov qword [rsp + 0x450], rsi
mov qword [rsp + 0x448], r13
mov rax, qword [rsp + 0x440]
lea rcx, [rsp + 0x458]
mov rdx, r13
mov r8, rsi
call qword [rax + 0x10]
mov r13, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x70]
xor eax, eax
cmp byte [rbp + 0x98], 0
sete al
xor rax, 5
movdqu xmm0, xmmword [rsp + 0x220]
movdqu xmmword [rbx], xmm0
mov qword [rbp + 0x88], rax
mov bl, 1
test rdi, rdi
jne 0x1800839ae
cmp qword [rsp + 0x840], 0
je 0x1800839ae
mov rax, qword [rsp + 0x848]
test rax, rax
je 0x1800839e4
mov rdx, qword [rsp + 0x850]
mov r8, qword [rsp + 0x858]
lea rcx, [rsp + 0x860]
call qword [rax + 0x10]
test bl, bl
je 0x180082562
cmp qword [r14], 0
mov rbx, qword [rsp + 0x58]
je 0x1800839d8
nop word cs:[rax + rax]
mov rcx, r12
call fcn.18005b9e0
mov qword [r14], 0
jmp 0x180082570
mov rsi, qword [rsp + 0x850]
mov r15, qword [rsi + 0x58]
test r15, r15
je 0x180083a22
mov rdi, qword [rsi + 0x60]
mov rcx, r15
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x180083a22
cmp qword [rdi + 0x10], 0x11
jb 0x180083a10
mov r15, qword [r15 - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rsi], 2
je 0x180083a41
cmp qword [rsi + 0x18], 0
je 0x180083a41
mov r8, qword [rsi + 0x10]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
jne 0x1800839b6
jmp 0x180082562
cmp byte [rbp + 0xca], 0
je 0x180083b5e
call fcn.180035fe0
mov rsi, rax
jmp 0x180083b60
mov rax, qword [rbp + 0x198]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x180083b54
je 0x180083aa5
cmp rcx, 3
je 0x180083b54
jmp 0x180084325
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x180083aa5
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 0x180083b54
call qword [rdx + 8]
jmp 0x180083b54
mov r8d, 0x100
lea rcx, [rsp + 0x440]
lea rdx, [rsp + 0xe0]
call fcn.1800f8be0
movdqu xmm0, xmmword [rsp + 0x630]
movdqa xmmword [rsp + 0x5c0], xmm0
mov byte [rbp + 0x1a0], 1
jmp 0x180083b33
lea rcx, [rsp + 0x630]
call fcn.1800650c0
lea rcx, [rsp + 0x220]
call fcn.180024cb0
lea rcx, [rsp + 0x300]
call fcn.18005b9e0
mov byte [rbp + 0x1d8], 1
mov qword [rbp + 0x70], 4
mov qword [rbp + 0x88], 5
mov byte [rbp + 0xca], 2
mov rbx, qword [rsp + 0x58]
jmp 0x180082533
xor esi, esi
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov qword [rbp + 0x70], 4
mov byte [rbp + 0xca], 2
test rsi, rsi
je 0x180082525
jmp 0x180083d0a
cmp esi, 6
jne case.default.0x180083b9f
mov eax, 3
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov byte [rsp + 0xe0], sil
lea rax, [rsp + 0x441]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xe1], xmm0
movups xmmword [rsp + 0xf1], xmm1
mov rax, qword [rax + 0x1f]
mov qword [rsp + 0x100], rax
mov rcx, qword [rbp + 0xc0]
call fcn.180038870
mov rdi, rax
mov r14d, 2
test rax, rax
je 0x180083d4e
movzx eax, sil
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x180083f09
test rax, rax
je 0x180083f09
cmp eax, 1
jne case.default.0x180083c47
lea rcx, [rsp + 0x100]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
call qword [rax + 0x10]
lea rax, [0x180084738]
movsxd rcx, dword [rax + r14*4]
add rcx, rax
jmp rcx
movzx eax, byte [0x18016cbc0]
mov rcx, qword [0x18016cb80]
test rcx, rcx
jne 0x180083c75
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov rcx, rax
mov qword [0x18016cb80], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rsi, rax
mov qword [rax], 0
mov word [rax + 0x10], 1
movzx eax, byte [0x18016cbc0]
mov rcx, qword [0x18016cb80]
test rcx, rcx
jne 0x180083cc8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846e5
mov rcx, rax
mov qword [0x18016cb80], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846e5
mov qword [rax], rbx
mov qword [rsi], rax
lea rax, [0x1801371a8]
mov qword [rsi + 8], rax
cmp qword [r14], 0
je 0x180083cfe
mov rcx, r12
call fcn.18005b9e0
mov qword [r14], 0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x228], rsi
mov qword [rsp + 0x220], 3
lea rdx, [rsp + 0x220]
call fcn.180084870
mov rdi, rax
test rax, rax
jne case.0x180083f17.4
jmp case.0x180083f17.2
mov rax, qword [rbx]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
jmp case.0x180083ef2.3
movzx esi, byte [rsp + 0xe0]
cmp rsi, 2
je 0x180083e24
cmp esi, 1
je 0x180083e24
test rsi, rsi
jne 0x180083e35
lea rax, [rsp + 0xe8]
jmp 0x180083e2c
cmp byte [rbp + 0x1d8], 0
jne 0x180083d92
cmp dword [rbp + 0x70], 4
jne case.0x180083ef2.3
mov rdi, qword [rbp + 8]
cmp qword [rbp], 0
mov qword [rbp], 0
je 0x180084053
mov rsi, qword [rbp + 0xb8]
mov qword [rbp + 0xb8], 0
test rsi, rsi
je case.0x180083f17.3
test rdi, rdi
je 0x180083d0a
mov rax, qword [rdi + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
test cl, 4
jne 0x180083e0d
mov rdx, rcx
or rdx, 2
mov rax, rcx
lock cmpxchg qword [rdi + 0x30], rdx
jne 0x180083de0
and ecx, 5
cmp ecx, 1
jne 0x180083e0d
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
call qword [rax + 0x10]
lock dec qword [rdi]
jne 0x180083d05
mov rcx, rdi
call fcn.180084750
jmp 0x180083d05
lea rax, [rsp + 0xe4]
cmp dword [rax], 0
je 0x180083ef4
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x240], rax
movups xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
lea rcx, [rsp + 0x220]
call fcn.180035820
mov rdi, rax
mov r14d, 2
jmp 0x180083f09
mov rax, qword [rsp + 0xe8]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180083f09
test rcx, rcx
je 0x180083f09
lea rsi, [rax - 1]
mov rbx, qword [rax - 1]
mov r15, qword [rax + 7]
mov rcx, rbx
call qword [r15]
cmp qword [r15 + 8], 0
je 0x180083ed2
cmp qword [r15 + 0x10], 0x11
jb case.default.0x180083ef2
mov rbx, qword [rbx - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x180084738]
movsxd rcx, dword [rax + r14*4]
add rcx, rax
jmp rcx
xor r14d, r14d
movzx eax, sil
lea rcx, [rax - 2]
cmp rcx, 2
jae case.default.0x180083f17
sti
cld
invalid
invalid
sti
cld
invalid
lea rax, [0x180084738]
movsxd rcx, dword [rax + r14*4]
add rcx, rax
jmp rcx
mov rsi, qword [r13]
mov qword [r13], 3
cmp rsi, 2
jae 0x1800846f6
mov qword [rsp + 0xb40], rsi
lea rcx, [rsp + 0xb48]
mov r8d, 0x1d8
mov rbx, qword [rsp + 0x5b8]
mov rdx, rbx
call fcn.1800f8be0
mov qword [rsp + 0x220], rsi
lea rcx, [rsp + 0x228]
mov r8d, 0x170
mov rdx, rbx
call fcn.1800f8be0
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0xe0]
mov r8d, 0xa8
call fcn.1800f8be0
mov rbx, qword [rsp + 0x160]
mov r12, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x178]
test sil, 1
jne 0x180083fb8
lea r15, [0x18013ac10]
jmp 0x1800840ad
mov r15, qword [rsp + 0x170]
shr rsi, 5
sub rbx, rsi
lea r14, [rsi + r12]
cmp r12, r15
jne 0x180083ff5
test r14, r14
je 0x18008407c
test bl, 1
jne 0x180084091
mov rax, rbx
or rax, 1
lea r15, [0x180125618]
jmp 0x18008409b
movzx eax, byte [0x18016cbc0]
mov rcx, qword [0x18016cb80]
test rcx, rcx
jne 0x180084021
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov rcx, rax
mov qword [0x18016cb80], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
add r15, rsi
mov qword [rax], rbx
mov qword [rax + 8], r15
mov qword [rax + 0x10], 1
lea r15, [0x180112608]
jmp 0x18008409b
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
mov rdx, rbx
call qword [rax + 0x30]
test rax, rax
mov rcx, qword [rsp + 0x40]
je 0x180084395
mov al, 1
jmp 0x18008433b
lea r15, [0x180137730]
lea rbx, [0x18015db18]
xor eax, eax
xor r14d, r14d
jmp 0x18008409b
lea r15, [0x180125630]
mov rax, rbx
mov r12, r14
sub r12, rsi
jb 0x180084325
add rbx, rsi
mov rsi, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x450], rax
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x440], xmm0
lea rcx, [rsp + 0x110]
call fcn.180086520
lea rcx, [rsp + 0x220]
call fcn.180086670
movups xmm0, xmmword [rsp + 0xcb8]
movups xmm1, xmmword [rsp + 0xcc8]
movups xmm2, xmmword [rsp + 0xcd8]
movups xmmword [rsp + 0x478], xmm0
movups xmmword [rsp + 0x488], xmm1
movups xmmword [rsp + 0x498], xmm2
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x460], rbx
mov qword [rsp + 0x468], r12
mov qword [rsp + 0x470], rsi
cmp byte [rsp + 0xd08], 3
je 0x18008414e
lea rcx, [rsp + 0xce8]
call fcn.180086780
lea rbx, [rsp + 0x458]
mov rsi, qword [rsp + 0xd10]
cmp qword [rsi], 0
je 0x18008416d
lea rcx, [rsi + 8]
call fcn.18005b9e0
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm0, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0x820], xmm0
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x830], rax
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
movdqa xmmword [rsp + 0xa20], xmm0
movdqa xmmword [rsp + 0xa30], xmm1
cmp dword [rsp + 0x478], 2
je 0x1800841d1
lea rcx, [rsp + 0x478]
call fcn.1800650c0
lea rcx, [rsp + 0x490]
call fcn.1800713b0
movzx eax, byte [0x18016cbc0]
mov rcx, qword [0x18016cb80]
test rcx, rcx
jne 0x18008420a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800846d4
mov rcx, rax
mov qword [0x18016cb80], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800846d4
mov rcx, qword [rsp + 0x830]
mov qword [rax + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x820]
movups xmmword [rax], xmm0
movdqa xmm0, xmmword [rsp + 0xa20]
movdqa xmm1, xmmword [rsp + 0xa30]
movdqu xmmword [rsp + 0x230], xmm0
movdqu xmmword [rsp + 0x240], xmm1
mov qword [rsp + 0x220], rax
lea rax, [0x180137f70]
mov qword [rsp + 0x228], rax
sub byte [rdx], al
add byte [rax], al
sub byte [rdx], al
add byte [rax], al
lea rdx, [rsp + 0x220]
mov rcx, rdi
call fcn.180037680
xor edi, edi
mov rax, qword [r13]
lea rcx, [rax - 3]
cmp rcx, 2
jae 0x1800842ae
mov qword [r13], 4
cmp eax, 4
je 0x180084325
test rdi, rdi
jne 0x1800842c3
jmp 0x180084331
mov rcx, r13
call fcn.1800868c0
mov qword [r13], 4
test rdi, rdi
je 0x180084331
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800842f8
mov rbx, qword [rdi + 8]
mov rcx, rsi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1800842f8
cmp qword [rbx + 0x10], 0x11
jb 0x1800842e6
mov rsi, qword [rsi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [r13]
lea rcx, [rax - 3]
cmp rcx, 3
jae 0x180084329
mov qword [r13], 5
cmp eax, 5
jne 0x180084339
ud2
mov rcx, r13
call fcn.1800868c0
mov qword [r13], 5
xor eax, eax
movaps xmm6, xmmword [rsp + 0xd20]
movaps xmm7, xmmword [rsp + 0xd30]
movaps xmm8, xmmword [rsp + 0xd40]
movaps xmm9, xmmword [rsp + 0xd50]
movaps xmm10, xmmword [rsp + 0xd60]
movaps xmm11, xmmword [rsp + 0xd70]
movaps xmm12, xmmword [rsp + 0xd80]
movaps xmm13, xmmword [rsp + 0xd90]
add rsp, 0xda8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rdx, rdx
je 0x1800844c8
mov rcx, rdx
call fcn.1800361e0
mov rsi, rax
jmp 0x180083d05
mov rax, qword [rbp + 0xb8]
mov ecx, 1
xchg qword [rax + 0x10], rcx
cmp rcx, 2
jb 0x1800843f9
je 0x1800843d1
cmp rcx, 3
je 0x1800843f9
jmp 0x180084325
mov cl, 1
xchg byte [rax + 0x28], cl
test cl, cl
jne 0x1800843d1
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 0x1800843f9
call qword [rdx + 8]
mov rbx, qword [rbp + 0x88]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x1800845ac
lea r15, [rbx + 0x10]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
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 0x180084588
mov rcx, rdi
call qword [rsi + 0x18]
jmp 0x1800845ac
mov rsi, rax
cmp qword [rsp + 0x840], 0
je 0x180083cf0
mov rax, qword [rsp + 0x848]
test rax, rax
je 0x180084513
mov rdx, qword [rsp + 0x850]
mov r8, qword [rsp + 0x858]
lea rcx, [rsp + 0x860]
call qword [rax + 0x10]
jmp 0x180083cf0
lea rcx, [rsp + 0x840]
lea rdx, [rsp + 0xe0]
mov r8d, 0x100
call fcn.1800f8be0
movdqu xmm0, xmmword [rsp + 0x440]
movdqa xmmword [rsp + 0x590], xmm0
xor eax, eax
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rsi, qword [rbp + 0xb8]
mov qword [rbp + 0xb8], 0
test rsi, rsi
jne 0x180083d0a
jmp case.0x180083f17.2
mov rsi, rax
mov rax, qword [rsp + 0x710]
mov rdx, qword [rsp + 0x718]
mov r8, qword [rsp + 0x720]
lea rcx, [rsp + 0x728]
call qword [rax + 0x10]
jmp 0x180083cf0
mov rdi, qword [rsp + 0x850]
mov rbx, qword [rdi + 0x58]
test rbx, rbx
je 0x180084552
mov r15, qword [rdi + 0x60]
mov rcx, rbx
call qword [r15]
cmp qword [r15 + 8], 0
je 0x180084552
cmp qword [r15 + 0x10], 0x11
jb 0x180084540
mov rbx, qword [rbx - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rdi], 2
je 0x180084571
cmp qword [rdi + 0x18], 0
je 0x180084571
mov r8, qword [rdi + 0x10]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180083cf0
mov rax, qword [r14]
test rax, rax
je 0x180084597
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 0x1800845de
mov al, 1
xchg byte [rbx + 0x41], al
test al, al
je 0x1800845c7
xor eax, eax
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
xchg byte [rbx + 0x41], al
xor eax, eax
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, 3
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x280], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x270], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x260], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
mov rcx, rbp
call fcn.1800863b0
movaps xmm0, xmmword [rsp + 0x280]
movups xmmword [rbp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x270]
movups xmmword [rbp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x260]
movups xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movaps xmm2, xmmword [rsp + 0x240]
movaps xmm3, xmmword [rsp + 0x250]
movups xmmword [rbp + 0x30], xmm3
movups xmmword [rbp + 0x20], xmm2
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rbp], xmm0
mov eax, 3
lea rcx, [0x180084738]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 8
mov edx, 0x18
call fcn.180106200
ud2
mov ecx, 8
mov edx, 8
call fcn.180106200
ud2
mov rcx, rdi
call fcn.1800864b0
ud2
mov ecx, 8
mov edx, 0x70
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180106200
ud2