Function at 0x180064100
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 0x180064234
cmp rax, 1
je 0x180064234
test rax, rax
jne 0x180064704
mov rax, qword [rdi + 8]
mov qword [rdi], 8
cmp rax, 1
ja 0x18006470b
lea r14, [rdi + 0x10]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1b8]
mov r8d, 0x1a8
mov rdx, r14
call fcn.1800f8be0
lea r8, [rsp + 0x2b8]
movzx r9d, byte [rsp + 0x358]
mov rdx, qword [rsp + 0x340]
lea rcx, [rsp + 0x440]
call fcn.1800745f0
cmp byte [rsp + 0x440], 3
jne 0x18006425d
movzx eax, byte [0x18016cbc0]
mov rcx, qword [0x18016cb80]
test rcx, rcx
jne 0x1800641df
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18006470f
mov rcx, rax
mov qword [0x18016cb80], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18006470f
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.1800653a0
lea rcx, [rsp + 0x1b0]
call fcn.180070a60
mov r13d, 5
mov bpl, 2
jmp 0x180064520
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 0x1800719c0
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.1800f8be0
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 0x1800644fd
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 [0x18016cb80]
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.1800f8be0
mov rcx, rdi
call fcn.180064720
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.1800f8be0
add r13, 0xfffffffffffffffa
cmp r13, 2
ja 0x1800646da
cmp r13, 1
jne 0x18006470b
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call 0x1800719c0
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.180106200
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 0x180071aa0
movzx eax, byte [rsi + 0x70]
mov byte [rsi + 0x70], 3
cmp al, 3
je 0x180074562
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 0x180074523
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 0x1800742b9
cmp dword [rsi], 2
je 0x180074562
lea r12, [rsi + 0xe0]
mov r14, qword [r12]
cmp r14, 4
je 0x180074562
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 0x180071bc4
mov r14, qword [r12]
lea rcx, [r14 - 1]
cmp r14, 2
mov eax, 0
cmovae rax, rcx
test rax, rax
jne 0x1800734a0
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.1800f8be0
mov qword [r12], 3
cmp r14, 1
ja 0x180074562
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 0x180072bb0
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, [0x1800745d4]
jmp 0x180071ed2
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 0x18007315d
nop word cs:[rax + rax]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
je 0x180072bb0
lea rdi, [rbp + 0x58]
mov rax, qword [rbp + 0x58]
test rax, rax
cmove rdi, rax
je 0x180072090
mov rdx, qword [rsp + 0x2b0]
test rdx, rdx
je 0x180074562
mov rcx, qword [rsp + 0x2a8]
call fcn.180032ee0
test rax, rax
je 0x180074562
mov rsi, rax
mov r14, rdx
test rdx, rdx
je 0x1800720a0
cmp byte [rsi], 0x5b
jne 0x1800720b2
add r14, rsi
mov r10b, 0x5b
xor eax, eax
mov r8, rsi
test r10b, r10b
jns 0x180071fe1
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 0x180071f90
movzx edx, byte [r8 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r10b, 0xf0
jb 0x180071fa0
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 0x180071fb0
lea rcx, [r8 + 2]
shl r9d, 6
or r9d, r11d
jmp 0x180071fb0
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 0x180071fc5
cmp r9d, 0x5d
jne 0x180071ffa
cmp rcx, r14
je 0x1800720a5
movzx r10d, byte [rcx]
mov rax, rdx
mov r8, rcx
test r10b, r10b
js 0x180071f40
lea rcx, [r8 + 1]
movzx r9d, r10b
jmp 0x180071fb0
cmp r9d, 0x5d
jne 0x18007280e
cmp rcx, r14
je 0x1800720a9
mov r8, r14
movzx r9d, byte [r14 - 1]
test r9b, r9b
js 0x180072020
lea r14, [r8 - 1]
cmp r9d, 0x5b
jne 0x180071ff0
jmp 0x180071ffa
movzx r10d, byte [r8 - 2]
cmp r10b, 0xc0
jge 0x180072056
movzx r11d, byte [r8 - 3]
cmp r11b, 0xc0
jge 0x180072060
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 0x180072068
lea r14, [r8 - 2]
and r10d, 0x1f
jmp 0x180072073
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 0x180071ff0
jmp 0x180071ffa
xor eax, eax
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
xor r14d, r14d
jmp 0x1800720b2
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.180018060
mov r12, rax
test r12b, 1
jne 0x1800721b0
movaps xmmword [rsp + 0x40], xmm7
mov r8d, 8
mov rcx, rbx
mov rdx, r13
call fcn.180018840
cmp rax, 8
jne 0x180072251
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 0x180072320
pshufd xmm8, xmm0, 0xf9
movd eax, xmm0
mov bl, 1
jmp 0x1800721c8
cmp qword [rsp + 0xb8], 0
jne 0x180072320
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 0x18007244d
mov rsi, qword [rdi]
mov rdi, qword [rsp + 0x41]
test r12b, 1
jne 0x180072409
mov r14, qword [rsp + 0x49]
add rax, rax
lea r15, [rax + rax*8]
jmp 0x18007222d
mov rcx, rsi
mov rdx, r13
call fcn.180048680
test al, al
jne 0x18007224a
add rsi, 0x12
add r15, 0xffffffffffffffee
je 0x180072451
cmp byte [rsi], 2
jne 0x180072210
cmp bl, byte [rsi + 1]
jne 0x18007221f
mov rax, qword [rsi + 2]
xor rax, rdi
mov rcx, qword [rsi + 0xa]
xor rcx, r14
or rcx, rax
jne 0x18007221f
mov al, 1
jmp 0x180072453
test dl, 1
jne 0x180072320
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x180072320
mov rdx, qword [rsp + 0xb0]
cmp byte [rdx], 0x3a
jne 0x180072320
cmp rcx, 1
je 0x180072320
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 0x180072320
mov qword [rsp + 0x306], 0
mov qword [rsp + 0x300], 0
cmp rax, 8
jae 0x180074562
mov r8d, 7
sub r8, rax
mov rcx, rbx
lea rdx, [rsp + 0x300]
call fcn.180018840
cmp rax, 9
jae 0x180074562
cmp rax, 8
je 0x180074562
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.1800f8be0
jmp 0x1800720f7
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x1800723de
mov rbx, qword [rdi + 0x18]
lea rax, [rax + rax*2]
lea r13, [rbx + rax*8]
jmp case.default.0x180072407
add rbx, 0x18
cmp rbx, r13
je 0x1800723ed
mov rdi, qword [rbx]
mov r12, qword [rbx + 0x10]
cmp r14, r12
jne 0x18007236b
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.1800f9270
test eax, eax
je 0x1800723da
test r12, r12
je 0x180072392
lea rax, [r12 - 1]
cmp rax, r14
jne 0x180072392
cmp byte [rdi], 0x2e
jne 0x180072392
lea rcx, [rdi + 1]
mov rdx, rsi
mov r8, r14
call fcn.1800f9270
test eax, eax
je 0x1800723da
mov rdx, r14
sub rdx, r12
jb 0x1800723ac
add rdx, rsi
mov rcx, rdi
mov r8, r12
call fcn.1800f9270
test eax, eax
je 0x1800723b9
cmp r12, 1
jne 0x180072340
cmp byte [rdi], 0x2a
jne 0x180072340
jmp 0x1800723da
test r12, r12
je 0x1800723c3
cmp byte [rdi], 0x2e
je 0x1800723da
not r12
add r12, r14
jae 0x180072340
cmp byte [rsi + r12], 0x2e
jne 0x180072340
mov al, 1
jmp 0x1800723ef
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 0x180072439
mov rcx, rsi
mov rdx, r13
call fcn.180048680
test al, al
jne 0x180072449
add rsi, 0x12
add rbx, 0xffffffffffffffee
je 0x18007244d
cmp byte [rsi], 2
jne 0x180072420
cmp byte [rsi + 1], 0
jne 0x18007242f
cmp dword [rsi + 2], edi
jne 0x18007242f
mov al, 1
jmp 0x18007245a
xor eax, eax
jmp 0x18007245a
xor eax, eax
lea r15, [0x1800745d4]
mov rcx, qword [rbp]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
lea rbx, [rsp + 0xb0]
jmp rcx
test al, al
jne 0x180071ec0
cmp qword [rbp + 8], 0
je 0x1800725c3
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x180071dc7
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 0x180071dc7
test al, al
jne 0x180071ec0
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0x290]
call fcn.18005a070
cmp qword [rsp + 0x100], 2
je 0x180071ec0
jmp 0x18007315d
test al, al
jne 0x180071ec0
movzx eax, byte [rsp + 0x290]
test al, al
je 0x180074562
cmp al, 2
jne 0x180072622
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 5
jne 0x180071ec0
mov rax, qword [rax + 8]
jmp 0x180072637
test al, al
jne 0x180071ec0
movzx eax, byte [rsp + 0x290]
test al, al
je 0x180074562
cmp al, 2
jne 0x180072741
mov rax, qword [rsp + 0x298]
cmp qword [rax + 0x10], 4
jne 0x180071ec0
mov rax, qword [rax + 8]
jmp 0x180072756
test al, al
jne 0x180071ec0
movzx eax, byte [rsp + 0x290]
test al, al
je 0x180074562
mov qword [rsp + 0x30], rbp
cmp al, 2
jne 0x180072654
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 0x18007268c
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x180071ed2
jmp 0x180072bb0
mov bl, 2
cmp byte [rbp + 0x50], 2
je 0x1800725e9
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 0x180072b6b
cmp byte [rsp + 0x291], 0
lea rax, [0x18015d8b8]
je 0x180071ec0
mov ecx, dword [rax]
mov edx, 0x70747468
xor ecx, edx
movzx eax, byte [rax + 4]
xor eax, 0x73
or eax, ecx
jne 0x180071ec0
jmp 0x180072477
xor esi, esi
cmp byte [rsp + 0x291], 0
sete sil
lea rbp, [0x18015d8b8]
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 0x1800725a7
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 0x180072724
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 0x1800726e0
cmp edi, 3
jbe 0x180072767
mov r13d, dword [rbp + r12]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jb 0x180072778
jmp 0x180072792
cmp byte [rsp + 0x291], 0
lea rax, str.httphttps
jne 0x180071ec0
cmp dword [rax], 0x70747468
jne 0x180071ec0
jmp 0x180072477
xor r13d, r13d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdi
jae 0x180072792
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 0x1800727ad
add r12, rax
movzx ebx, byte [rbp + r12]
shl eax, 3
mov ecx, eax
shl rbx, cl
or r13, rbx
jmp 0x1800727b2
test rdi, rdi
je 0x180072819
lea ecx, [rdi*8]
mov ebx, 0xff
shl rbx, cl
or rbx, r13
cmp rdi, 7
jne 0x1800728ff
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 0x18007281b
sub rdx, rcx
add rdx, r8
jmp 0x1800720a9
xor ecx, ecx
mov edi, 1
sub rdi, rcx
mov eax, edi
and eax, 7
and rdi, 0xfffffffffffffff8
cmp rcx, rdi
jae 0x1800728af
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 0x180072840
xor edi, edi
cmp rax, 4
setae dil
cmp eax, 4
mov ebx, 0
mov ecx, 0xff
cmovae rbx, rcx
shl rdi, 2
jmp 0x1800728b3
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 0x180072a5c
pcmpeqb xmm10, xmm6
pmovmskb eax, xmm10
test eax, eax
jne 0x180072b80
add rdi, r15
add rdi, 0x10
add r15, 0x10
jmp 0x180072a10
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x180072a30
tzcnt eax, ebx
add rax, rdi
and rax, r12
neg rax
imul r14, rax, 0x68
cmp qword [r13 + r14 + 0x10], rsi
jne 0x180072a50
add r14, r13
mov rdx, qword [r14]
mov rcx, rbp
mov r8, rsi
call fcn.1800f9270
test eax, eax
jne 0x180072a50
lea rsi, [r14 + 0x18]
cmp qword [r14 + 0x18], 0
je 0x180072b02
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x1800745d4]
mov rbp, qword [rsp + 0x30]
je 0x180072acb
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 0x180071dfb
mov bl, 2
cmp byte [rsi + 0x48], 2
lea r13, [rsp + 0x40]
lea r15, [0x1800745d4]
mov rbp, qword [rsp + 0x30]
je 0x180072b39
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 0x180071e0b
lea r13, [rsp + 0x40]
lea r15, [0x1800745d4]
lea rbx, [rsp + 0xb0]
mov rbp, qword [rsp + 0x30]
add rbp, 0x88
cmp rbp, qword [rsp + 0x28]
jne 0x180071ed2
nop dword [rax + rax]
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x180074562
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x180074562
cmp qword [rsp + 0x1b0], 0
je 0x180072c10
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0x190], rax
mov r14d, 1
jmp 0x180072c13
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 0x180074562
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 0x180072cce
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 [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180072d99
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180074566
mov qword [0x18016cb80], rax
mov r8d, 0x538
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180074566
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, [0x180138c40]
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 0x180072fa0
test rax, rax
jne 0x18007309b
mov rcx, qword [r12 + 0x20]
lock dec qword [rcx]
jne 0x180072fe0
call fcn.1800375a0
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
je 0x180072fef
cmp qword [r12], 0
je 0x180072f42
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 0x180073010
call fcn.180053bb0
cmp byte [r12 + 0x68], 2
je 0x18007301c
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 0x180073029
jmp 0x180073055
mov rdi, qword [r12 + 8]
mov rbx, qword [r12 + 0x10]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18007309b
cmp qword [rbx + 0x10], 0x11
jb 0x180072fc5
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18007309b
mov rcx, qword [r12 + 0x28]
lock dec qword [rcx]
jne 0x180072f2a
mov rdx, qword [r12 + 0x30]
call fcn.1800537b0
cmp qword [r12], 0
jne 0x180072f31
jmp 0x180072f42
cmp byte [r12 + 0x68], 2
jne 0x180072f6f
mov rax, qword [rsp + 0x188]
cmp byte [rax], 2
jb 0x180073055
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 [0x18016cb80]
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 0x1800730c0
call fcn.1800375a0
mov rcx, qword [rsp + 0x1d8]
lock dec qword [rcx]
lea rdi, [rsp + 0x228]
lea rbx, [rsp + 0xb0]
jne 0x1800730eb
mov rdx, qword [rsp + 0x1e0]
call fcn.1800537b0
cmp qword [rsp + 0x1b0], 0
je 0x180073104
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 0x180073127
call fcn.180053bb0
cmp byte [rsp + 0x218], 2
je 0x180071bc0
mov rax, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
lea rcx, [rsp + 0x210]
call qword [rax + 0x10]
jmp 0x180071bc0
mov rdi, qword [rsp + 0x1d0]
lock inc qword [rdi]
jle 0x180074562
mov r15, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1e0]
lock inc qword [r15]
jle 0x180074562
cmp qword [rsp + 0xe8], 0
je 0x1800731b2
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rsp + 0xf0], rax
mov r13d, 1
jmp 0x1800731b5
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 0x180074562
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 0x180073252
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 [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18007331d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180074577
mov qword [0x18016cb80], rax
mov r8d, 0x4cf8
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180074577
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, [0x180138c60]
jmp 0x180072eca
cmp rax, 1
jne 0x180074562
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 0x1800742f9
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 0x180074599
mov rcx, rbx
call fcn.180070ee0
mov qword [rbx], 4
cmp bpl, 2
jne 0x1800735a0
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180073563
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800745af
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800745af
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 0x1800735be
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 0x1800745a4
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 0x18007371e
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.180070ee0
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 0x18007430a
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 0x180073ad0
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 0x180073bb2
test rdi, rdi
je 0x180073b46
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180073a78
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800745c0
mov qword [0x18016cb80], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800745c0
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, [0x180137d30]
mov qword [rsp + 0xa0], rdx
mov rdi, rcx
jmp 0x180073b9b
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 0x180073bec
test bl, bl
je 0x180074089
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 0x180073c27
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180073b6f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800745af
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
lea rcx, [0x180136f38]
mov qword [rsp + 0xa0], rcx
mov rdi, rax
test rax, rax
je 0x1800745af
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 0x180073b02
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 0x180073c40
mov rdi, rdx
mov sil, 1
mov r15b, 1
jmp 0x180073c46
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 [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x180073d5c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180074588
mov qword [0x18016cb80], rax
mov r8d, 0x410
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180074588
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.180070ba0
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 0x180071b10
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.1800745f0
mov rcx, r15
call fcn.180070fd0
cmp byte [rsp + 0x100], 3
jne 0x18007411a
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
je 0x180074162
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
jmp 0x180074188
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 0x180073c27
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
lea r15, [rsp + 0x360]
mov rsi, qword [rsp + 0xa0]
je 0x1800745af
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800745af
mov r12, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov r8d, 0x17
mov rcx, rax
lea rdx, [0x180137c95]
call fcn.1800653a0
test rdi, rdi
je 0x1800741f3
mov rcx, rdi
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1800741f3
cmp qword [rsi + 0x10], 0x11
jb 0x1800741e1
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lock dec qword [rbx]
jne 0x180074201
mov rcx, rbx
call fcn.1800375a0
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x180074242
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0x11
jb 0x18007422e
mov rax, qword [rsp + 0x28]
mov rax, qword [rax - 8]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x18016cb80]
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 0x180074267
lock dec qword [rcx]
jne 0x180074267
call fcn.1800667e0
mov rax, qword [rsp + 0xf0]
test rax, rax
lea rdi, [rsp + 0x228]
je 0x18007428a
lock dec qword [rax]
jne 0x18007428a
mov rcx, rax
mov rdx, qword [rsp + 0x160]
call fcn.1800537b0
mov bl, 2
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x180073f44
lock dec qword [rcx]
jne 0x180073f44
mov rdx, qword [rsp + 0x190]
call fcn.1800537b0
jmp 0x180073f44
cmp rax, 1
jne 0x180074562
movzx ebx, byte [rsi + 0x70]
cmp bl, 4
jne 0x180074376
mov rdx, qword [rsi]
lea rcx, [rsp + 0x1b0]
mov r8, qword [rsp + 0x348]
call fcn.180074dd0
movzx ebx, byte [rsp + 0x220]
cmp bl, 3
jne 0x1800743ea
mov rax, qword [rsp + 0x180]
mov byte [rax + 0x70], 3
jmp 0x180074523
lea rcx, [rsp + 0x238]
call fcn.180070fd0
mov rcx, qword [rsp + 0x270]
test rcx, rcx
je 0x18007432f
lock dec qword [rcx]
jne 0x18007432f
call fcn.1800667e0
mov rcx, qword [rsp + 0x218]
test rcx, rcx
je 0x18007434f
lock dec qword [rcx]
jne 0x18007434f
mov rdx, qword [rsp + 0x220]
call fcn.1800537b0
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x18007436f
lock dec qword [rcx]
jne 0x18007436f
mov rdx, qword [rsp + 0x280]
call fcn.1800537b0
mov bl, 2
jmp 0x180074483
mov byte [rsi + 0x70], 3
cmp bl, 3
je 0x180074562
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.180070ba0
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.180106200
ud2
mov ecx, 8
mov edx, 0x4cf8
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x410
call fcn.180106200
ud2
mov qword [rbx], 4
ud2
mov qword [rcx], 2
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x28
call fcn.180106200
ud2