Function at 0x18008b120
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x538
movaps xmmword [rsp + 0x520], xmm6
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [rdx]
add rax, 0xfffffffffffffffa
cmp rax, 2
ja 0x18008b24d
cmp rax, 1
je 0x18008b24d
test rax, rax
jne 0x18008b71f
mov rax, qword [rdi + 8]
mov qword [rdi], 8
cmp rax, 1
ja 0x18008b726
lea r14, [rdi + 0x10]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1b8]
mov r8d, 0x1a8
mov rdx, r14
call fcn.180171d20
lea r8, [rsp + 0x2b8]
movzx r9d, byte [rsp + 0x358]
mov rdx, qword [rsp + 0x340]
lea rcx, [rsp + 0x440]
call fcn.18009b050
cmp byte [rsp + 0x440], 3
jne 0x18008b276
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x18008b1f8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18008b72a
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18008b72a
mov r15, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
lea rdx, str.HTTP_2_connection_in_progressALPN_upgraded_to_HTTP_2
mov r8d, 0x1d
mov rcx, rax
call fcn.18008ce80
lea rcx, [rsp + 0x1b0]
call fcn.180097660
mov r13d, 5
mov bpl, 2
jmp 0x18008b53b
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x520]
add rsp, 0x538
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x180098490
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x6f], rax
movups xmm0, xmmword [rsp + 0x440]
movups xmm1, xmmword [rsp + 0x450]
movups xmm2, xmmword [rsp + 0x460]
movups xmmword [rsp + 0x5f], xmm2
movups xmmword [rsp + 0x4f], xmm1
movups xmmword [rsp + 0x3f], xmm0
movups xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x3d0], xmm0
movups xmm0, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0x3c0], xmm0
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x3b0], xmm0
movups xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x3a0], xmm0
movups xmm0, xmmword [rsp + 0x1b0]
movups xmm1, xmmword [rsp + 0x1c0]
movups xmm2, xmmword [rsp + 0x1d0]
movups xmm3, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x390], xmm3
movaps xmmword [rsp + 0x380], xmm2
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x360], xmm0
movups xmm0, xmmword [rsp + 0x2e8]
movups xmm1, xmmword [rsp + 0x2f8]
movups xmm2, xmmword [rsp + 0x308]
movups xmm3, xmmword [rsp + 0x318]
movaps xmmword [rsp + 0x3e0], xmm0
movaps xmmword [rsp + 0x3f0], xmm1
movaps xmmword [rsp + 0x400], xmm2
movaps xmmword [rsp + 0x410], xmm3
movups xmm0, xmmword [rsp + 0x328]
movaps xmmword [rsp + 0x420], xmm0
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x430], rax
lea rcx, [rsp + 0x447]
lea rdx, [rsp + 0x360]
mov r8d, 0xd8
call fcn.180171d20
movzx eax, byte [rsp + 0x359]
mov byte [rsp + 0x2f], al
mov r13, qword [rsp + 0x230]
mov r15, qword [rsp + 0x238]
movups xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rsp + 0x280]
movaps xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [rsp + 0x290]
movaps xmmword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x1a0], rax
movzx ebp, byte [rsp + 0x2a8]
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x37], rax
mov rax, qword [rsp + 0x2a9]
mov qword [rsp + 0x30], rax
movups xmm6, xmmword [rsp + 0x340]
mov rax, qword [rsp + 0x350]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x6f]
mov qword [rsp + 0xdf], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xa8], eax
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0xac], ax
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0xae], al
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0xaf], al
cmp byte [rsp + 0x2b8], 2
jb 0x18008b518
mov rax, qword [rsp + 0x2c0]
lea rcx, [rax + 0x18]
mov r9, qword [rax]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
call qword [r9 + 0x10]
mov r8, qword [rsp + 0x2c0]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x2e0]
mov rax, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x2d8]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x90], rax
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmm2, xmmword [rsp + 0x160]
movaps xmm3, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movaps xmm3, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm3
mov rax, qword [rsp + 0xdf]
mov qword [rsp + 0x12f], rax
lea r12, [rsp + 0x360]
lea rdx, [rsp + 0x440]
mov r8d, 0xdf
mov rcx, r12
call fcn.180171d20
mov rcx, rdi
call fcn.18008b740
mov qword [rdi], r13
mov qword [rdi + 8], r15
mov rax, qword [rsp + 0x90]
mov qword [r14 + 0x60], rax
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [r14 + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [r14 + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x30], xmm3
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
mov byte [rdi + 0x78], bpl
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmm2, xmmword [rsp + 0x110]
movaps xmm3, xmmword [rsp + 0x120]
movups xmmword [rdi + 0x79], xmm0
movups xmmword [rdi + 0x89], xmm1
movups xmmword [rdi + 0x99], xmm2
movups xmmword [rdi + 0xa9], xmm3
mov rax, qword [rsp + 0x12f]
mov qword [rdi + 0xb8], rax
movups xmmword [rdi + 0xc0], xmm6
mov rax, qword [rsp + 0x98]
mov qword [rdi + 0xd0], rax
movzx eax, byte [rsp + 0x2f]
mov byte [rdi + 0xd8], al
lea rcx, [rdi + 0xd9]
mov r8d, 0xdf
mov rdx, r12
call fcn.180171d20
add r13, 0xfffffffffffffffa
cmp r13, 2
ja 0x18008b6f5
cmp r13, 1
jne 0x18008b726
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call 0x180098490
movaps xmm6, xmmword [rsp + 0x520]
add rsp, 0x538
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rdi], 8
ud2
mov ecx, 8
mov edx, 0x18
call fcn.18017f950
ud2
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x638
movdqa xmmword [rsp + 0x620], xmm10
movdqa xmmword [rsp + 0x610], xmm9
movdqa xmmword [rsp + 0x600], xmm8
movaps xmmword [rsp + 0x5f0], xmm7
movdqa xmmword [rsp + 0x5e0], xmm6
mov qword [rsp + 0x340], r8
mov qword [rsp + 0x180], rcx
mov rcx, qword [rdx]
lea rsi, [rdx + 8]
xor r8d, r8d
cmp rcx, 5
sete al
cmovne rsi, rdx
cmp ecx, 5
jne 0x18009856a
movzx eax, byte [rsi + 0x70]
mov byte [rsi + 0x70], 3
cmp al, 3
je 0x18009afc7
movups xmm0, xmmword [rsi + 0x60]
mov r8, qword [rsp + 0x180]
movups xmmword [r8 + 0x60], xmm0
movups xmm0, xmmword [rsi + 0x50]
movups xmmword [r8 + 0x50], xmm0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [r8 + 0x40], xmm0
movdqu xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [r8 + 0x30], xmm3
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movdqu xmmword [r8], xmm0
mov ecx, dword [rsi + 0x71]
mov edx, dword [rsi + 0x74]
mov dword [r8 + 0x71], ecx
mov dword [r8 + 0x74], edx
mov byte [r8 + 0x70], al
jmp 0x18009af88
mov r8b, al
shl r8, 3
lea rax, [rsi + 8]
mov qword [rsp + 0x440], rax
lea rdi, [rsp + 0x218]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x438], rax
lea rax, [rsi + 0x79]
mov qword [rsp + 0x430], rax
mov qword [rsp + 0x330], rdx
mov qword [rsp + 0x328], r8
mov rax, qword [rdx + r8]
pcmpeqd xmm6, xmm6
xorps xmm7, xmm7
lea rdx, [rsp + 0x360]
lea r13, [rsp + 0xb0]
mov qword [rsp + 0x338], rsi
lea rcx, [rax - 3]
add rax, 0xfffffffffffffffe
cmp rcx, 2
mov ecx, 0
cmovae rax, rcx
cmp rax, 1
cmove rsi, qword [rsp + 0x440]
test rax, rax
jne 0x18009ad1e
cmp dword [rsi], 2
je 0x18009afc7
lea rax, [rsi + 0xe0]
mov rcx, qword [rax]
cmp rcx, 4
je 0x18009afc7
mov r8, rcx
mov qword [rsp + 0x348], rsi
lea rcx, [rax + 0x80]
mov qword [rsp + 0x358], rcx
lea rcx, [rax + 8]
mov qword [rsp + 0x350], rcx
lea rcx, [rax + 0x60]
mov qword [rsp + 0x448], rcx
lea rcx, [rax + 0xa8]
mov qword [rsp + 0x458], rcx
mov qword [rsp + 0x20], rax
add rax, 0xc8
mov qword [rsp + 0x450], rax
mov rsi, r8
jmp 0x180098690
mov rax, qword [rsp + 0x20]
mov rsi, qword [rax]
lea rdx, [rsp + 0x360]
lea rcx, [rsi - 1]
cmp rsi, 2
mov eax, 0
cmovae rax, rcx
test rax, rax
jne 0x180099fd0
mov rcx, qword [rsp + 0x350]
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x210], rax
movups xmm0, xmmword [rcx + 0x60]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rcx + 0x50]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1c0], xmm2
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1a0], xmm0
mov rcx, qword [rsp + 0x358]
mov rax, qword [rcx + 0x50]
mov qword [rdi + 0x50], rax
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov r8d, 0xd0
mov rcx, rdx
lea rdx, [rsp + 0x1a0]
call fcn.180171d20
mov rax, qword [rsp + 0x20]
mov qword [rax], 3
cmp rsi, 1
ja 0x18009afc7
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x1a0], rsi
mov rax, qword [rsp + 0x3d0]
mov qword [rdi], rax
movups xmm0, xmmword [rsp + 0x3c0]
movups xmmword [rdi - 0x10], xmm0
movups xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rdi - 0x20], xmm0
movups xmm0, xmmword [rsp + 0x3a0]
movups xmmword [rdi - 0x30], xmm0
movups xmm0, xmmword [rsp + 0x360]
movups xmm1, xmmword [rsp + 0x370]
movups xmm2, xmmword [rsp + 0x380]
movups xmm3, xmmword [rsp + 0x390]
movups xmmword [rdi - 0x40], xmm3
movups xmmword [rdi - 0x50], xmm2
movups xmmword [rdi - 0x60], xmm1
movups xmmword [rdi - 0x70], xmm0
lea rcx, [rsp + 0x3d8]
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x2e0], rax
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0x2d0], xmm0
movdqu xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0x2c0], xmm3
movaps xmmword [rsp + 0x2b0], xmm2
movaps xmmword [rsp + 0x2a0], xmm1
movdqa xmmword [rsp + 0x290], xmm0
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x158], rax
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0x160], eax
mov rcx, qword [rsp + 0x210]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x180099690
mov qword [rsp + 0xf0], rcx
mov rbp, qword [rcx + 0x10]
mov rcx, rax
shl rcx, 7
lea rax, [rcx + rax*8]
add rax, rbp
mov qword [rsp + 0x28], rax
jmp 0x180098982
lea rdx, [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov r9, qword [rbp + 0x20]
lea rcx, [rsp + 0x48]
call qword [rax]
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
lea rax, [rsp + 0x48]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x20], xmm0
mov byte [rsp + 0x88], bl
mov qword [rsp + 0x40], 1
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x140], rax
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x148], al
mov eax, dword [rsp + 0x89]
mov dword [rsp + 0x149], eax
movzx eax, word [rsp + 0x8d]
mov word [rsp + 0x14d], ax
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0x14f], al
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
movdqu xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movdqa xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rcx
cmp qword [rsp + 0x100], 2
jne 0x180099c9b
nop dword [rax]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
je 0x180099690
lea rdi, [rbp + 0x58]
mov rax, qword [rbp + 0x58]
test rax, rax
cmove rdi, rax
je 0x180098ab0
mov rdx, qword [rsp + 0x2b0]
test rdx, rdx
je 0x18009afc7
mov rcx, qword [rsp + 0x2a8]
call fcn.180051c40
test rax, rax
je 0x18009afc7
mov rsi, rax
mov r14, rdx
test rdx, rdx
je 0x180098ac0
cmp byte [rsi], 0x5b
jne 0x180098b8e
add r14, rsi
mov r9b, 0x5b
xor eax, eax
mov r8, rsi
test r9b, r9b
jns 0x180098a9d
nop word [rax + rax]
mov ecx, r9d
and cl, 0x1f
movzx edx, cl
movzx r11d, byte [r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x180098a50
movzx r10d, byte [r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x180098a60
lea rcx, [r8 + 4]
movzx r9d, byte [r8 + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, edx
cmp r9d, 0x110000
jne 0x180098a70
jmp 0x18009965f
lea rcx, [r8 + 2]
shl edx, 6
or edx, r11d
mov r9d, edx
jmp 0x180098a70
lea rcx, [r8 + 3]
shl edx, 0xc
or r10d, edx
mov r9d, r10d
nop dword [rax]
mov rdx, rcx
sub rdx, r8
add rdx, rax
cmp r9d, 0x5b
je 0x180098a85
cmp r9d, 0x5d
jne 0x180098ad0
cmp rcx, r14
je 0x180098ac8
movzx r9d, byte [rcx]
mov rax, rdx
mov r8, rcx
test r9b, r9b
js 0x1800989f0
lea rcx, [r8 + 1]
movzx r9d, r9b
jmp 0x180098a70
xor eax, eax
jmp 0x180098eda
xor r14d, r14d
jmp 0x180098b8e
xor r8d, r8d
jmp 0x180098b83
xor r9d, r9d
mov r8, rdx
nop word cs:[rax + rax]
cmp rcx, r14
je 0x180098b7e
mov r10, r14
movzx r11d, byte [r14 - 1]
test r11b, r11b
js 0x180098b00
lea r14, [r10 - 1]
jmp 0x180098b61
movzx ebx, byte [r10 - 2]
cmp bl, 0xc0
jge 0x180098b30
mov r12, rbp
movzx r15d, byte [r10 - 3]
cmp r15b, 0xc0
jge 0x180098b39
lea r14, [r10 - 4]
movzx ebp, byte [r10 - 4]
and ebp, 7
shl ebp, 6
and r15d, 0x3f
or r15d, ebp
jmp 0x180098b41
lea r14, [r10 - 2]
and ebx, 0x1f
jmp 0x180098b4e
lea r14, [r10 - 3]
and r15d, 0xf
shl r15d, 6
and ebx, 0x3f
or ebx, r15d
mov rbp, r12
shl ebx, 6
and r11d, 0x3f
or r11d, ebx
cmp r11d, 0x110000
je 0x180098b7e
cmp r11d, 0x5b
je 0x180098ae0
cmp r11d, 0x5d
je 0x180098ae0
sub rdx, rcx
add rdx, r10
mov r8, rdx
test r9b, r9b
je 0x180098b85
xor eax, eax
add rsi, rax
sub r8, rax
mov r14, r8
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r14
mov rcx, r13
call fcn.1800288c0
mov r12, rax
test r12b, 1
jne 0x180098c40
mov rbx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
movaps xmmword [rsp + 0x40], xmm7
mov r8d, 8
mov rcx, r13
lea rdx, [rsp + 0x40]
call fcn.180029030
cmp rax, 8
jne 0x180098c74
movzx ecx, word [rsp + 0x40]
movzx eax, word [rsp + 0x42]
movq xmm9, qword [rsp + 0x44]
movzx r13d, word [rsp + 0x4c]
rol cx, 8
movzx ebx, word [rsp + 0x4e]
rol ax, 8
movdqa xmm0, xmm9
psrlw xmm0, 8
psllw xmm9, 8
rol r13w, 8
por xmm9, xmm0
rol bx, 8
mov dl, 1
test dl, dl
jne 0x180098d5d
jmp 0x180098e10
cmp qword [rsp + 0xb8], 0
jne 0x180098e10
mov rax, r12
shr rax, 8
xor r14d, r14d
movzx r13d, word [rsp + 0xfc]
movzx ebx, word [rsp + 0xfe]
movdqa xmm9, xmm8
jmp 0x180098d77
test dl, 1
jne 0x180098d43
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x180098d43
mov rdx, qword [rsp + 0xb0]
cmp byte [rdx], 0x3a
jne 0x180098d43
cmp rcx, 1
je 0x180098d43
add rcx, 0xfffffffffffffffe
movzx r8d, byte [rdx + 1]
add rdx, 2
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rcx
cmp r8b, 0x3a
jne 0x180098d43
mov qword [rsp + 0x306], 0
mov qword [rsp + 0x300], 0
cmp rax, 8
jae 0x18009afc7
mov r8d, 7
sub r8, rax
mov rcx, r13
lea rdx, [rsp + 0x300]
call fcn.180029030
cmp rax, 9
jae 0x18009afc7
cmp rax, 8
je 0x18009afc7
mov ecx, 8
sub rcx, rax
lea rcx, [rsp + rcx*2]
add rcx, 0x40
add rax, rax
lea rdx, [rsp + 0x300]
mov r8, rax
call fcn.180171d20
jmp 0x180098be5
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], r15
xor edx, edx
test dl, dl
je 0x180098e10
cmp qword [rsp + 0xb8], 0
jne 0x180098e10
movzx ecx, cx
shl eax, 0x10
or eax, ecx
mov r14b, 1
mov byte [rsp + 0x40], r14b
mov dword [rsp + 0x41], eax
movq qword [rsp + 0x45], xmm9
mov word [rsp + 0x4d], r13w
mov word [rsp + 0x4f], bx
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180098f30
mov rsi, qword [rdi]
mov rdi, qword [rsp + 0x41]
test r12b, 1
jne 0x180098eee
mov r15, qword [rsp + 0x49]
add rax, rax
lea r12, [rax + rax*8]
jmp 0x180098de3
mov rcx, rsi
lea rdx, [rsp + 0x40]
call fcn.180066a90
test al, al
jne 0x180098f2b
add rsi, 0x12
add r12, 0xffffffffffffffee
je 0x180098f30
cmp byte [rsi], 2
jne 0x180098dc0
cmp r14b, byte [rsi + 1]
jne 0x180098dd5
mov rax, qword [rsi + 2]
xor rax, rdi
mov rcx, qword [rsi + 0xa]
xor rcx, r15
or rcx, rax
jne 0x180098dd5
jmp 0x180098f2b
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x180098ed0
mov rbx, qword [rdi + 0x18]
lea rax, [rax + rax*2]
lea r13, [rbx + rax*8]
jmp 0x180098e3d
add rbx, 0x18
cmp rbx, r13
je 0x180098ed0
mov rdi, qword [rbx]
mov r12, qword [rbx + 0x10]
cmp r14, r12
jne 0x180098e5b
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.180172760
test eax, eax
je 0x180098eca
test r12, r12
je 0x180098e82
lea rax, [r12 - 1]
cmp rax, r14
jne 0x180098e82
cmp byte [rdi], 0x2e
jne 0x180098e82
lea rcx, [rdi + 1]
mov rdx, rsi
mov r8, r14
call fcn.180172760
test eax, eax
je 0x180098eca
mov rdx, r14
sub rdx, r12
jb 0x180098e9c
add rdx, rsi
mov rcx, rdi
mov r8, r12
call fcn.180172760
test eax, eax
je 0x180098ea9
cmp r12, 1
jne 0x180098e30
cmp byte [rdi], 0x2a
jne 0x180098e30
jmp 0x180098eca
test r12, r12
je 0x180098eb3
cmp byte [rdi], 0x2e
je 0x180098eca
not r12
add r12, r14
jae 0x180098e30
cmp byte [rsi + r12], 0x2e
jne 0x180098e30
mov al, 1
jmp 0x180098ed2
xor eax, eax
lea r13, [rsp + 0xb0]
mov rcx, qword [rbp]
lea rdx, [0x18009b038]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
add rax, rax
lea r14, [rax + rax*8]
jmp 0x180098f1b
mov rcx, rsi
lea rdx, [rsp + 0x40]
call fcn.180066a90
test al, al
jne 0x180098f2b
add rsi, 0x12
add r14, 0xffffffffffffffee
je 0x180098f30
cmp byte [rsi], 2
jne 0x180098f00
cmp byte [rsi + 1], 0
jne 0x180098f11
cmp dword [rsi + 2], edi
jne 0x180098f11
mov al, 1
jmp 0x180098f32
xor eax, eax
mov rcx, qword [rbp]
lea rdx, [0x18009b038]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
movdqa xmm8, xmm9
mov word [rsp + 0xfe], bx
mov word [rsp + 0xfc], r13w
lea r13, [rsp + 0xb0]
jmp rcx
test al, al
jne 0x180098970
cmp qword [rbp + 8], 0
je 0x1800990c5
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x180098887
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
mov rcx, r13
call qword [rax]
movzx ebx, byte [rbp + 0x50]
jmp 0x180098887
test al, al
jne 0x180098970
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0x290]
call fcn.180081120
cmp qword [rsp + 0x100], 2
je 0x180098970
jmp 0x180099c9b
test al, al
jne 0x180098970
cmp byte [rsp + 0x290], 0
je 0x18009afc7
movzx eax, byte [rsp + 0x290]
cmp rax, 1
je 0x18009911f
cmp eax, 2
jne 0x18009afc7
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 5
jne 0x180098970
mov rax, qword [rax + 8]
jmp 0x180099134
test al, al
jne 0x180098970
cmp byte [rsp + 0x290], 0
je 0x18009afc7
mov rdx, qword [rbp + 8]
movzx eax, byte [rsp + 0x290]
cmp rax, 1
je 0x180099151
cmp eax, 2
jne 0x18009afc7
mov rax, qword [rsp + 0x298]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
cmp qword [rdx + 0x28], 0
jne 0x180099180
jmp 0x180098970
test al, al
jne 0x180098970
cmp byte [rsp + 0x290], 0
je 0x18009afc7
movzx eax, byte [rsp + 0x290]
cmp rax, 1
je 0x180099233
cmp eax, 2
jne 0x18009afc7
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 4
jne 0x180098970
mov rax, qword [rax + 8]
jmp 0x180099248
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x1800990e6
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
mov rcx, r13
call qword [rax]
movzx ebx, byte [rbp + 0x50]
lea rdx, [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov r9, qword [rbp + 0x20]
lea rcx, [rsp + 0x48]
call qword [rax]
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
lea rax, [rsp + 0x48]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x20], xmm0
jmp 0x18009964a
cmp byte [rsp + 0x291], 0
lea rax, [0x180202f94]
je 0x180098970
mov ecx, dword [rax]
mov edx, 0x70747468
xor ecx, edx
movzx eax, byte [rax + 4]
xor eax, 0x73
or eax, ecx
jne 0x180098970
jmp 0x180098f6c
xor esi, esi
cmp byte [rsp + 0x291], 0
sete sil
lea r14, [0x180202f94]
lea rax, [0x180202f90]
cmove r14, rax
xor rsi, 5
cmp qword [rdx + 0x28], 0
je 0x180098970
mov r8, qword [rdx + 0x30]
mov r11, qword [rdx + 0x38]
mov r10, r8
movabs rax, 0x736f6d6570736575
xor r10, rax
mov r9, r11
movabs rax, 0x646f72616e646f6d
xor r9, rax
movabs rax, 0x6c7967656e657261
xor r8, rax
movabs rax, 0x7465646279746573
xor r11, rax
mov edi, esi
and edi, 7
mov rax, rsi
xor ebx, ebx
and rax, 0xfffffffffffffff8
je 0x180099223
nop word cs:[rax + rax]
add r10, r9
rol r9, 0xd
mov rcx, qword [r14 + rbx]
xor r9, r10
rol r10, 0x20
xor r11, rcx
add r8, r11
rol r11, 0x10
xor r11, r8
add r10, r11
rol r11, 0x15
add r8, r9
rol r9, 0x11
xor r9, r8
rol r8, 0x20
xor r11, r10
xor r10, rcx
add rbx, 8
cmp rbx, rax
jb 0x1800991e0
cmp edi, 3
jbe 0x180099259
mov r12d, dword [r14 + rbx]
mov eax, 4
jmp 0x18009925e
cmp byte [rsp + 0x291], 0
lea rax, [0x180202f90]
jne 0x180098970
cmp dword [rax], 0x70747468
jne 0x180098970
jmp 0x180098f6c
xor r12d, r12d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdi
mov qword [rsp + 0x38], rbp
jae 0x180099289
lea rcx, [rax + rbx]
movzx r15d, word [r14 + rcx]
lea ecx, [rax*8]
shl r15, cl
or r12, r15
or rax, 2
cmp rax, rdi
jae 0x1800992a3
add rbx, rax
movzx ebx, byte [r14 + rbx]
shl eax, 3
mov ecx, eax
shl rbx, cl
or r12, rbx
jmp 0x1800992a8
test rdi, rdi
je 0x180099304
lea ecx, [rdi*8]
mov ebx, 0xff
shl rbx, cl
or rbx, r12
cmp rdi, 7
jne 0x1800993df
mov ecx, 8
add r10, r9
rol r9, 0xd
sub rcx, rdi
xor r9, r10
rol r10, 0x20
xor r11, rbx
add r8, r11
rol r11, 0x10
xor r11, r8
add r10, r11
rol r11, 0x15
xor r11, r10
add r8, r9
rol r9, 0x11
xor r9, r8
rol r8, 0x20
xor r10, rbx
jmp 0x180099306
xor ecx, ecx
mov edi, 1
sub rdi, rcx
mov eax, edi
and eax, 7
and rdi, 0xfffffffffffffff8
cmp rcx, rdi
jae 0x18009938f
nop dword [rax]
add r10, r9
rol r9, 0xd
mov rbx, r11
xor r9, r10
rol r10, 0x20
xor rbx, 0xff
add r8, rbx
shld rbx, r11, 0x10
xor rbx, r8
add r10, rbx
rol rbx, 0x15
add r8, r9
rol r9, 0x11
mov r11, rbx
xor r9, r8
rol r8, 0x20
xor r11, r10
xor r10, 0xff
add rcx, 8
cmp rcx, rdi
jb 0x180099320
xor edi, edi
cmp rax, 4
setae dil
cmp eax, 4
mov ebx, 0
mov ecx, 0xff
cmovae rbx, rcx
shl rdi, 2
jmp 0x180099393
xor ebx, ebx
xor edi, edi
mov r15, rdi
lea ecx, [rdi*8]
mov r12d, 0xff
shl r12, cl
or r15, 1
mov r13, rdi
or r13, 2
cmp r15, rax
mov r15d, 0
cmovae r12, r15
cmovae r13, rdi
or r12, rbx
lea ecx, [r13*8]
mov ebx, 0xff
shl rbx, cl
cmp r13, rax
cmovae rbx, r15
or rbx, r12
mov rax, rsi
shl rax, 0x38
movabs rcx, 0x100000000000000
add rax, rcx
add r10, r9
rol r9, 0xd
or rax, rbx
xor r9, r10
rol r10, 0x20
xor r11, rax
add r8, r11
rol r11, 0x10
xor r11, r8
add r10, r11
rol r11, 0x15
add r8, r9
rol r9, 0x11
xor r11, r10
xor r9, r8
rol r8, 0x20
xor r10, rax
add r10, r9
rol r9, 0xd
xor r9, r10
rol r10, 0x20
xor r8, 0xff
add r8, r11
rol r11, 0x10
xor r11, r8
add r10, r11
rol r11, 0x15
add r8, r9
rol r9, 0x11
xor r9, r8
rol r8, 0x20
xor r11, r10
add r10, r9
rol r9, 0xd
xor r9, r10
rol r10, 0x20
add r8, r11
rol r11, 0x10
xor r11, r8
add r10, r11
rol r11, 0x15
add r8, r9
rol r9, 0x11
xor r9, r8
rol r8, 0x20
xor r11, r10
add r10, r9
rol r9, 0xd
add r8, r11
rol r11, 0x10
xor r11, r8
rol r11, 0x15
xor r9, r10
add r8, r9
rol r9, 0x11
mov rdi, r8
rol rdi, 0x20
xor rdi, r9
xor rdi, r11
xor rdi, r8
mov rcx, qword [rdx + 0x10]
mov r12, qword [rdx + 0x18]
mov rax, rdi
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm9, xmm0, 0
mov qword [rsp + 0xa8], rcx
lea r13, [rcx - 0x68]
xor r15d, r15d
and rdi, r12
mov rax, qword [rsp + 0xa8]
movdqu xmm10, xmmword [rax + rdi]
movdqa xmm0, xmm9
pcmpeqb xmm0, xmm10
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x18009954c
pcmpeqb xmm10, xmm6
pmovmskb eax, xmm10
test eax, eax
jne 0x18009966d
add rdi, r15
add rdi, 0x10
add r15, 0x10
jmp 0x1800994f3
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x180099516
tzcnt eax, ebx
add rax, rdi
and rax, r12
neg rax
imul rbp, rax, 0x68
cmp qword [r13 + rbp + 0x10], rsi
jne 0x180099540
add rbp, r13
mov rdx, qword [rbp]
mov rcx, r14
mov r8, rsi
call fcn.180172760
test eax, eax
jne 0x180099540
lea rsi, [rbp + 0x18]
cmp qword [rbp + 0x18], 0
je 0x1800995ea
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0xb0]
mov rbp, qword [rsp + 0x38]
je 0x1800995b3
lea rdx, [rsi + 0x40]
mov rax, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
mov r9, qword [rsi + 0x38]
mov rcx, r13
call qword [rax]
movzx ebx, byte [rsi + 0x48]
lea rdx, [rsi + 0x20]
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x18]
lea rsi, [rsp + 0x48]
mov rcx, rsi
call qword [rax]
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x20], xmm0
jmp 0x1800988bb
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0xb0]
mov rbp, qword [rsp + 0x38]
je 0x180099618
lea rdx, [rsi + 0x40]
mov rax, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
mov r9, qword [rsi + 0x38]
mov rcx, r13
call qword [rax]
movzx ebx, byte [rsi + 0x48]
lea rdx, [rsi + 0x20]
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x18]
lea rsi, [rsp + 0x48]
mov rcx, rsi
call qword [rax]
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x20], xmm0
mov byte [rsp + 0x88], bl
mov qword [rsp + 0x40], 0
jmp 0x1800988cb
mov r9b, 1
mov rdx, rax
xor r8d, r8d
jmp 0x180098ae0
lea r13, [rsp + 0xb0]
mov rbp, qword [rsp + 0x38]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x180098982
nop dword [rax]
mov rdi, qword [rsp + 0x1c0]
lock inc qword [rdi]
jle 0x18009afc7
mov rbx, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d0]
lock inc qword [rbx]
jle 0x18009afc7
cmp qword [rsp + 0x1a0], 0
je 0x1800996f0
mov rcx, qword [rsp + 0x1a8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0x288], rax
mov r13d, 1
jmp 0x1800996f3
xor r13d, r13d
mov rcx, qword [rsp + 0x1b0]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r12, rax
movzx r14d, byte [rsp + 0x1bc]
movzx ebp, byte [rsp + 0x1bd]
movq xmm9, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x210]
lock inc qword [rax]
jle 0x18009afc7
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0xa8], al
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0xf0], eax
movzx eax, byte [rsp + 0x219]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x21a]
mov byte [rsp + 0x30], al
mov al, 2
cmp byte [rsp + 0x208], 2
je 0x1800997ae
mov rax, qword [rsp + 0x1e8]
mov r8, qword [rsp + 0x1f0]
mov r9, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x200]
call qword [rax]
movzx eax, byte [rsp + 0x208]
mov byte [rsp + 0x150], al
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
lea rax, [rsp + 0x104]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rsp + 0x290]
movaps xmm1, xmmword [rsp + 0x2a0]
movaps xmm2, xmmword [rsp + 0x2b0]
movaps xmm3, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x70], xmm3
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xd0], eax
mov rax, qword [0x18021a960]
test rax, rax
jne 0x180099872
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009afcb
mov qword [0x18021a960], rax
mov r8d, 0x538
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009afcb
mov rsi, rax
mov qword [rax], r13
mov rax, qword [rsp + 0x288]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r12
movd dword [rsi + 0x18], xmm9
mov byte [rsi + 0x1c], r14b
mov byte [rsi + 0x1d], bpl
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x30], r15
mov rcx, qword [rsp + 0x158]
mov qword [rsi + 0x38], rcx
mov eax, dword [rsp + 0xf0]
mov dword [rsi + 0x40], eax
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsi + 0x44], xmm0
movups xmmword [rsi + 0x54], xmm1
mov eax, dword [rsp + 0xd0]
mov dword [rsi + 0x64], eax
movzx eax, byte [rsp + 0x150]
mov byte [rsi + 0x68], al
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x70], rax
movzx eax, byte [rsp + 0xa8]
mov byte [rsi + 0x78], al
movzx eax, byte [rsp + 0x38]
mov byte [rsi + 0x79], al
movzx eax, byte [rsp + 0x30]
mov byte [rsi + 0x7a], al
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x80], xmm0
movups xmmword [rsi + 0x90], xmm1
movups xmmword [rsi + 0xa0], xmm2
movups xmmword [rsi + 0xb0], xmm3
movdqa xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsi + 0xc0], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0xd0], rax
mov word [rsi + 0x250], 0
mov qword [rsi + 0x258], rcx
mov eax, dword [rsp + 0x160]
mov dword [rsi + 0x260], eax
mov byte [rsi + 0x268], 0
lea rdi, [0x1801de020]
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
lea rcx, [rax - 1]
cmp rax, 2
mov eax, 0
cmovae rax, rcx
cmp rax, 1
lea r13, [rsp + 0xb0]
je 0x180099a90
test rax, rax
mov rbx, qword [rsp + 0x20]
jne 0x180099ba6
mov rcx, qword [rbx + 0x20]
lock dec qword [rcx]
jne 0x180099ae0
call fcn.18007ad00
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x28]
lock dec qword [rcx]
je 0x180099aee
cmp qword [rbx], 0
je 0x180099a19
mov rax, qword [rsp + 0x350]
mov rcx, qword [rax]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x10]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x70]
lock dec qword [rcx]
jne 0x180099b10
call fcn.18007aca0
mov rbx, qword [rsp + 0x20]
cmp byte [rbx + 0x68], 2
je 0x180099b1a
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x48]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx + 0x50]
mov rcx, qword [rsp + 0x20]
mov r8, qword [rcx + 0x58]
mov rcx, qword [rsp + 0x448]
call qword [rax + 0x10]
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x358]
cmp byte [rax], 2
jae 0x180099b27
jmp 0x180099b66
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
call qword [rax]
mov rax, qword [rbx + 0x10]
cmp qword [rax + 8], 0
je 0x180099ba6
mov r8, qword [rbx + 8]
cmp qword [rax + 0x10], 0x11
jb 0x180099abd
mov r8, qword [r8 - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x20]
jmp 0x180099ba6
mov rcx, qword [rbx + 0x28]
lock dec qword [rcx]
jne 0x1800999fd
mov rdx, qword [rbx + 0x30]
call fcn.18000bc50
mov rbx, qword [rsp + 0x20]
cmp qword [rbx], 0
jne 0x180099a03
jmp 0x180099a19
cmp byte [rbx + 0x68], 2
jne 0x180099a4c
mov rax, qword [rsp + 0x358]
cmp byte [rax], 2
jb 0x180099b66
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x88]
lea rcx, [rax + 0x18]
mov r9, qword [rax]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
call qword [r9 + 0x10]
mov rax, qword [rsp + 0x20]
mov r8, qword [rax + 0x88]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x20]
mov rax, qword [rbx + 0x90]
mov rdx, qword [rbx + 0x98]
mov r8, qword [rbx + 0xa0]
mov rcx, qword [rsp + 0x458]
call qword [rax + 0x10]
mov rax, qword [rbx + 0xb0]
mov rdx, qword [rbx + 0xb8]
mov r8, qword [rbx + 0xc0]
mov rcx, qword [rsp + 0x450]
call qword [rax + 0x10]
mov qword [rbx], 2
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rdi
mov rcx, qword [rsp + 0x1c0]
lock dec qword [rcx]
jne 0x180099c60
call fcn.18007ad00
mov rcx, qword [rsp + 0x1c8]
lock dec qword [rcx]
lea rdi, [rsp + 0x218]
je 0x180099c7a
cmp qword [rsp + 0x1a0], 0
je 0x180099bff
mov rcx, qword [rsp + 0x1a8]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, qword [rsp + 0x1b0]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
mov rcx, qword [rsp + 0x210]
lock dec qword [rcx]
jne 0x180099c22
call fcn.18007aca0
cmp byte [rsp + 0x208], 2
je 0x180098680
mov rax, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x200]
call qword [rax + 0x10]
jmp 0x180098680
mov rcx, qword [rsp + 0x1c8]
lock dec qword [rcx]
lea rdi, [rsp + 0x218]
jne 0x180099be6
mov rdx, qword [rsp + 0x1d0]
call fcn.18000bc50
cmp qword [rsp + 0x1a0], 0
jne 0x180099bf1
jmp 0x180099bff
mov rdi, qword [rsp + 0x1c0]
lock inc qword [rdi]
jle 0x18009afc7
mov rbx, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d0]
lock inc qword [rbx]
mov rax, qword [rsp + 0x30]
jle 0x18009afc7
test rax, rax
je 0x180099cef
mov rcx, qword [rsp + 0x1a8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0x150], rax
mov r13d, 1
jmp 0x180099cf2
xor r13d, r13d
mov rcx, qword [rsp + 0x1b0]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r12, rax
movzx ebp, byte [rsp + 0x1bc]
movzx r14d, byte [rsp + 0x1bd]
movq xmm9, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0xf0]
lock inc qword [rax]
jle 0x18009afc7
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x219]
mov byte [rsp + 0xa8], al
movzx eax, byte [rsp + 0x21a]
mov byte [rsp + 0x38], al
mov al, 2
cmp byte [rsp + 0x208], 2
je 0x180099d92
mov rax, qword [rsp + 0x1e8]
mov r8, qword [rsp + 0x1f0]
mov r9, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x200]
call qword [rax]
movzx eax, byte [rsp + 0x208]
mov byte [rsp + 0x30], al
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
lea rax, [rsp + 0xb4]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rsp + 0x290]
movaps xmm1, xmmword [rsp + 0x2a0]
movaps xmm2, xmmword [rsp + 0x2b0]
movaps xmm3, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x70], xmm3
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x310], xmm1
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x320], eax
mov rax, qword [0x18021a960]
test rax, rax
jne 0x180099e53
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009afdc
mov qword [0x18021a960], rax
mov r8d, 0x4cf8
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009afdc
mov rsi, rax
mov qword [rax], r13
mov rax, qword [rsp + 0x150]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r12
movd dword [rsi + 0x18], xmm9
mov byte [rsi + 0x1c], bpl
mov byte [rsi + 0x1d], r14b
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x30], r15
mov rdx, qword [rsp + 0x158]
mov qword [rsi + 0x38], rdx
mov ecx, dword [rsp + 0x160]
mov dword [rsi + 0x40], ecx
movaps xmm0, xmmword [rsp + 0x300]
movaps xmm1, xmmword [rsp + 0x310]
movups xmmword [rsi + 0x44], xmm0
movups xmmword [rsi + 0x54], xmm1
mov eax, dword [rsp + 0x320]
mov dword [rsi + 0x64], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsi + 0x68], al
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x70], rax
movzx eax, byte [rsp + 0x28]
mov byte [rsi + 0x78], al
movzx eax, byte [rsp + 0xa8]
mov byte [rsi + 0x79], al
movzx eax, byte [rsp + 0x38]
mov byte [rsi + 0x7a], al
movaps xmm0, xmmword [rsp + 0x140]
movups xmmword [rsi + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movaps xmm3, xmmword [rsp + 0x130]
movups xmmword [rsi + 0xb0], xmm3
movups xmmword [rsi + 0xa0], xmm2
movups xmmword [rsi + 0x90], xmm1
movups xmmword [rsi + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + 0xd0], xmm0
movups xmmword [rsi + 0xe0], xmm1
movups xmmword [rsi + 0xf0], xmm2
movups xmmword [rsi + 0x100], xmm3
movdqa xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsi + 0x110], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x120], rax
mov byte [rsi + 0x2d2], 0
mov qword [rsi + 0x2638], rdx
mov dword [rsi + 0x2640], ecx
mov byte [rsi + 0x2648], 0
lea rdi, [0x1801de000]
jmp 0x18009999e
cmp rax, 1
jne 0x18009afc7
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
lea rcx, [rsp + 0x2e8]
mov r8, qword [rsp + 0x340]
call qword [rax + 0x18]
movzx ebp, byte [rsp + 0x2f9]
cmp bpl, 3
je 0x18009ad5e
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x2f0]
movzx r15d, byte [rsp + 0x2f8]
lea rcx, [rsp + 0x2fa]
mov eax, dword [rcx]
mov dword [rsp + 0xa0], eax
movzx eax, word [rcx + 4]
mov word [rsp + 0xa4], ax
cmp dword [rbx], 4
mov rcx, rbx
je 0x18009affe
mov rbx, rcx
call fcn.180097a60
mov qword [rbx], 4
cmp bpl, 2
jne 0x18009a0c0
mov rax, qword [0x18021a960]
test rax, rax
jne 0x18009a08a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009b014
mov qword [0x18021a960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009b014
mov byte [rax + 0x10], 7
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], rax
jmp 0x18009a0de
movzx eax, word [rsp + 0xa4]
mov word [rsp + 0x1a4], ax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x1a0], eax
movzx eax, word [rsp + 0x1a4]
mov word [rsp + 0x16c], ax
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x168], eax
mov rcx, qword [rsp + 0x348]
mov r12, qword [rcx]
cmp r12, 2
je 0x18009b009
movups xmm0, xmmword [rcx + 8]
movups xmm1, xmmword [rcx + 0x18]
movups xmm2, xmmword [rcx + 0x28]
movups xmm3, xmmword [rcx + 0x38]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1c0], xmm2
movaps xmmword [rsp + 0x1d0], xmm3
movups xmm0, xmmword [rcx + 0x48]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rcx + 0x58]
movaps xmmword [rsp + 0x1f0], xmm0
mov r8, qword [rcx + 0x68]
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x160], rax
mov r9, qword [rcx + 0x78]
movzx r14d, byte [rcx + 0x80]
movups xmm0, xmmword [rcx + 0xb0]
movups xmmword [rsp + 0x38f], xmm0
movups xmm0, xmmword [rcx + 0xa1]
movaps xmmword [rsp + 0x380], xmm0
movups xmm0, xmmword [rcx + 0x91]
movaps xmmword [rsp + 0x370], xmm0
movups xmm0, xmmword [rcx + 0x81]
movaps xmmword [rsp + 0x360], xmm0
mov rax, qword [rcx + 0xc0]
mov qword [rsp + 0xa8], rax
mov rbx, qword [rcx + 0xc8]
mov rsi, qword [rcx + 0xd0]
movzx r10d, byte [rcx + 0xd8]
mov eax, dword [rcx + 0xdc]
mov dword [rsp + 0x43], eax
mov eax, dword [rcx + 0xd9]
mov dword [rsp + 0x40], eax
cmp dword [rcx + 0xe0], 4
mov qword [rsp + 0x158], rsi
je 0x18009a242
mov rcx, qword [rsp + 0x20]
mov byte [rsp + 0x20], r14b
mov r14, rdi
mov esi, r15d
mov r15, r8
mov r13d, ebp
mov rbp, r12
mov r12, r9
mov edi, r10d
call fcn.180097a60
mov r10d, edi
mov r9, r12
mov r12, rbp
mov ebp, r13d
mov r8, r15
mov r15d, esi
mov rsi, qword [rsp + 0x158]
mov rdi, r14
movzx r14d, byte [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x4f0], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x4e0], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
movaps xmm2, xmmword [rsp + 0x1c0]
movaps xmm3, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x4d0], xmm3
movaps xmmword [rsp + 0x4c0], xmm2
movaps xmmword [rsp + 0x4b0], xmm1
movaps xmmword [rsp + 0x4a0], xmm0
movaps xmm0, xmmword [rsp + 0x360]
movaps xmm1, xmmword [rsp + 0x370]
movaps xmm2, xmmword [rsp + 0x380]
movaps xmmword [rsp + 0x460], xmm0
movaps xmmword [rsp + 0x470], xmm1
movaps xmmword [rsp + 0x480], xmm2
movups xmm0, xmmword [rsp + 0x38f]
movups xmmword [rsp + 0x48f], xmm0
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x43]
mov dword [rsp + 0x19b], ecx
mov dword [rsp + 0x198], eax
mov rax, qword [rsp + 0x348]
mov qword [rax], 2
mov qword [rsp + 0x1a0], r12
movaps xmm0, xmmword [rsp + 0x4f0]
lea rdx, [rsp + 0x218]
movups xmmword [rdx - 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x4e0]
movups xmmword [rdx - 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x4a0]
movaps xmm1, xmmword [rsp + 0x4b0]
movaps xmm2, xmmword [rsp + 0x4c0]
movaps xmm3, xmmword [rsp + 0x4d0]
movups xmmword [rdx - 0x40], xmm3
movups xmmword [rdx - 0x50], xmm2
movups xmmword [rdx - 0x60], xmm1
movups xmmword [rdx - 0x70], xmm0
mov qword [rsp + 0x208], r8
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], r9
mov byte [rsp + 0x220], r14b
movups xmm0, xmmword [rsp + 0x48f]
movups xmmword [rdx + 0x38], xmm0
movdqa xmm0, xmmword [rsp + 0x460]
movaps xmm1, xmmword [rsp + 0x470]
movaps xmm2, xmmword [rsp + 0x480]
movups xmmword [rdx + 0x29], xmm2
movups xmmword [rdx + 0x19], xmm1
movdqu xmmword [rdx + 9], xmm0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x268], rbx
mov qword [rsp + 0x270], rsi
mov byte [rsp + 0x278], r10b
mov eax, dword [rsp + 0x198]
mov ecx, dword [rsp + 0x19b]
mov dword [rdx + 0x64], ecx
mov dword [rdx + 0x61], eax
cmp bpl, 2
je 0x18009ad6f
mov byte [rsp + 0x30], r10b
mov qword [rsp + 0x288], r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0xf0], rbx
movzx eax, word [rsp + 0x16c]
mov word [rsp + 0x174], ax
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x170], eax
movaps xmm0, xmmword [rsp + 0x4a0]
movaps xmm1, xmmword [rsp + 0x4b0]
movaps xmm2, xmmword [rsp + 0x4c0]
movaps xmm3, xmmword [rsp + 0x4d0]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x70], xmm3
movaps xmm0, xmmword [rsp + 0x4e0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x4f0]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x460]
movaps xmm1, xmmword [rsp + 0x470]
movaps xmm2, xmmword [rsp + 0x480]
movaps xmmword [rsp + 0x290], xmm0
movaps xmmword [rsp + 0x2a0], xmm1
movaps xmmword [rsp + 0x2b0], xmm2
movups xmm0, xmmword [rsp + 0x48f]
movups xmmword [rsp + 0x2bf], xmm0
lea r13, [rsp + 0x360]
mov rcx, r13
mov rdx, qword [rsp + 0x28]
call qword [rdi + 0x50]
mov byte [rsp + 0x379], r15b
mov rbx, qword [rsp + 0x360]
mov rsi, qword [rsp + 0x368]
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x150], rax
movzx eax, byte [rsp + 0x378]
mov byte [rsp + 0x20], al
lea rcx, [rsp + 0x3d8]
mov eax, dword [rcx - 0x5f]
mov ecx, dword [rcx - 0x5c]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x103], ecx
test bpl, bpl
je 0x18009a5c0
mov rcx, r13
mov rdx, qword [rsp + 0x28]
call qword [rdi + 0x78]
cmp qword [rsp + 0x360], 0
je 0x18009a630
test rbx, rbx
lea r13, [rsp + 0xb0]
je 0x18009a63a
mov rax, qword [0x18021a960]
test rax, rax
jne 0x18009a584
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009b025
mov qword [0x18021a960], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009b025
mov rcx, rax
mov qword [rax], rbx
mov qword [rax + 8], rsi
add rax, 0x10
lea rsi, [0x1801dd0c8]
mov rbx, rcx
jmp 0x18009a680
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x103]
mov dword [rsp + 0xa3], ecx
mov dword [rsp + 0xa0], eax
lea r13, [rsp + 0xb0]
movzx edx, byte [rsp + 0x30]
cmp byte [rsp + 0x20], 0
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x297]
jne 0x18009a6d0
test dl, dl
je 0x18009a712
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
jmp 0x18009a8ed
lea r13, [rsp + 0xb0]
jmp 0x18009a697
mov rax, qword [0x18021a960]
test rax, rax
jne 0x18009a65c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009b014
mov qword [0x18021a960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rsi, [0x1801dc2c0]
mov rbx, rax
test rax, rax
je 0x18009b014
lea rdx, [rsp + 0x3d8]
mov rcx, qword [rdx - 0x60]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rdx - 0x70]
movups xmmword [rax], xmm0
movzx edx, byte [rsp + 0x30]
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x103]
mov dword [rsp + 0xa3], ecx
mov dword [rsp + 0xa0], eax
cmp byte [rsp + 0x20], 0
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x297]
je 0x18009a601
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
test dl, dl
jne 0x18009a905
mov rsi, rbx
xor r13d, r13d
jmp 0x18009a90e
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x390], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x380], xmm2
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x360], xmm0
lea rcx, [rsp + 0x100]
mov rdx, qword [rsp + 0xa8]
lea r14, [rsp + 0x360]
mov r8, r14
mov r9b, 1
call fcn.18009b050
mov rcx, r14
call fcn.180097b50
cmp byte [rsp + 0x100], 3
jne 0x18009a8c5
mov rax, qword [0x18021a960]
test rax, rax
jne 0x18009a79c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009b014
mov qword [0x18021a960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009b014
mov r14, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov r8d, 0x17
mov rcx, rax
lea rdx, [0x1801dd02d]
call fcn.18008ce80
test rbx, rbx
je 0x18009a807
mov rcx, rbx
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x18009a807
cmp qword [rsi + 0x10], 0x11
jb 0x18009a7f5
mov rbx, qword [rbx - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x150]
lock dec qword [rcx]
jne 0x18009a81a
call fcn.18007ad00
mov rcx, qword [rsp + 0x28]
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18009a851
cmp qword [rdi + 0x10], 0x11
jb 0x18009a83d
mov rax, qword [rsp + 0x28]
mov rax, qword [rax - 8]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0xa8]
test rax, rax
mov rcx, qword [rsp + 0x38]
je 0x18009a876
lock dec qword [rax]
jne 0x18009a876
mov rcx, rax
call fcn.18008d2e0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
lea rdi, [rsp + 0x218]
je 0x18009a896
lock dec qword [rcx]
jne 0x18009a896
mov rdx, qword [rsp + 0x160]
call fcn.18000bc50
mov bl, 2
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x18009abdf
lock dec qword [rcx]
jne 0x18009abdf
mov rdx, qword [rsp + 0x158]
call fcn.18000bc50
jmp 0x18009abdf
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rsi, rbx
mov r14b, 1
mov r13b, 1
mov ebx, r14d
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x360], xmm0
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x380], xmm2
movaps xmmword [rsp + 0x390], xmm3
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x3a0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x3b0], xmm0
mov eax, dword [rsp + 0x290]
mov ecx, dword [rsp + 0x293]
mov dword [rsp + 0x300], eax
mov dword [rsp + 0x303], ecx
movzx eax, word [rsp + 0x174]
mov word [rsp + 0x17c], ax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x178], eax
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x120], xmm2
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa3]
mov dword [rsp + 0x2e8], eax
mov dword [rsp + 0x2eb], ecx
mov rax, qword [0x18021a960]
test rax, rax
jne 0x18009aa1d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009afed
mov qword [0x18021a960], rax
mov r8d, 0x410
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009afed
mov r14, rax
mov qword [rax], r12
movaps xmm0, xmmword [rsp + 0x360]
movaps xmm1, xmmword [rsp + 0x370]
movaps xmm2, xmmword [rsp + 0x380]
movaps xmm3, xmmword [rsp + 0x390]
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 0x28], xmm2
movups xmmword [rax + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x3a0]
movups xmmword [rax + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rax + 0x58], xmm0
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0x68], rax
mov rax, qword [rsp + 0x160]
mov qword [r14 + 0x70], rax
mov rax, qword [rsp + 0x288]
mov qword [r14 + 0x78], rax
mov byte [r14 + 0x80], bl
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
mov dword [r14 + 0x81], eax
mov dword [r14 + 0x84], ecx
mov rax, qword [rsp + 0x28]
mov qword [r14 + 0x88], rax
mov qword [r14 + 0x90], rdi
mov byte [r14 + 0x98], r15b
mov byte [r14 + 0x99], bpl
movzx eax, word [rsp + 0x17c]
mov word [r14 + 0x9e], ax
mov eax, dword [rsp + 0x178]
mov dword [r14 + 0x9a], eax
mov qword [r14 + 0xa0], rsi
mov rax, qword [rsp + 0x30]
mov qword [r14 + 0xa8], rax
mov rax, qword [rsp + 0x150]
mov qword [r14 + 0xb0], rax
movzx eax, byte [rsp + 0x20]
mov byte [r14 + 0xb8], al
mov eax, dword [rsp + 0x2e8]
mov ecx, dword [rsp + 0x2eb]
mov dword [r14 + 0xbc], ecx
mov dword [r14 + 0xb9], eax
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movups xmmword [r14 + 0xc0], xmm0
movups xmmword [r14 + 0xd0], xmm1
movups xmmword [r14 + 0xe0], xmm2
mov rax, qword [rsp + 0x130]
mov qword [r14 + 0xf0], rax
mov rax, qword [rsp + 0xf0]
mov qword [r14 + 0xf8], rax
mov rax, qword [rsp + 0x158]
mov qword [r14 + 0x100], rax
mov rax, qword [rsp + 0xa8]
mov qword [r14 + 0x108], rax
mov byte [r14 + 0x110], r13b
mov byte [r14 + 0x111], 0
mov bl, 4
lea rdi, [rsp + 0x218]
lea r13, [rsp + 0xb0]
movups xmm0, xmmword [rsp + 0x360]
movups xmm1, xmmword [rsp + 0x370]
movups xmm2, xmmword [rsp + 0x380]
movups xmm3, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x570], xmm0
movaps xmmword [rsp + 0x580], xmm1
movaps xmmword [rsp + 0x590], xmm2
movaps xmmword [rsp + 0x5a0], xmm3
movups xmm0, xmmword [rsp + 0x3a0]
movaps xmmword [rsp + 0x5b0], xmm0
movups xmm0, xmmword [rsp + 0x3b0]
movaps xmmword [rsp + 0x5c0], xmm0
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x5d0], rax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x43]
mov dword [rsp + 0x190], eax
mov dword [rsp + 0x193], ecx
mov rsi, qword [rsp + 0x338]
mov rcx, rsi
call fcn.1800977a0
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x328]
mov qword [rax + rcx], 3
mov qword [rsi + 8], r14
mov rax, qword [rsp + 0x5d0]
mov rcx, qword [rsp + 0x438]
mov qword [rcx + 0x60], rax
movaps xmm0, xmmword [rsp + 0x5c0]
movups xmmword [rcx + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x5b0]
movups xmmword [rcx + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x570]
movaps xmm1, xmmword [rsp + 0x580]
movaps xmm2, xmmword [rsp + 0x590]
movaps xmm3, xmmword [rsp + 0x5a0]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov byte [rsi + 0x78], bl
mov eax, dword [rsp + 0x190]
mov ecx, dword [rsp + 0x193]
mov rdx, qword [rsp + 0x430]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov eax, 3
lea rdx, [rsp + 0x360]
jmp 0x1800985d0
cmp rax, 1
jne 0x18009afc7
movzx ebx, byte [rsi + 0x70]
cmp bl, 4
jne 0x18009addb
mov rdx, qword [rsi]
lea rcx, [rsp + 0x1a0]
mov r8, qword [rsp + 0x340]
call fcn.18009b820
movzx ebx, byte [rsp + 0x210]
cmp bl, 3
jne 0x18009ae4f
mov rax, qword [rsp + 0x180]
mov byte [rax + 0x70], 3
jmp 0x18009af88
lea rcx, [rsp + 0x228]
call fcn.180097b50
mov rcx, qword [rsp + 0x260]
test rcx, rcx
je 0x18009ad94
lock dec qword [rcx]
jne 0x18009ad94
call fcn.18008d2e0
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x18009adb4
lock dec qword [rcx]
jne 0x18009adb4
mov rdx, qword [rsp + 0x210]
call fcn.18000bc50
mov rcx, qword [rsp + 0x268]
test rcx, rcx
je 0x18009add4
lock dec qword [rcx]
jne 0x18009add4
mov rdx, qword [rsp + 0x270]
call fcn.18000bc50
mov bl, 2
jmp 0x18009aee8
mov byte [rsi + 0x70], 3
cmp bl, 3
je 0x18009afc7
movups xmm0, xmmword [rsi + 0x60]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1c0], xmm2
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1a0], xmm0
mov eax, dword [rsi + 0x71]
mov ecx, dword [rsi + 0x74]
mov dword [rsp + 0x211], eax
mov dword [rsp + 0x214], ecx
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0x500], xmm0
movups xmm0, xmmword [rsp + 0x1b8]
movaps xmmword [rsp + 0x510], xmm0
movups xmm0, xmmword [rsp + 0x1c8]
movaps xmmword [rsp + 0x520], xmm0
movups xmm0, xmmword [rsp + 0x1d8]
movaps xmmword [rsp + 0x530], xmm0
movups xmm0, xmmword [rsp + 0x1e8]
movaps xmmword [rsp + 0x540], xmm0
movups xmm0, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x550], xmm0
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x560], rax
mov eax, dword [rsp + 0x211]
mov dword [rsp + 0x188], eax
mov eax, dword [rsp + 0x214]
mov dword [rsp + 0x18b], eax
mov rcx, qword [rsp + 0x338]
call fcn.1800977a0
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x328]
mov qword [rax + rcx], 4
mov rdx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x28]
mov qword [rdx], rax
movaps xmm0, xmmword [rsp + 0x500]
movaps xmm1, xmmword [rsp + 0x510]
movaps xmm2, xmmword [rsp + 0x520]
movaps xmm3, xmmword [rsp + 0x530]
movups xmmword [rdx + 8], xmm0
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 0x28], xmm2
movups xmmword [rdx + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x540]
movups xmmword [rdx + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x550]
movups xmmword [rdx + 0x58], xmm0
mov rax, qword [rsp + 0x560]
mov qword [rdx + 0x68], rax
mov byte [rdx + 0x70], bl
mov eax, dword [rsp + 0x188]
mov ecx, dword [rsp + 0x18b]
mov dword [rdx + 0x71], eax
mov dword [rdx + 0x74], ecx
movaps xmm6, xmmword [rsp + 0x5e0]
movaps xmm7, xmmword [rsp + 0x5f0]
movaps xmm8, xmmword [rsp + 0x600]
movaps xmm9, xmmword [rsp + 0x610]
movaps xmm10, xmmword [rsp + 0x620]
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov ecx, 8
mov edx, 0x538
call fcn.18017f950
ud2
mov ecx, 8
mov edx, 0x4cf8
call fcn.18017f950
ud2
mov ecx, 8
mov edx, 0x410
call fcn.18017f950
ud2
mov qword [rcx], 4
ud2
mov qword [rcx], 2
ud2
mov ecx, 8
mov edx, 0x18
call fcn.18017f950
ud2
mov ecx, 8
mov edx, 0x28
call fcn.18017f950
ud2