Function at 0x180080120
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 0x180080254
cmp rax, 1
je 0x180080254
test rax, rax
jne 0x180080724
mov rax, qword [rdi + 8]
mov qword [rdi], 8
cmp rax, 1
ja 0x18008072b
lea r14, [rdi + 0x10]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1b8]
mov r8d, 0x1a8
mov rdx, r14
call fcn.18015ab20
lea r8, [rsp + 0x2b8]
movzx r9d, byte [rsp + 0x358]
mov rdx, qword [rsp + 0x340]
lea rcx, [rsp + 0x440]
call fcn.180090430
cmp byte [rsp + 0x440], 3
jne 0x18008027d
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x1800801ff
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18008072f
mov rcx, rax
mov qword [0x1801fd960], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18008072f
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.1800813c0
lea rcx, [rsp + 0x1b0]
call fcn.18008c8a0
mov r13d, 5
mov bpl, 2
jmp 0x180080540
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 0x18008d800
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.18015ab20
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 0x18008051d
mov r12, qword [rsp + 0x2c0]
lea rcx, [r12 + 0x18]
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r12
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.18015ab20
mov rcx, rdi
call fcn.180080740
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.18015ab20
add r13, 0xfffffffffffffffa
cmp r13, 2
ja 0x1800806fa
cmp r13, 1
jne 0x18008072b
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call 0x18008d800
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.180168710
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 + 0x348], 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 0x18008d8e0
movzx eax, byte [rsi + 0x70]
mov byte [rsi + 0x70], 3
cmp al, 3
je 0x1800903a2
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]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmm2, xmmword [rsi + 0x20]
movdqu xmm3, xmmword [rsi + 0x30]
movdqu xmmword [r8 + 0x30], xmm3
movdqu xmmword [r8 + 0x20], xmm2
movdqu 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 0x180090363
mov r8b, al
shl r8, 3
lea rax, [rsi + 8]
mov qword [rsp + 0x440], rax
lea rdi, [rsp + 0x228]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x438], rax
lea rax, [rsi + 0x79]
mov qword [rsp + 0x430], rax
mov qword [rsp + 0x338], rdx
mov qword [rsp + 0x330], r8
mov rax, qword [rdx + r8]
pcmpeqd xmm6, xmm6
xorps xmm7, xmm7
lea r15, [rsp + 0x360]
lea r13, [rsp + 0x40]
lea rbx, [rsp + 0xb0]
mov qword [rsp + 0x340], rsi
nop dword [rax + rax]
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 0x1800900f9
cmp dword [rsi], 2
je 0x1800903a2
lea r12, [rsi + 0xe0]
mov r14, qword [r12]
cmp r14, 4
je 0x1800903a2
mov qword [rsp + 0x350], rsi
lea rax, [r12 + 0x80]
mov qword [rsp + 0x188], rax
lea rax, [r12 + 8]
mov qword [rsp + 0x158], rax
lea rax, [r12 + 0x60]
mov qword [rsp + 0x448], rax
lea rax, [r12 + 0xa8]
mov qword [rsp + 0x458], rax
lea rax, [r12 + 0xc8]
mov qword [rsp + 0x450], rax
mov qword [rsp + 0x358], r12
jmp 0x18008da04
mov r14, qword [r12]
lea rcx, [r14 - 1]
cmp r14, 2
mov eax, 0
cmovae rax, rcx
test rax, rax
jne 0x18008f2e0
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x220], rax
movups xmm0, xmmword [rcx + 0x60]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [rcx + 0x50]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0x1e0], xmm3
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
mov rcx, qword [rsp + 0x188]
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, r15
lea rdx, [rsp + 0x1b0]
call fcn.18015ab20
mov qword [r12], 3
cmp r14, 1
ja 0x1800903a2
mov qword [rsp + 0x1b0], r14
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]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqu xmm3, xmmword [rcx + 0x30]
movdqa xmmword [rsp + 0x2c0], xmm3
movdqa xmmword [rsp + 0x2b0], xmm2
movdqa xmmword [rsp + 0x2a0], xmm1
movdqa xmmword [rsp + 0x290], xmm0
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x160], eax
mov rcx, qword [rsp + 0x220]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18008e9f0
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xa0], 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
lea r15, [0x180090414]
jmp 0x18008dd12
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]
movdqu xmm1, xmmword [rsp + 0x60]
movdqu xmm2, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x120], xmm1
movdqa xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rcx
lea rbx, [rsp + 0xb0]
cmp qword [rsp + 0x100], 2
jne 0x18008ef9d
nop word cs:[rax + rax]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
je 0x18008e9f0
lea rdi, [rbp + 0x58]
mov rax, qword [rbp + 0x58]
test rax, rax
cmove rdi, rax
je 0x18008ded0
mov rdx, qword [rsp + 0x2b0]
test rdx, rdx
je 0x1800903a2
mov rcx, qword [rsp + 0x2a8]
call fcn.18004b980
test rax, rax
je 0x1800903a2
mov rsi, rax
mov r14, rdx
test rdx, rdx
je 0x18008dee0
cmp byte [rsi], 0x5b
jne 0x18008def2
add r14, rsi
mov r10b, 0x5b
xor eax, eax
mov r8, rsi
test r10b, r10b
jns 0x18008de21
nop word [rax + rax]
mov ecx, r10d
and cl, 0x1f
movzx r9d, cl
movzx r11d, byte [r8 + 1]
and r11d, 0x3f
cmp r10b, 0xdf
jbe 0x18008ddd0
movzx edx, byte [r8 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r10b, 0xf0
jb 0x18008dde0
lea rcx, [r8 + 4]
movzx r10d, byte [r8 + 3]
and r9d, 7
shl r9d, 0x12
shl edx, 6
and r10d, 0x3f
or r10d, edx
or r9d, r10d
jmp 0x18008ddf0
lea rcx, [r8 + 2]
shl r9d, 6
or r9d, r11d
jmp 0x18008ddf0
lea rcx, [r8 + 3]
shl r9d, 0xc
or r9d, edx
nop dword [rax + rax]
mov rdx, rcx
sub rdx, r8
add rdx, rax
cmp r9d, 0x5b
je 0x18008de05
cmp r9d, 0x5d
jne 0x18008de3a
cmp rcx, r14
je 0x18008dee5
movzx r10d, byte [rcx]
mov rax, rdx
mov r8, rcx
test r10b, r10b
js 0x18008dd80
lea rcx, [r8 + 1]
movzx r9d, r10b
jmp 0x18008ddf0
cmp r9d, 0x5d
jne 0x18008e64e
cmp rcx, r14
je 0x18008dee9
mov r8, r14
movzx r9d, byte [r14 - 1]
test r9b, r9b
js 0x18008de60
lea r14, [r8 - 1]
cmp r9d, 0x5b
jne 0x18008de30
jmp 0x18008de3a
movzx r10d, byte [r8 - 2]
cmp r10b, 0xc0
jge 0x18008de96
movzx r11d, byte [r8 - 3]
cmp r11b, 0xc0
jge 0x18008dea0
lea r14, [r8 - 4]
movzx ebx, byte [r8 - 4]
and ebx, 7
shl ebx, 6
and r11d, 0x3f
or r11d, ebx
lea rbx, [rsp + 0xb0]
jmp 0x18008dea8
lea r14, [r8 - 2]
and r10d, 0x1f
jmp 0x18008deb3
lea r14, [r8 - 3]
and r11d, 0xf
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r9d, 0x5b
jne 0x18008de30
jmp 0x18008de3a
xor eax, eax
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
xor r14d, r14d
jmp 0x18008def2
xor edx, edx
xor eax, eax
add rsi, rax
sub rdx, rax
mov r14, rdx
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r14
mov rcx, rbx
call fcn.1800257b0
mov r12, rax
test r12b, 1
jne 0x18008dff0
movaps xmmword [rsp + 0x40], xmm7
mov r8d, 8
mov rcx, rbx
mov rdx, r13
call fcn.180025f90
cmp rax, 8
jne 0x18008e091
movzx eax, word [rsp + 0x40]
movzx ecx, word [rsp + 0x42]
movzx edx, word [rsp + 0x44]
movzx r8d, word [rsp + 0x46]
movzx r9d, word [rsp + 0x48]
movzx r10d, word [rsp + 0x4a]
movzx r11d, word [rsp + 0x4c]
movzx ebx, word [rsp + 0x4e]
rol ax, 8
rol cx, 8
rol dx, 8
rol r8w, 8
rol r9w, 8
rol r10w, 8
rol r11w, 8
rol bx, 8
movd xmm0, ebx
movd xmm1, r11d
punpcklwd xmm1, xmm0
movd xmm0, r10d
movd xmm2, r9d
punpcklwd xmm2, xmm0
punpckldq xmm2, xmm1
movd xmm0, r8d
movd xmm1, edx
punpcklwd xmm1, xmm0
movd xmm3, ecx
movd xmm0, eax
punpcklwd xmm0, xmm3
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
cmp qword [rsp + 0xb8], 0
lea rbx, [rsp + 0xb0]
jne 0x18008e160
pshufd xmm8, xmm0, 0xf9
movd eax, xmm0
mov bl, 1
jmp 0x18008e008
cmp qword [rsp + 0xb8], 0
jne 0x18008e160
mov rax, r12
shr rax, 8
xor ebx, ebx
mov byte [rsp + 0x40], bl
mov dword [rsp + 0x41], eax
pshufd xmm0, xmm8, 0xee
movd dword [rsp + 0x4d], xmm0
movq qword [rsp + 0x45], xmm8
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x18008e28d
mov rsi, qword [rdi]
mov rdi, qword [rsp + 0x41]
test r12b, 1
jne 0x18008e249
mov r14, qword [rsp + 0x49]
add rax, rax
lea r15, [rax + rax*8]
jmp 0x18008e06d
mov rcx, rsi
mov rdx, r13
call fcn.180060d00
test al, al
jne 0x18008e08a
add rsi, 0x12
add r15, 0xffffffffffffffee
je 0x18008e291
cmp byte [rsi], 2
jne 0x18008e050
cmp bl, byte [rsi + 1]
jne 0x18008e05f
mov rax, qword [rsi + 2]
xor rax, rdi
mov rcx, qword [rsi + 0xa]
xor rcx, r14
or rcx, rax
jne 0x18008e05f
mov al, 1
jmp 0x18008e293
test dl, 1
jne 0x18008e160
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x18008e160
mov rdx, qword [rsp + 0xb0]
cmp byte [rdx], 0x3a
jne 0x18008e160
cmp rcx, 1
je 0x18008e160
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 0x18008e160
mov qword [rsp + 0x306], 0
mov qword [rsp + 0x300], 0
cmp rax, 8
jae 0x1800903a2
mov r8d, 7
sub r8, rax
mov rcx, rbx
lea rdx, [rsp + 0x300]
call fcn.180025f90
cmp rax, 9
jae 0x1800903a2
cmp rax, 8
je 0x1800903a2
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.18015ab20
jmp 0x18008df37
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x18008e21e
mov rbx, qword [rdi + 0x18]
lea rax, [rax + rax*2]
lea r13, [rbx + rax*8]
jmp case.default.0x18008e247
add rbx, 0x18
cmp rbx, r13
je 0x18008e22d
mov rdi, qword [rbx]
mov r12, qword [rbx + 0x10]
cmp r14, r12
jne 0x18008e1ab
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.18015b570
test eax, eax
je 0x18008e21a
test r12, r12
je 0x18008e1d2
lea rax, [r12 - 1]
cmp rax, r14
jne 0x18008e1d2
cmp byte [rdi], 0x2e
jne 0x18008e1d2
lea rcx, [rdi + 1]
mov rdx, rsi
mov r8, r14
call fcn.18015b570
test eax, eax
je 0x18008e21a
mov rdx, r14
sub rdx, r12
jb 0x18008e1ec
add rdx, rsi
mov rcx, rdi
mov r8, r12
call fcn.18015b570
test eax, eax
je 0x18008e1f9
cmp r12, 1
jne 0x18008e180
cmp byte [rdi], 0x2a
jne 0x18008e180
jmp 0x18008e21a
test r12, r12
je 0x18008e203
cmp byte [rdi], 0x2e
je 0x18008e21a
not r12
add r12, r14
jae 0x18008e180
cmp byte [rsi + r12], 0x2e
jne 0x18008e180
mov al, 1
jmp 0x18008e22f
xor eax, eax
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
xor eax, eax
lea r13, [rsp + 0x40]
lea rbx, [rsp + 0xb0]
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
add rax, rax
lea rbx, [rax + rax*8]
jmp 0x18008e279
mov rcx, rsi
mov rdx, r13
call fcn.180060d00
test al, al
jne 0x18008e289
add rsi, 0x12
add rbx, 0xffffffffffffffee
je 0x18008e28d
cmp byte [rsi], 2
jne 0x18008e260
cmp byte [rsi + 1], 0
jne 0x18008e26f
cmp dword [rsi + 2], edi
jne 0x18008e26f
mov al, 1
jmp 0x18008e29a
xor eax, eax
jmp 0x18008e29a
xor eax, eax
lea r15, [0x180090414]
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
lea rbx, [rsp + 0xb0]
jmp rcx
test al, al
jne 0x18008dd00
cmp qword [rbp + 8], 0
je 0x18008e403
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x18008dc07
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
lea rcx, [rsp + 0xb0]
call qword [rax]
movzx ebx, byte [rbp + 0x50]
jmp 0x18008dc07
test al, al
jne 0x18008dd00
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0x290]
call fcn.180076230
cmp qword [rsp + 0x100], 2
je 0x18008dd00
jmp 0x18008ef9d
test al, al
jne 0x18008dd00
movzx eax, byte [rsp + 0x290]
test al, al
je 0x1800903a2
cmp al, 2
jne 0x18008e462
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 5
jne 0x18008dd00
mov rax, qword [rax + 8]
jmp 0x18008e477
test al, al
jne 0x18008dd00
movzx eax, byte [rsp + 0x290]
test al, al
je 0x1800903a2
cmp al, 2
jne 0x18008e581
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 4
jne 0x18008dd00
mov rax, qword [rax + 8]
jmp 0x18008e596
test al, al
jne 0x18008dd00
movzx eax, byte [rsp + 0x290]
test al, al
je 0x1800903a2
mov qword [rsp + 0x30], rbp
cmp al, 2
jne 0x18008e494
mov rax, qword [rsp + 0x298]
mov rbp, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 8]
cmp qword [rdx + 0x28], 0
jne 0x18008e4cc
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x18008dd12
jmp 0x18008e9f0
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x18008e429
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
lea rcx, [rsp + 0xb0]
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 0x18008e9ab
cmp byte [rsp + 0x291], 0
lea rax, [0x1801e7018]
je 0x18008dd00
mov ecx, dword [rax]
mov edx, 0x70747468
xor ecx, edx
movzx eax, byte [rax + 4]
xor eax, 0x73
or eax, ecx
jne 0x18008dd00
jmp 0x18008e2b7
xor esi, esi
cmp byte [rsp + 0x291], 0
sete sil
lea rbp, [0x1801e7018]
lea rax, str.httphttps
cmove rbp, rax
xor rsi, 5
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 8]
cmp qword [rdx + 0x28], 0
je 0x18008e3e7
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 r12d, r12d
and rax, 0xfffffffffffffff8
je 0x18008e564
nop
add r10, r9
rol r9, 0xd
mov rcx, qword [rbp + r12]
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 r12, 8
cmp r12, rax
jb 0x18008e520
cmp edi, 3
jbe 0x18008e5a7
mov r13d, dword [rbp + r12]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jb 0x18008e5b8
jmp 0x18008e5d2
cmp byte [rsp + 0x291], 0
lea rax, str.httphttps
jne 0x18008dd00
cmp dword [rax], 0x70747468
jne 0x18008dd00
jmp 0x18008e2b7
xor r13d, r13d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jae 0x18008e5d2
lea rcx, [rax + r12]
movzx ebx, word [rbp + rcx]
lea ecx, [rax*8]
shl rbx, cl
or r13, rbx
or rax, 2
cmp rax, rdi
jae 0x18008e5ed
add r12, rax
movzx ebx, byte [rbp + r12]
shl eax, 3
mov ecx, eax
shl rbx, cl
or r13, rbx
jmp 0x18008e5f2
test rdi, rdi
je 0x18008e659
lea ecx, [rdi*8]
mov ebx, 0xff
shl rbx, cl
or rbx, r13
cmp rdi, 7
jne 0x18008e73f
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 0x18008e65b
sub rdx, rcx
add rdx, r8
jmp 0x18008dee9
xor ecx, ecx
mov edi, 1
sub rdi, rcx
mov eax, edi
and eax, 7
and rdi, 0xfffffffffffffff8
cmp rcx, rdi
jae 0x18008e6ef
nop word cs:[rax + 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 0x18008e680
xor edi, edi
cmp rax, 4
setae dil
cmp eax, 4
mov ebx, 0
mov ecx, 0xff
cmovae rbx, rcx
shl rdi, 2
jmp 0x18008e6f3
xor ebx, ebx
xor edi, edi
mov r14, rdi
lea ecx, [rdi*8]
mov r15d, 0xff
shl r15, cl
or r14, 1
mov r12, rdi
or r12, 2
cmp r14, rax
mov r14d, 0
cmovae r15, r14
cmovae r12, rdi
or r15, rbx
lea ecx, [r12*8]
mov ebx, 0xff
shl rbx, cl
cmp r12, rax
cmovae rbx, r14
or rbx, r15
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 + 0x38], rcx
lea r13, [rcx - 0x68]
xor r15d, r15d
and rdi, r12
mov rax, qword [rsp + 0x38]
movdqu xmm10, xmmword [rax + rdi]
movdqa xmm0, xmm9
pcmpeqb xmm0, xmm10
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x18008e89c
pcmpeqb xmm10, xmm6
pmovmskb eax, xmm10
test eax, eax
jne 0x18008e9c0
add rdi, r15
add rdi, 0x10
add r15, 0x10
jmp 0x18008e850
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x18008e870
tzcnt eax, ebx
add rax, rdi
and rax, r12
neg rax
imul r14, rax, 0x68
cmp qword [r13 + r14 + 0x10], rsi
jne 0x18008e890
add r14, r13
mov rdx, qword [r14]
mov rcx, rbp
mov r8, rsi
call fcn.18015b570
test eax, eax
jne 0x18008e890
lea rsi, [r14 + 0x18]
cmp qword [r14 + 0x18], 0
je 0x18008e942
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x180090414]
mov rbp, qword [rsp + 0x30]
je 0x18008e90b
lea rdx, [rsi + 0x40]
mov rax, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
mov r9, qword [rsi + 0x38]
lea rcx, [rsp + 0xb0]
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 0x18008dc3b
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x180090414]
mov rbp, qword [rsp + 0x30]
je 0x18008e979
lea rdx, [rsi + 0x40]
mov rax, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
mov r9, qword [rsi + 0x38]
lea rcx, [rsp + 0xb0]
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 0x18008dc4b
lea r13, [rsp + 0x40]
lea r15, [0x180090414]
lea rbx, [rsp + 0xb0]
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x18008dd12
nop dword [rax + rax]
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x1800903a2
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x1800903a2
cmp qword [rsp + 0x1b0], 0
je 0x18008ea50
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0x190], rax
mov r14d, 1
jmp 0x18008ea53
xor r14d, r14d
mov rcx, qword [rsp + 0x1c0]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r12, rax
movzx r13d, byte [rsp + 0x1cc]
movzx ebx, byte [rsp + 0x1cd]
movq xmm9, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x220]
lock inc qword [rax]
jle 0x1800903a2
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x28], rax
movzx eax, byte [rsp + 0x228]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0xe8], eax
movzx eax, byte [rsp + 0x229]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x22a]
mov byte [rsp + 0xa0], al
mov al, 2
cmp byte [rsp + 0x218], 2
je 0x18008eb0e
mov rax, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x200]
mov r9, qword [rsp + 0x208]
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x210]
call qword [rax]
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0xf0], 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
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008ebd9
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800903a6
mov qword [0x1801fd960], rax
mov r8d, 0x538
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800903a6
mov rsi, rax
mov qword [rax], r14
mov rax, qword [rsp + 0x190]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r12
movd dword [rsi + 0x18], xmm9
mov byte [rsi + 0x1c], r13b
mov byte [rsi + 0x1d], bl
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], r15
mov qword [rsi + 0x30], rbp
mov rcx, qword [rsp + 0xf8]
mov qword [rsi + 0x38], rcx
mov eax, dword [rsp + 0xe8]
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 + 0xf0]
mov byte [rsi + 0x68], al
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x70], rax
movzx eax, byte [rsp + 0x38]
mov byte [rsi + 0x78], al
movzx eax, byte [rsp + 0x30]
mov byte [rsi + 0x79], al
movzx eax, byte [rsp + 0xa0]
mov byte [rsi + 0x7a], al
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmm1, xmmword [rsp + 0x50]
movdqa xmm2, xmmword [rsp + 0x60]
movdqa xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x80], xmm0
movdqu xmmword [rsi + 0x90], xmm1
movdqu xmmword [rsi + 0xa0], xmm2
movdqu 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 r14, [0x1801c2388]
mov r12, qword [rsp + 0x358]
mov rax, qword [r12]
lea rcx, [rax - 1]
cmp rax, 2
mov eax, 0
cmovae rax, rcx
cmp rax, 1
lea r15, [rsp + 0x360]
lea r13, [rsp + 0x40]
je 0x18008ede0
test rax, rax
jne 0x18008eedb
mov rcx, qword [r12 + 0x20]
lock dec qword [rcx]
jne 0x18008ee20
call fcn.18000abc0
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
je 0x18008ee2f
cmp qword [r12], 0
je 0x18008ed82
mov rax, qword [rsp + 0x158]
mov rcx, qword [rax]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, qword [r12 + 0x10]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
mov rcx, qword [r12 + 0x70]
lock dec qword [rcx]
jne 0x18008ee50
call fcn.18006f3f0
cmp byte [r12 + 0x68], 2
je 0x18008ee5c
mov rax, qword [r12 + 0x48]
mov rdx, qword [r12 + 0x50]
mov r8, qword [r12 + 0x58]
mov rcx, qword [rsp + 0x448]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x188]
cmp byte [rax], 2
jae 0x18008ee69
jmp 0x18008ee95
mov rdi, qword [r12 + 8]
mov rbx, qword [r12 + 0x10]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18008eedb
cmp qword [rbx + 0x10], 0x11
jb 0x18008ee05
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18008eedb
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
jne 0x18008ed6a
mov rdx, qword [r12 + 0x30]
call fcn.18006eff0
cmp qword [r12], 0
jne 0x18008ed71
jmp 0x18008ed82
cmp byte [r12 + 0x68], 2
jne 0x18008edaf
mov rax, qword [rsp + 0x188]
cmp byte [rax], 2
jb 0x18008ee95
mov rdi, qword [r12 + 0x88]
lea rcx, [rdi + 0x18]
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [r12 + 0x90]
mov rdx, qword [r12 + 0x98]
mov r8, qword [r12 + 0xa0]
mov rcx, qword [rsp + 0x458]
call qword [rax + 0x10]
mov rax, qword [r12 + 0xb0]
mov rdx, qword [r12 + 0xb8]
mov r8, qword [r12 + 0xc0]
mov rcx, qword [rsp + 0x450]
call qword [rax + 0x10]
mov qword [r12], 2
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], r14
mov rcx, qword [rsp + 0x1d0]
lock dec qword [rcx]
jne 0x18008ef00
call fcn.18000abc0
mov rcx, qword [rsp + 0x1d8]
lock dec qword [rcx]
lea rdi, [rsp + 0x228]
lea rbx, [rsp + 0xb0]
jne 0x18008ef2b
mov rdx, qword [rsp + 0x1e0]
call fcn.18006eff0
cmp qword [rsp + 0x1b0], 0
je 0x18008ef44
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, qword [rsp + 0x1c0]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
mov rcx, qword [rsp + 0x220]
lock dec qword [rcx]
jne 0x18008ef67
call fcn.18006f3f0
cmp byte [rsp + 0x218], 2
je 0x18008da00
mov rax, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
lea rcx, [rsp + 0x210]
call qword [rax + 0x10]
jmp 0x18008da00
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x1800903a2
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x1800903a2
cmp qword [rsp + 0xe8], 0
je 0x18008eff2
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0xf0], rax
mov r13d, 1
jmp 0x18008eff5
xor r13d, r13d
mov rcx, qword [rsp + 0x1c0]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r12, rax
movzx ebx, byte [rsp + 0x1cc]
movzx r14d, byte [rsp + 0x1cd]
movq xmm9, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0xa0]
lock inc qword [rax]
jle 0x1800903a2
movzx eax, byte [rsp + 0x228]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x229]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x22a]
mov byte [rsp + 0x30], al
mov al, 2
cmp byte [rsp + 0x218], 2
je 0x18008f092
mov rax, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x200]
mov r9, qword [rsp + 0x208]
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x210]
call qword [rax]
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0xe8], 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
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008f15d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800903b7
mov qword [0x1801fd960], rax
mov r8d, 0x4cf8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800903b7
mov rsi, rax
mov qword [rax], r13
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r12
movd dword [rsi + 0x18], xmm9
mov byte [rsi + 0x1c], bl
mov byte [rsi + 0x1d], r14b
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], r15
mov qword [rsi + 0x30], rbp
mov rdx, qword [rsp + 0xf8]
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 + 0xe8]
mov byte [rsi + 0x68], al
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x70], rax
movzx eax, byte [rsp + 0x28]
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 + 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]
movdqa xmm1, xmmword [rsp + 0x50]
movdqa xmm2, xmmword [rsp + 0x60]
movdqa xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + 0xd0], xmm0
movdqu xmmword [rsi + 0xe0], xmm1
movdqu xmmword [rsi + 0xf0], xmm2
movdqu 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 r14, [0x1801c23a8]
jmp 0x18008ed0a
cmp rax, 1
jne 0x1800903a2
mov rdx, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
lea rcx, [rsp + 0x2e8]
mov r8, qword [rsp + 0x348]
call qword [rax + 0x18]
movzx ebp, byte [rsp + 0x2f9]
cmp bpl, 3
je 0x180090139
mov rbx, r12
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x38], rax
movzx r12d, byte [rsp + 0x2f8]
lea rcx, [rsp + 0x2fa]
mov eax, dword [rcx]
mov dword [rsp + 0xa8], eax
movzx eax, word [rcx + 4]
mov word [rsp + 0xac], ax
cmp dword [rbx], 4
je 0x1800903d9
mov rcx, rbx
call fcn.18008cd20
mov qword [rbx], 4
cmp bpl, 2
jne 0x18008f3e0
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008f3a3
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800903ef
mov qword [0x1801fd960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800903ef
mov byte [rax + 0x10], 7
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
mov qword [rsp + 0x28], rax
jmp 0x18008f3fe
movzx eax, word [rsp + 0xac]
mov word [rsp + 0x1b4], ax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x1b0], eax
movzx eax, word [rsp + 0x1b4]
mov word [rsp + 0x16c], ax
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x168], eax
mov rcx, qword [rsp + 0x350]
mov r14, qword [rcx]
cmp r14, 2
je 0x1800903e4
movups xmm0, xmmword [rcx + 8]
movups xmm1, xmmword [rcx + 0x18]
movups xmm2, xmmword [rcx + 0x28]
movups xmm3, xmmword [rcx + 0x38]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1e0], xmm3
movups xmm0, xmmword [rcx + 0x48]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rcx + 0x58]
movaps xmmword [rsp + 0x200], xmm0
mov r8, qword [rcx + 0x68]
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x160], rax
mov r9, qword [rcx + 0x78]
movzx esi, 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 + 0x30], rax
mov rdi, qword [rcx + 0xc8]
mov r15, 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 + 0xe8], rdi
je 0x18008f55e
mov rcx, qword [rsp + 0x358]
mov byte [rsp + 0xf8], bpl
mov rbp, r14
mov r14d, r12d
mov edi, esi
mov rsi, r8
mov rbx, r9
mov r12d, r10d
call fcn.18008cd20
mov r10d, r12d
mov r9, rbx
mov r8, rsi
mov esi, edi
mov rdi, qword [rsp + 0xe8]
mov r12d, r14d
mov r14, rbp
movzx ebp, byte [rsp + 0xf8]
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x4f0], xmm0
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x4e0], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movaps xmm3, xmmword [rsp + 0x1e0]
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 + 0x1ab], ecx
mov dword [rsp + 0x1a8], eax
mov rax, qword [rsp + 0x350]
mov qword [rax], 2
mov qword [rsp + 0x1b0], r14
movaps xmm0, xmmword [rsp + 0x4f0]
lea rdx, [rsp + 0x228]
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]
movdqa xmm3, xmmword [rsp + 0x4d0]
movdqu xmmword [rdx - 0x40], xmm3
movups xmmword [rdx - 0x50], xmm2
movups xmmword [rdx - 0x60], xmm1
movups xmmword [rdx - 0x70], xmm0
mov qword [rsp + 0x218], r8
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], r9
mov byte [rsp + 0x230], sil
movups xmm0, xmmword [rsp + 0x48f]
movups xmmword [rdx + 0x38], xmm0
movdqa xmm0, xmmword [rsp + 0x460]
movdqa xmm1, xmmword [rsp + 0x470]
movdqa xmm2, xmmword [rsp + 0x480]
movdqu xmmword [rdx + 0x29], xmm2
movdqu xmmword [rdx + 0x19], xmm1
movdqu xmmword [rdx + 9], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x280], r15
mov byte [rsp + 0x288], r10b
mov eax, dword [rsp + 0x1a8]
mov ecx, dword [rsp + 0x1ab]
mov dword [rdx + 0x64], ecx
mov dword [rdx + 0x61], eax
cmp bpl, 2
je 0x18009014a
mov ebx, r10d
mov qword [rsp + 0x188], r9
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0x190], r15
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 r15, [rsp + 0x360]
mov rcx, r15
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
call qword [rax + 0x50]
mov byte [rsp + 0x379], r12b
mov rdi, qword [rsp + 0x360]
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x370]
movzx eax, byte [rsp + 0x378]
mov byte [rsp + 0xf8], 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 0x18008f910
mov qword [rsp + 0x158], rdx
mov rcx, r15
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
call qword [rax + 0x78]
cmp qword [rsp + 0x360], 0
je 0x18008f9f2
test rdi, rdi
je 0x18008f986
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008f8b8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180090400
mov qword [0x1801fd960], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180090400
mov rcx, rax
mov qword [rax], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rcx + 8], rax
mov rax, rcx
add rax, 0x10
lea rdx, [0x1801c1428]
mov qword [rsp + 0xa0], rdx
mov rdi, rcx
jmp 0x18008f9db
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x103]
mov dword [rsp + 0xab], ecx
mov dword [rsp + 0xa8], eax
cmp byte [rsp + 0xf8], 0
mov qword [rsp + 0x158], rdi
jne 0x18008fa2c
test bl, bl
je 0x18008fec9
lea rcx, [rsp + 0x297]
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
jmp 0x18008fa67
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008f9af
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800903ef
mov qword [0x1801fd960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
lea rcx, [0x1801c0620]
mov qword [rsp + 0xa0], rcx
mov rdi, rax
test rax, rax
je 0x1800903ef
lea rdx, [rsp + 0x3d8]
mov rcx, qword [rdx - 0x60]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rdx - 0x70]
movups xmmword [rax], xmm0
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x103]
mov dword [rsp + 0xab], ecx
mov dword [rsp + 0xa8], eax
mov rdx, qword [rsp + 0x158]
cmp byte [rsp + 0xf8], 0
mov qword [rsp + 0x158], rdi
je 0x18008f942
lea rcx, [rsp + 0x297]
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 bl, bl
je 0x18008fa80
mov rdi, rdx
mov sil, 1
mov r15b, 1
jmp 0x18008fa86
mov rdi, rdx
xor r15d, r15d
mov ebx, r12d
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 + 0xa8]
mov ecx, dword [rsp + 0xab]
mov dword [rsp + 0x2e8], eax
mov dword [rsp + 0x2eb], ecx
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18008fb9c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800903c8
mov qword [0x1801fd960], rax
mov r8d, 0x410
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800903c8
mov r12, rax
mov qword [rax], r14
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 + 0xf0]
mov qword [r12 + 0x68], rax
mov rax, qword [rsp + 0x160]
mov qword [r12 + 0x70], rax
mov rax, qword [rsp + 0x188]
mov qword [r12 + 0x78], rax
mov byte [r12 + 0x80], sil
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
mov dword [r12 + 0x81], eax
mov dword [r12 + 0x84], ecx
mov rax, qword [rsp + 0x28]
mov qword [r12 + 0x88], rax
mov rax, qword [rsp + 0x38]
mov qword [r12 + 0x90], rax
mov byte [r12 + 0x98], bl
mov byte [r12 + 0x99], bpl
movzx eax, word [rsp + 0x17c]
mov word [r12 + 0x9e], ax
mov eax, dword [rsp + 0x178]
mov dword [r12 + 0x9a], eax
mov rax, qword [rsp + 0x158]
mov qword [r12 + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [r12 + 0xa8], rax
mov qword [r12 + 0xb0], rdi
movzx eax, byte [rsp + 0xf8]
mov byte [r12 + 0xb8], al
mov eax, dword [rsp + 0x2e8]
mov ecx, dword [rsp + 0x2eb]
mov dword [r12 + 0xbc], ecx
mov dword [r12 + 0xb9], eax
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movups xmmword [r12 + 0xc0], xmm0
movups xmmword [r12 + 0xd0], xmm1
movups xmmword [r12 + 0xe0], xmm2
mov rax, qword [rsp + 0x130]
mov qword [r12 + 0xf0], rax
mov rax, qword [rsp + 0xe8]
mov qword [r12 + 0xf8], rax
mov rax, qword [rsp + 0x190]
mov qword [r12 + 0x100], rax
mov rax, qword [rsp + 0x30]
mov qword [r12 + 0x108], rax
mov byte [r12 + 0x110], r15b
mov byte [r12 + 0x111], 0
mov bl, 4
lea rdi, [rsp + 0x228]
lea r15, [rsp + 0x360]
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 + 0x1a0], eax
mov dword [rsp + 0x1a3], ecx
mov rsi, qword [rsp + 0x340]
mov rcx, rsi
call fcn.18008c9e0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x330]
mov qword [rax + rcx], 3
mov qword [rsi + 8], r12
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]
movdqa xmm1, xmmword [rsp + 0x580]
movdqa xmm2, xmmword [rsp + 0x590]
movdqa xmm3, xmmword [rsp + 0x5a0]
movdqu xmmword [rcx + 0x30], xmm3
movdqu xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov byte [rsi + 0x78], bl
mov eax, dword [rsp + 0x1a0]
mov ecx, dword [rsp + 0x1a3]
mov rdx, qword [rsp + 0x430]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov eax, 3
lea rbx, [rsp + 0xb0]
jmp 0x18008d950
mov rbx, rdx
lea rcx, [rsp + 0x297]
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 + 0x30]
lea r15, [rsp + 0x360]
mov r8, r15
mov r9b, 1
call fcn.180090430
mov rcx, r15
call fcn.18008ce10
cmp byte [rsp + 0x100], 3
jne 0x18008ff5a
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
je 0x18008ffa2
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
jmp 0x18008ffc8
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 rdx, rbx
jmp 0x18008fa67
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
je 0x1800903ef
mov qword [0x1801fd960], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800903ef
mov r12, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov r8d, 0x17
mov rcx, rax
lea rdx, [0x1801c138d]
call fcn.1800813c0
test rdi, rdi
je 0x180090033
mov rcx, rdi
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x180090033
cmp qword [rsi + 0x10], 0x11
jb 0x180090021
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lock dec qword [rbx]
jne 0x180090041
mov rcx, rbx
call fcn.18000abc0
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x180090082
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0x11
jb 0x18009006e
mov rax, qword [rsp + 0x28]
mov rax, qword [rax - 8]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, qword [rsp + 0x28]
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
mov rax, qword [rsp + 0xf0]
je 0x1800900a7
lock dec qword [rcx]
jne 0x1800900a7
call fcn.180082800
mov rax, qword [rsp + 0xf0]
test rax, rax
lea rdi, [rsp + 0x228]
je 0x1800900ca
lock dec qword [rax]
jne 0x1800900ca
mov rcx, rax
mov rdx, qword [rsp + 0x160]
call fcn.18006eff0
mov bl, 2
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x18008fd84
lock dec qword [rcx]
jne 0x18008fd84
mov rdx, qword [rsp + 0x190]
call fcn.18006eff0
jmp 0x18008fd84
cmp rax, 1
jne 0x1800903a2
movzx ebx, byte [rsi + 0x70]
cmp bl, 4
jne 0x1800901b6
mov rdx, qword [rsi]
lea rcx, [rsp + 0x1b0]
mov r8, qword [rsp + 0x348]
call fcn.180090c10
movzx ebx, byte [rsp + 0x220]
cmp bl, 3
jne 0x18009022a
mov rax, qword [rsp + 0x180]
mov byte [rax + 0x70], 3
jmp 0x180090363
lea rcx, [rsp + 0x238]
call fcn.18008ce10
mov rcx, qword [rsp + 0x270]
test rcx, rcx
je 0x18009016f
lock dec qword [rcx]
jne 0x18009016f
call fcn.180082800
mov rcx, qword [rsp + 0x218]
test rcx, rcx
je 0x18009018f
lock dec qword [rcx]
jne 0x18009018f
mov rdx, qword [rsp + 0x220]
call fcn.18006eff0
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x1800901af
lock dec qword [rcx]
jne 0x1800901af
mov rdx, qword [rsp + 0x280]
call fcn.18006eff0
mov bl, 2
jmp 0x1800902c3
mov byte [rsi + 0x70], 3
cmp bl, 3
je 0x1800903a2
movups xmm0, xmmword [rsi + 0x60]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0x1e0], xmm3
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
mov eax, dword [rsi + 0x71]
mov ecx, dword [rsi + 0x74]
mov dword [rsp + 0x221], eax
mov dword [rsp + 0x224], ecx
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rsp + 0x1b8]
movaps xmmword [rsp + 0x500], xmm0
movups xmm0, xmmword [rsp + 0x1c8]
movaps xmmword [rsp + 0x510], xmm0
movups xmm0, xmmword [rsp + 0x1d8]
movaps xmmword [rsp + 0x520], xmm0
movups xmm0, xmmword [rsp + 0x1e8]
movaps xmmword [rsp + 0x530], xmm0
movups xmm0, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x540], xmm0
movups xmm0, xmmword [rsp + 0x208]
movaps xmmword [rsp + 0x550], xmm0
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x560], rax
mov eax, dword [rsp + 0x221]
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x224]
mov dword [rsp + 0x19b], eax
mov rcx, qword [rsp + 0x340]
call fcn.18008c9e0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x330]
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 + 0x198]
mov ecx, dword [rsp + 0x19b]
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.180168710
ud2
mov ecx, 8
mov edx, 0x4cf8
call fcn.180168710
ud2
mov ecx, 8
mov edx, 0x410
call fcn.180168710
ud2
mov qword [rbx], 4
ud2
mov qword [rcx], 2
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180168710
ud2
mov ecx, 8
mov edx, 0x28
call fcn.180168710
ud2