Function at 0x18008c7e0
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 0x18008c914
cmp rax, 1
je 0x18008c914
test rax, rax
jne 0x18008cde4
mov rax, qword [rdi + 8]
mov qword [rdi], 8
cmp rax, 1
ja 0x18008cdeb
lea r14, [rdi + 0x10]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1b8]
mov r8d, 0x1a8
mov rdx, r14
call fcn.180180980
lea r8, [rsp + 0x2b8]
movzx r9d, byte [rsp + 0x358]
mov rdx, qword [rsp + 0x340]
lea rcx, [rsp + 0x440]
call fcn.18009ca50
cmp byte [rsp + 0x440], 3
jne 0x18008c93d
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18008c8bf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18008cdef
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18008cdef
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.18008da80
lea rcx, [rsp + 0x1b0]
call fcn.180098ec0
mov r13d, 5
mov bpl, 2
jmp 0x18008cc00
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 0x180099e20
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.180180980
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 0x18008cbdd
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 [0x18021e9c0]
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.180180980
mov rcx, rdi
call fcn.18008ce00
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.180180980
add r13, 0xfffffffffffffffa
cmp r13, 2
ja 0x18008cdba
cmp r13, 1
jne 0x18008cdeb
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call 0x180099e20
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.1801828e0
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 0x180099f00
movzx eax, byte [rsi + 0x70]
mov byte [rsi + 0x70], 3
cmp al, 3
je 0x18009c9c2
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 0x18009c983
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 0x18009c719
cmp dword [rsi], 2
je 0x18009c9c2
lea r12, [rsi + 0xe0]
mov r14, qword [r12]
cmp r14, 4
je 0x18009c9c2
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 0x18009a024
mov r14, qword [r12]
lea rcx, [r14 - 1]
cmp r14, 2
mov eax, 0
cmovae rax, rcx
test rax, rax
jne 0x18009b900
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.180180980
mov qword [r12], 3
cmp r14, 1
ja 0x18009c9c2
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 0x18009b010
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, [0x18009ca34]
jmp 0x18009a332
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 0x18009b5bd
nop word cs:[rax + rax]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
je 0x18009b010
lea rdi, [rbp + 0x58]
mov rax, qword [rbp + 0x58]
test rax, rax
cmove rdi, rax
je 0x18009a4f0
mov rdx, qword [rsp + 0x2b0]
test rdx, rdx
je 0x18009c9c2
mov rcx, qword [rsp + 0x2a8]
call fcn.180051fe0
test rax, rax
je 0x18009c9c2
mov rsi, rax
mov r14, rdx
test rdx, rdx
je 0x18009a500
cmp byte [rsi], 0x5b
jne 0x18009a512
add r14, rsi
mov r10b, 0x5b
xor eax, eax
mov r8, rsi
test r10b, r10b
jns 0x18009a441
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 0x18009a3f0
movzx edx, byte [r8 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r10b, 0xf0
jb 0x18009a400
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 0x18009a410
lea rcx, [r8 + 2]
shl r9d, 6
or r9d, r11d
jmp 0x18009a410
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 0x18009a425
cmp r9d, 0x5d
jne 0x18009a45a
cmp rcx, r14
je 0x18009a505
movzx r10d, byte [rcx]
mov rax, rdx
mov r8, rcx
test r10b, r10b
js 0x18009a3a0
lea rcx, [r8 + 1]
movzx r9d, r10b
jmp 0x18009a410
cmp r9d, 0x5d
jne 0x18009ac6e
cmp rcx, r14
je 0x18009a509
mov r8, r14
movzx r9d, byte [r14 - 1]
test r9b, r9b
js 0x18009a480
lea r14, [r8 - 1]
cmp r9d, 0x5b
jne 0x18009a450
jmp 0x18009a45a
movzx r10d, byte [r8 - 2]
cmp r10b, 0xc0
jge 0x18009a4b6
movzx r11d, byte [r8 - 3]
cmp r11b, 0xc0
jge 0x18009a4c0
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 0x18009a4c8
lea r14, [r8 - 2]
and r10d, 0x1f
jmp 0x18009a4d3
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 0x18009a450
jmp 0x18009a45a
xor eax, eax
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
xor r14d, r14d
jmp 0x18009a512
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.1800286d0
mov r12, rax
test r12b, 1
jne 0x18009a610
movaps xmmword [rsp + 0x40], xmm7
mov r8d, 8
mov rcx, rbx
mov rdx, r13
call fcn.180028eb0
cmp rax, 8
jne 0x18009a6b1
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 0x18009a780
pshufd xmm8, xmm0, 0xf9
movd eax, xmm0
mov bl, 1
jmp 0x18009a628
cmp qword [rsp + 0xb8], 0
jne 0x18009a780
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 0x18009a8ad
mov rsi, qword [rdi]
mov rdi, qword [rsp + 0x41]
test r12b, 1
jne 0x18009a869
mov r14, qword [rsp + 0x49]
add rax, rax
lea r15, [rax + rax*8]
jmp 0x18009a68d
mov rcx, rsi
mov rdx, r13
call fcn.180067a20
test al, al
jne 0x18009a6aa
add rsi, 0x12
add r15, 0xffffffffffffffee
je 0x18009a8b1
cmp byte [rsi], 2
jne 0x18009a670
cmp bl, byte [rsi + 1]
jne 0x18009a67f
mov rax, qword [rsi + 2]
xor rax, rdi
mov rcx, qword [rsi + 0xa]
xor rcx, r14
or rcx, rax
jne 0x18009a67f
mov al, 1
jmp 0x18009a8b3
test dl, 1
jne 0x18009a780
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x18009a780
mov rdx, qword [rsp + 0xb0]
cmp byte [rdx], 0x3a
jne 0x18009a780
cmp rcx, 1
je 0x18009a780
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 0x18009a780
mov qword [rsp + 0x306], 0
mov qword [rsp + 0x300], 0
cmp rax, 8
jae 0x18009c9c2
mov r8d, 7
sub r8, rax
mov rcx, rbx
lea rdx, [rsp + 0x300]
call fcn.180028eb0
cmp rax, 9
jae 0x18009c9c2
cmp rax, 8
je 0x18009c9c2
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.180180980
jmp 0x18009a557
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x18009a83e
mov rbx, qword [rdi + 0x18]
lea rax, [rax + rax*2]
lea r13, [rbx + rax*8]
jmp case.default.0x18009a867
add rbx, 0x18
cmp rbx, r13
je 0x18009a84d
mov rdi, qword [rbx]
mov r12, qword [rbx + 0x10]
cmp r14, r12
jne 0x18009a7cb
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.1801813c0
test eax, eax
je 0x18009a83a
test r12, r12
je 0x18009a7f2
lea rax, [r12 - 1]
cmp rax, r14
jne 0x18009a7f2
cmp byte [rdi], 0x2e
jne 0x18009a7f2
lea rcx, [rdi + 1]
mov rdx, rsi
mov r8, r14
call fcn.1801813c0
test eax, eax
je 0x18009a83a
mov rdx, r14
sub rdx, r12
jb 0x18009a80c
add rdx, rsi
mov rcx, rdi
mov r8, r12
call fcn.1801813c0
test eax, eax
je 0x18009a819
cmp r12, 1
jne 0x18009a7a0
cmp byte [rdi], 0x2a
jne 0x18009a7a0
jmp 0x18009a83a
test r12, r12
je 0x18009a823
cmp byte [rdi], 0x2e
je 0x18009a83a
not r12
add r12, r14
jae 0x18009a7a0
cmp byte [rsi + r12], 0x2e
jne 0x18009a7a0
mov al, 1
jmp 0x18009a84f
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 0x18009a899
mov rcx, rsi
mov rdx, r13
call fcn.180067a20
test al, al
jne 0x18009a8a9
add rsi, 0x12
add rbx, 0xffffffffffffffee
je 0x18009a8ad
cmp byte [rsi], 2
jne 0x18009a880
cmp byte [rsi + 1], 0
jne 0x18009a88f
cmp dword [rsi + 2], edi
jne 0x18009a88f
mov al, 1
jmp 0x18009a8ba
xor eax, eax
jmp 0x18009a8ba
xor eax, eax
lea r15, [0x18009ca34]
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
lea rbx, [rsp + 0xb0]
jmp rcx
test al, al
jne 0x18009a320
cmp qword [rbp + 8], 0
je 0x18009aa23
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x18009a227
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 0x18009a227
test al, al
jne 0x18009a320
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0x290]
call fcn.1800827b0
cmp qword [rsp + 0x100], 2
je 0x18009a320
jmp 0x18009b5bd
test al, al
jne 0x18009a320
movzx eax, byte [rsp + 0x290]
test al, al
je 0x18009c9c2
cmp al, 2
jne 0x18009aa82
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 5
jne 0x18009a320
mov rax, qword [rax + 8]
jmp 0x18009aa97
test al, al
jne 0x18009a320
movzx eax, byte [rsp + 0x290]
test al, al
je 0x18009c9c2
cmp al, 2
jne 0x18009aba1
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 4
jne 0x18009a320
mov rax, qword [rax + 8]
jmp 0x18009abb6
test al, al
jne 0x18009a320
movzx eax, byte [rsp + 0x290]
test al, al
je 0x18009c9c2
mov qword [rsp + 0x30], rbp
cmp al, 2
jne 0x18009aab4
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 0x18009aaec
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x18009a332
jmp 0x18009b010
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x18009aa49
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 0x18009afcb
cmp byte [rsp + 0x291], 0
lea rax, [0x180207460]
je 0x18009a320
mov ecx, dword [rax]
mov edx, 0x70747468
xor ecx, edx
movzx eax, byte [rax + 4]
xor eax, 0x73
or eax, ecx
jne 0x18009a320
jmp 0x18009a8d7
xor esi, esi
cmp byte [rsp + 0x291], 0
sete sil
lea rbp, [0x180207460]
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 0x18009aa07
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 0x18009ab84
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 0x18009ab40
cmp edi, 3
jbe 0x18009abc7
mov r13d, dword [rbp + r12]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jb 0x18009abd8
jmp 0x18009abf2
cmp byte [rsp + 0x291], 0
lea rax, str.httphttps
jne 0x18009a320
cmp dword [rax], 0x70747468
jne 0x18009a320
jmp 0x18009a8d7
xor r13d, r13d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jae 0x18009abf2
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 0x18009ac0d
add r12, rax
movzx ebx, byte [rbp + r12]
shl eax, 3
mov ecx, eax
shl rbx, cl
or r13, rbx
jmp 0x18009ac12
test rdi, rdi
je 0x18009ac79
lea ecx, [rdi*8]
mov ebx, 0xff
shl rbx, cl
or rbx, r13
cmp rdi, 7
jne 0x18009ad5f
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 0x18009ac7b
sub rdx, rcx
add rdx, r8
jmp 0x18009a509
xor ecx, ecx
mov edi, 1
sub rdi, rcx
mov eax, edi
and eax, 7
and rdi, 0xfffffffffffffff8
cmp rcx, rdi
jae 0x18009ad0f
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 0x18009aca0
xor edi, edi
cmp rax, 4
setae dil
cmp eax, 4
mov ebx, 0
mov ecx, 0xff
cmovae rbx, rcx
shl rdi, 2
jmp 0x18009ad13
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 0x18009aebc
pcmpeqb xmm10, xmm6
pmovmskb eax, xmm10
test eax, eax
jne 0x18009afe0
add rdi, r15
add rdi, 0x10
add r15, 0x10
jmp 0x18009ae70
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x18009ae90
tzcnt eax, ebx
add rax, rdi
and rax, r12
neg rax
imul r14, rax, 0x68
cmp qword [r13 + r14 + 0x10], rsi
jne 0x18009aeb0
add r14, r13
mov rdx, qword [r14]
mov rcx, rbp
mov r8, rsi
call fcn.1801813c0
test eax, eax
jne 0x18009aeb0
lea rsi, [r14 + 0x18]
cmp qword [r14 + 0x18], 0
je 0x18009af62
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x18009ca34]
mov rbp, qword [rsp + 0x30]
je 0x18009af2b
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 0x18009a25b
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x18009ca34]
mov rbp, qword [rsp + 0x30]
je 0x18009af99
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 0x18009a26b
lea r13, [rsp + 0x40]
lea r15, [0x18009ca34]
lea rbx, [rsp + 0xb0]
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x18009a332
nop dword [rax + rax]
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x18009c9c2
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x18009c9c2
cmp qword [rsp + 0x1b0], 0
je 0x18009b070
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0x190], rax
mov r14d, 1
jmp 0x18009b073
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 0x18009c9c2
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 0x18009b12e
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 [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009b1f9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009c9c6
mov qword [0x18021e9c0], rax
mov r8d, 0x538
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009c9c6
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, [0x1801e2450]
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 0x18009b400
test rax, rax
jne 0x18009b4fb
mov rcx, qword [r12 + 0x20]
lock dec qword [rcx]
jne 0x18009b440
call fcn.18007c960
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
je 0x18009b44f
cmp qword [r12], 0
je 0x18009b3a2
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 0x18009b470
call fcn.18007c900
cmp byte [r12 + 0x68], 2
je 0x18009b47c
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 0x18009b489
jmp 0x18009b4b5
mov rdi, qword [r12 + 8]
mov rbx, qword [r12 + 0x10]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18009b4fb
cmp qword [rbx + 0x10], 0x11
jb 0x18009b425
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18009b4fb
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
jne 0x18009b38a
mov rdx, qword [r12 + 0x30]
call fcn.18000b030
cmp qword [r12], 0
jne 0x18009b391
jmp 0x18009b3a2
cmp byte [r12 + 0x68], 2
jne 0x18009b3cf
mov rax, qword [rsp + 0x188]
cmp byte [rax], 2
jb 0x18009b4b5
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 [0x18021e9c0]
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 0x18009b520
call fcn.18007c960
mov rcx, qword [rsp + 0x1d8]
lock dec qword [rcx]
lea rdi, [rsp + 0x228]
lea rbx, [rsp + 0xb0]
jne 0x18009b54b
mov rdx, qword [rsp + 0x1e0]
call fcn.18000b030
cmp qword [rsp + 0x1b0], 0
je 0x18009b564
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 0x18009b587
call fcn.18007c900
cmp byte [rsp + 0x218], 2
je 0x18009a020
mov rax, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
lea rcx, [rsp + 0x210]
call qword [rax + 0x10]
jmp 0x18009a020
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x18009c9c2
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x18009c9c2
cmp qword [rsp + 0xe8], 0
je 0x18009b612
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0xf0], rax
mov r13d, 1
jmp 0x18009b615
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 0x18009c9c2
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 0x18009b6b2
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 [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009b77d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009c9d7
mov qword [0x18021e9c0], rax
mov r8d, 0x4cf8
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009c9d7
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, [0x1801e2470]
jmp 0x18009b32a
cmp rax, 1
jne 0x18009c9c2
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 0x18009c759
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 0x18009c9f9
mov rcx, rbx
call fcn.180099340
mov qword [rbx], 4
cmp bpl, 2
jne 0x18009ba00
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009b9c3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009ca0f
mov qword [0x18021e9c0], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009ca0f
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 0x18009ba1e
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 0x18009ca04
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 0x18009bb7e
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.180099340
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 0x18009c76a
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 0x18009bf30
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 0x18009c012
test rdi, rdi
je 0x18009bfa6
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009bed8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009ca20
mov qword [0x18021e9c0], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009ca20
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, [0x1801e1518]
mov qword [rsp + 0xa0], rdx
mov rdi, rcx
jmp 0x18009bffb
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 0x18009c04c
test bl, bl
je 0x18009c4e9
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 0x18009c087
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009bfcf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009ca0f
mov qword [0x18021e9c0], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [0x1801e0710]
mov qword [rsp + 0xa0], rcx
mov rdi, rax
test rax, rax
je 0x18009ca0f
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 0x18009bf62
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 0x18009c0a0
mov rdi, rdx
mov sil, 1
mov r15b, 1
jmp 0x18009c0a6
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 [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18009c1bc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18009c9e8
mov qword [0x18021e9c0], rax
mov r8d, 0x410
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009c9e8
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.180099000
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 0x180099f70
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.18009ca50
mov rcx, r15
call fcn.180099430
cmp byte [rsp + 0x100], 3
jne 0x18009c57a
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
je 0x18009c5c2
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
jmp 0x18009c5e8
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 0x18009c087
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
je 0x18009ca0f
mov qword [0x18021e9c0], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18009ca0f
mov r12, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov r8d, 0x17
mov rcx, rax
lea rdx, [0x1801e147d]
call fcn.18008da80
test rdi, rdi
je 0x18009c653
mov rcx, rdi
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x18009c653
cmp qword [rsi + 0x10], 0x11
jb 0x18009c641
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
lock dec qword [rbx]
jne 0x18009c661
mov rcx, rbx
call fcn.18007c960
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x18009c6a2
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0x11
jb 0x18009c68e
mov rax, qword [rsp + 0x28]
mov rax, qword [rax - 8]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x18021e9c0]
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 0x18009c6c7
lock dec qword [rcx]
jne 0x18009c6c7
call fcn.18008eec0
mov rax, qword [rsp + 0xf0]
test rax, rax
lea rdi, [rsp + 0x228]
je 0x18009c6ea
lock dec qword [rax]
jne 0x18009c6ea
mov rcx, rax
mov rdx, qword [rsp + 0x160]
call fcn.18000b030
mov bl, 2
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x18009c3a4
lock dec qword [rcx]
jne 0x18009c3a4
mov rdx, qword [rsp + 0x190]
call fcn.18000b030
jmp 0x18009c3a4
cmp rax, 1
jne 0x18009c9c2
movzx ebx, byte [rsi + 0x70]
cmp bl, 4
jne 0x18009c7d6
mov rdx, qword [rsi]
lea rcx, [rsp + 0x1b0]
mov r8, qword [rsp + 0x348]
call fcn.18009d230
movzx ebx, byte [rsp + 0x220]
cmp bl, 3
jne 0x18009c84a
mov rax, qword [rsp + 0x180]
mov byte [rax + 0x70], 3
jmp 0x18009c983
lea rcx, [rsp + 0x238]
call fcn.180099430
mov rcx, qword [rsp + 0x270]
test rcx, rcx
je 0x18009c78f
lock dec qword [rcx]
jne 0x18009c78f
call fcn.18008eec0
mov rcx, qword [rsp + 0x218]
test rcx, rcx
je 0x18009c7af
lock dec qword [rcx]
jne 0x18009c7af
mov rdx, qword [rsp + 0x220]
call fcn.18000b030
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x18009c7cf
lock dec qword [rcx]
jne 0x18009c7cf
mov rdx, qword [rsp + 0x280]
call fcn.18000b030
mov bl, 2
jmp 0x18009c8e3
mov byte [rsi + 0x70], 3
cmp bl, 3
je 0x18009c9c2
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.180099000
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.1801828e0
ud2
mov ecx, 8
mov edx, 0x4cf8
call fcn.1801828e0
ud2
mov ecx, 8
mov edx, 0x410
call fcn.1801828e0
ud2
mov qword [rbx], 4
ud2
mov qword [rcx], 2
ud2
mov ecx, 8
mov edx, 0x18
call fcn.1801828e0
ud2
mov ecx, 8
mov edx, 0x28
call fcn.1801828e0
ud2