Function at 0x140017df0
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, 0x408
mov dword [rsp + 0x24], r9d
mov qword [rsp + 0xe0], r8
mov rsi, rdx
mov rbp, rcx
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 8
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 2
mov qword [rsp + 0x138], 0
mov word [rsp + 0x140], 0
movdqa xmm1, xmmword [0x1400ff690]
movdqu xmmword [rsp + 0x1a0], xmm1
movabs rax, 0x101010101010101
mov qword [rsp + 0x1b0], rax
mov byte [rsp + 0x148], 0
lea rax, [0x140115480]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 1
movdqu xmmword [rsp + 0x168], xmm0
mov qword [rsp + 0x178], rax
lea rax, [0x140145b88]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], 1
mov qword [rsp + 0x190], 0
mov word [rsp + 0x198], 0xffff
mov byte [rsp + 0x1c0], 2
mov qword [rsp + 0x1b8], 0
movzx edi, byte [rsp + 0xf0]
movzx r13d, byte [rsp + 0xf1]
lea rbx, [rsp + 0xf2]
mov r14, qword [rsp + 0x1c0]
lea r15, [rsp + 0x1d0]
mov r8d, 0xce
mov rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r12, r14
shr r12, 8
mov qword [rsp + 0xe8], 0
mov byte [rsp + 0x28], dil
mov byte [rsp + 0xf0], dil
mov rdi, rsi
mov byte [rsp + 0x48], r13b
mov byte [rsp + 0xf1], r13b
mov r8d, 0xce
mov rcx, rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x1c0], 3
mov rax, r14
shr rax, 0x38
mov byte [rsp + 0x1c7], al
shr r14, 0x28
mov word [rsp + 0x1c5], r14w
mov dword [rsp + 0x1c1], r12d
movzx eax, byte [rsi]
mov byte [rsp + 0x22], al
cmp al, 0xb
je 0x140018117
lea r12, [rsp + 0x1b8]
mov eax, dword [rdi + 1]
mov ecx, dword [rdi + 4]
mov dword [rsp + 0x53], ecx
mov dword [rsp + 0x50], eax
mov r13, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
cmp byte [rsp + 0x1a0], 0xa
jb 0x140018021
cmp qword [rsp + 0x1b0], 0
je 0x140018021
mov r15, qword [rsp + 0x1a8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r15, [rsp + 0x1d0]
mov r8d, 0xae
mov rcx, r15
lea rbx, [rsp + 0xf2]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x53]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x73], ecx
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x2b0], xmm0
mov qword [rsp + 0xe8], 0
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0xf1], al
mov r8d, 0xae
mov rcx, rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0x1a0], al
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [r12 - 0x17], eax
mov dword [r12 - 0x14], ecx
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x1b0], r14
movdqa xmm0, xmmword [rsp + 0x2b0]
movdqu xmmword [r12], xmm0
mov r14, qword [rdi + 0x78]
test r14, r14
sete byte [rsp + 0x23]
mov rbx, rbp
mov rsi, qword [rsp + 0xe0]
je 0x1400184ef
cmp byte [rsp + 0x22], 7
mov eax, dword [rsp + 0x24]
je 0x14001814e
mov word [rbx + 8], 0x100
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov r15b, 1
mov r12b, 1
mov r13b, 1
mov byte [rsp + 0x23], 1
jmp 0x1400189a6
mov word [rbp + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbp + 0xc], eax
mov dword [rbp + 0x10], 1
mov qword [rbp], 3
mov r15b, 1
mov r12b, 1
mov r13b, 1
mov byte [rsp + 0x23], 1
mov rsi, qword [rsp + 0xe0]
jmp 0x1400189a6
lea rcx, [rsp + 0x2b0]
mov r8d, 0xc6
lea rdx, [rsp + 0xf2]
call sub.VCRUNTIME140.dll_memcpy
mov r15, qword [rsp + 0x1b8]
mov r12, qword [rsp + 0x1c0]
mov rax, qword [rdi + 0x90]
mov qword [rsp + 0x60], rax
movdqu xmm0, xmmword [rdi + 0x80]
movdqa xmmword [rsp + 0x50], xmm0
test r15, r15
jne 0x1400181ce
movzx eax, byte [0x1401542b0]
mov edx, 0x20
xor ecx, ecx
call fcn.1400de8b0
test rax, rax
je 0x1400191e4
mov r15, rax
movups xmm0, xmmword [0x140143700]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [0x1401436f0]
movdqu xmmword [rax], xmm0
movzx eax, byte [0x1401542b0]
mov edx, 0x20
xor ecx, ecx
call fcn.1400de8b0
test rax, rax
je 0x1400191e4
mov qword [rsp + 0x30], r12
mov qword [rax], r14
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rax + 8], xmm0
cmp qword [r15 + 0x10], 0
je 0x1400191b3
mov qword [rsp + 0x40], r14
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
movabs r11, 0xe0dedbbc4df5f08e
xor r9d, r9d
movdqa xmm0, xmmword [0x1400ff710]
pcmpeqd xmm1, xmm1
movabs r13, 0x93bb56c2e0b7ad4f
xor r12d, r12d
and r11, rdx
movdqu xmm2, xmmword [rcx + r11]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r14d, xmm3
test r14d, r14d
je 0x1400182ad
mov qword [rsp + 0xd0], rbx
tzcnt r10d, r14d
add r10, r11
and r10, rdx
shl r10, 5
mov rbp, r13
mov r13, rcx
sub r13, r10
mov rbx, rbp
cmp qword [r13 - 0x20], rbp
jne 0x140018295
movabs r10, 0xe0dedbbc4df5f08e
cmp qword [r13 - 0x18], r10
je 0x1400182fa
lea r10d, [r14 - 1]
and r10w, r14w
mov r14d, r10d
mov r13, rbx
mov rbx, qword [rsp + 0xd0]
jne 0x140018264
cmp r12, 1
mov r12d, 1
je 0x1400182d3
pmovmskb r8d, xmm2
xor r12d, r12d
test r8d, r8d
setne r12b
tzcnt r8d, r8d
add r8, r11
and r8, rdx
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
mov r14, qword [rsp + 0x40]
jne 0x14001839b
add r11, r9
add r11, 0x10
add r9, 0x10
jmp 0x140018241
mov rcx, qword [r13 - 0x10]
mov rdx, qword [r13 - 8]
mov qword [r13 - 0x10], rax
lea rax, [0x140102260]
mov qword [r13 - 8], rax
call qword [rdx + 0x38]
mov r12, rax
mov r13, rdx
mov rcx, rax
call qword [rdx + 0x18]
xor rax, rbx
movabs rcx, 0xe0dedbbc4df5f08e
xor rcx, rdx
or rcx, rax
sete al
cmove r13, r12
test r12, r12
je 0x140018403
test al, al
jne 0x140018403
mov rax, qword [r13]
test rax, rax
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0xd0]
je 0x140018366
mov rcx, r12
call rax
cmp qword [r13 + 8], 0
movzx ebp, byte [rsp + 0x28]
je 0x140018486
cmp qword [r13 + 0x10], 0x11
jb 0x140018382
mov r12, qword [r12 - 8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140018486
movzx r9d, byte [rcx + r8]
test r9b, r9b
jns 0x1400191cc
and r9b, 1
movzx r9d, r9b
sub qword [r15 + 0x10], r9
lea r9, [r8 - 0x10]
and rdx, r9
mov byte [rcx + r8], 0x70
mov byte [rcx + rdx + 0x10], 0x70
inc qword [r15 + 0x18]
shl r8, 5
mov rdx, rcx
sub rdx, r8
neg r8
mov qword [rcx + r8 - 0x20], r13
movabs rcx, 0xe0dedbbc4df5f08e
mov qword [rdx - 0x18], rcx
mov qword [rdx - 0x10], rax
lea rax, [0x140102260]
mov qword [rdx - 8], rax
movzx ebp, byte [rsp + 0x28]
jmp 0x140018486
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1d0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapFree]
movdqa xmm0, xmmword [rsp + 0x1d0]
movdqa xmm1, xmmword [rsp + 0x1e0]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x80], xmm1
mov rax, qword [rsp + 0x70]
test rax, rax
mov r14, qword [rsp + 0x40]
movzx ebp, byte [rsp + 0x28]
mov rbx, qword [rsp + 0xd0]
je 0x140018486
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
lea r12, [rsp + 0x1d0]
lea rdx, [rsp + 0x2b0]
mov r8d, 0xc6
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0xe8], 0
mov byte [rsp + 0xf0], bpl
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0xf1], al
mov r8d, 0xc6
lea rcx, [rsp + 0xf2]
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x1b8], r15
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1c0], rax
cmp word [rdi + 0x98], 0
mov ebp, dword [rsp + 0x24]
je 0x140018522
mov word [rbx + 8], 0x100
mov dword [rbx + 0xc], ebp
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov r15b, 1
mov r12b, 1
mov r13b, 1
jmp 0x1400189a6
mov byte [rsp + 0x70], 3
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], 0
lea r12, [rdi + 0x38]
cmp qword [rdi + 0x38], 0
je 0x1400186b7
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
lea r13, [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
lea rcx, [rsp + 0x380]
mov rdx, r13
call qword [rax]
movups xmm0, xmmword [rsp + 0x380]
movdqu xmm1, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x2b0], xmm0
movdqa xmmword [rsp + 0x2c0], xmm1
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x2b0], 0
test rax, rax
je 0x1400191f3
mov r15, r14
mov qword [rsp + 0x1d0], rax
movdqu xmm0, xmmword [rsp + 0x388]
movdqu xmmword [rsp + 0x1d8], xmm0
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x1e8], rax
lea rcx, [rsp + 0x3c8]
lea rdx, [rsp + 0x1d0]
call fcn.1400273a0
mov rax, qword [rsp + 0x2b0]
test rax, rax
je 0x14001862d
lea rcx, [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2c0]
call qword [rax + 0x20]
mov r14, qword [rsp + 0x3c8]
test r14, r14
je 0x1400187cb
mov qword [rsp + 0x48], r12
lea r12, [rsp + 0x3cc]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140018673
lea rcx, [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call qword [rax + 0x20]
mov dword [rsp + 0x80], r14d
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r12 + 0xc]
movdqu xmmword [rsp + 0x84], xmm0
movdqu xmmword [rsp + 0x90], xmm1
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rcx, r13
call qword [rax + 0x20]
xor r13d, r13d
mov r14, r15
jmp 0x1400186bf
mov qword [rsp + 0x48], r12
mov r13b, 1
lea rbp, [rdi + 0x18]
mov r10, qword [rdi + 0x18]
test r10, r10
sete r12b
je 0x140018765
test r14, r14
setne al
cmp byte [rsp + 0x22], 7
setne cl
movdqu xmm0, xmmword [rbp]
movdqu xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x2c0], xmm1
movdqa xmmword [rsp + 0x2b0], xmm0
or cl, al
je 0x14001879b
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2c0]
cmp r8, 5
je 0x140018875
cmp r8, 4
jne 0x1400188a4
cmp byte [rdx], 0x68
jne 0x1400188aa
cmp byte [rdx + 1], 0x74
jne 0x1400188aa
cmp byte [rdx + 2], 0x74
jne 0x1400188aa
cmp byte [rdx + 3], 0x70
jne 0x1400188aa
mov qword [rsp + 0x28], r10
mov cl, 1
mov dword [rsp + 0x30], 0
jmp 0x140018d86
test r14, r14
setne al
cmp byte [rsp + 0x22], 7
setne cl
or cl, al
je 0x140018805
mov word [rbx + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov r15b, 1
jmp 0x1400187fd
mov word [rbx + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2c0]
jmp 0x1400188fc
mov word [rbx + 8], 0x100
mov dword [rbx + 0xc], ebp
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rcx, r13
call qword [rax + 0x20]
mov r15b, 1
xor r13d, r13d
mov r12b, 1
jmp 0x140018915
cmp qword [rdi + 0x58], 0
je 0x140018dc3
lea rax, [rdi + 0x58]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0x1e0], xmm1
movdqa xmmword [rsp + 0x1d0], xmm0
mov word [rbx + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
lea rcx, [rsp + 0x1e8]
mov rax, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
call qword [rax + 0x20]
xor r15d, r15d
jmp 0x140018915
cmp byte [rdx], 0x68
jne 0x1400188aa
cmp byte [rdx + 1], 0x74
jne 0x1400188aa
cmp byte [rdx + 2], 0x74
jne 0x1400188aa
cmp byte [rdx + 3], 0x70
jne 0x1400188aa
cmp byte [rdx + 4], 0x73
jne 0x1400188aa
mov qword [rsp + 0x28], r10
mov al, 1
mov dword [rsp + 0x30], eax
mov cl, 1
jmp 0x140018d86
cmp r8, 0x40
ja 0x1400188e1
xor eax, eax
lea rcx, [0x140115090]
nop word cs:[rax + rax]
cmp r8, rax
je 0x140018d34
movzx r9d, byte [rdx + rax]
movzx r9d, byte [r9 + rcx]
test r9d, r9d
je 0x1400188e1
inc rax
cmp r9d, 0x3a
jne 0x1400188c0
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov word [rbx + 8], 0x100
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
mov rax, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x2c8]
call qword [rax + 0x20]
mov r15b, 1
xor r12d, r12d
cmp byte [rsp + 0x70], 2
jne 0x140018947
mov rbx, qword [rsp + 0x78]
lea rcx, [rbx + 0x18]
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call qword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14001896f
lea rcx, [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call qword [rax + 0x20]
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x140018997
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
call qword [rax + 0x20]
cmp qword [rsp + 0xe8], 3
je 0x140018b8b
cmp byte [rsp + 0x1a0], 0xa
jb 0x1400189d7
cmp qword [rsp + 0x1b0], 0
je 0x1400189d7
mov rbx, qword [rsp + 0x1a8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rbx, [rsp + 0x190]
cmp byte [rsp + 0x148], 2
jb 0x140018a17
mov r14, qword [rsp + 0x150]
lea rcx, [r14 + 0x18]
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
call qword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x170]
mov rax, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x160]
mov r8, qword [rsp + 0x168]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov rcx, rbx
call qword [rax + 0x20]
cmp qword [rsp + 0x138], 0
je 0x140018a7f
mov rbx, qword [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rsp + 0x110]
test r14, r14
je 0x140018ad5
mov rbx, qword [rsp + 0x108]
add rbx, 0x30
jmp 0x140018abb
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x20]
add rbx, 0x68
dec r14
je 0x140018ad5
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140018aa0
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
call qword [rax + 0x20]
jmp 0x140018aa0
cmp qword [rsp + 0x100], 0
je 0x140018afc
mov rbx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rsp + 0x128]
test r14, r14
je 0x140018b3b
mov rbx, qword [rsp + 0x120]
add rbx, 0x38
nop word cs:[rax + rax]
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x20]
add rbx, 0x48
dec r14
jne 0x140018b20
cmp qword [rsp + 0x118], 0
je 0x140018b62
mov rbx, qword [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x1b8]
test rbx, rbx
je 0x140018b8b
mov rcx, rbx
call fcn.140020650
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsi + 0x50], 0
je 0x140018baa
mov rbx, qword [rsi + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsi + 0x20]
mov rbp, qword [rsi + 0x28]
test rbp, rbp
je 0x140018bf5
lea r14, [rbx + 0x30]
jmp 0x140018bdb
mov rax, qword [r14 - 0x18]
mov rdx, qword [r14 - 0x10]
mov r8, qword [r14 - 8]
mov rcx, r14
call qword [rax + 0x20]
add r14, 0x68
dec rbp
je 0x140018bf5
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140018bc0
lea rcx, [r14 + 0x28]
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
call qword [rax + 0x20]
jmp 0x140018bc0
cmp qword [rsi + 0x18], 0
je 0x140018c10
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsi + 0x38]
mov rbp, qword [rsi + 0x40]
test rbp, rbp
je 0x140018c4b
lea r14, [rbx + 0x38]
nop word cs:[rax + rax]
mov rax, qword [r14 - 0x18]
mov rdx, qword [r14 - 0x10]
mov r8, qword [r14 - 8]
mov rcx, r14
call qword [rax + 0x20]
add r14, 0x48
dec rbp
jne 0x140018c30
cmp qword [rsi + 0x30], 0
je 0x140018c66
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movzx eax, byte [rdi]
cmp al, 0xb
je 0x140018c9d
cmp al, 0xa
jb 0x140018c9d
cmp byte [rsp + 0x22], 0xb
jne 0x140018c9d
cmp qword [rdi + 0x10], 0
je 0x140018c9d
mov rsi, rdi
mov rdi, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rdi
mov rdi, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rdi + 0x18]
test rax, rax
setne cl
test r12b, cl
je 0x140018cbb
lea rcx, [rdi + 0x30]
mov rdx, qword [rdi + 0x20]
mov r8, qword [rdi + 0x28]
call qword [rax + 0x20]
mov rax, qword [rdi + 0x38]
test rax, rax
setne cl
test cl, r13b
je 0x140018cd9
lea rcx, [rdi + 0x50]
mov rdx, qword [rdi + 0x40]
mov r8, qword [rdi + 0x48]
call qword [rax + 0x20]
mov rax, qword [rdi + 0x58]
test rax, rax
setne cl
test r15b, cl
je 0x140018cf7
lea rcx, [rdi + 0x70]
mov rdx, qword [rdi + 0x60]
mov r8, qword [rdi + 0x68]
call qword [rax + 0x20]
mov rax, qword [rdi + 0x78]
test rax, rax
setne cl
test byte [rsp + 0x23], cl
je 0x140018d1f
lea rcx, [rdi + 0x90]
mov rdx, qword [rdi + 0x80]
mov r8, qword [rdi + 0x88]
call qword [rax + 0x20]
nop
add rsp, 0x408
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], r10
lea rcx, [rsp + 0x1d0]
call fcn.140008a10
movzx eax, byte [0x1401542b0]
mov edx, 0x20
xor ecx, ecx
call fcn.1400de8b0
test rax, rax
je 0x1400191e4
mov r15, rax
movdqu xmm0, xmmword [rsp + 0x1d0]
movdqu xmm1, xmmword [rsp + 0x1e0]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov cl, 2
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x80], 0
je 0x140018dd0
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
call fcn.140019200
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x70], al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x71], al
mov word [rsp + 0x72], 0
mov qword [rsp + 0x78], r15
jmp 0x140018dd8
mov qword [rsp + 0x28], r10
mov r15b, 1
jmp 0x140018f84
mov rdx, r15
call fcn.140019250
lea rcx, [rsp + 0x2c8]
mov rax, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x2c0]
call qword [rax + 0x20]
cmp qword [rdi + 0x58], 0
je 0x140018f6b
lea rax, [rdi + 0x58]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0x1e0], xmm1
movdqa xmmword [rsp + 0x1d0], xmm0
mov r9, qword [rsp + 0x1e0]
test r9, r9
je 0x14001882f
lea rdx, [rsp + 0x1e8]
mov rax, qword [rsp + 0x1d0]
mov r8, qword [rsp + 0x1d8]
lea r15, [rsp + 0x3e8]
mov rcx, r15
call qword [rax]
lea rcx, [rsp + 0x3a0]
mov rdx, r15
call fcn.140021a90
mov r15, qword [rsp + 0x3a0]
test r15, r15
je 0x14001882f
mov ecx, r15d
shr ecx, 8
mov edx, r15d
shr edx, 0x10
mov r8, r15
shr r8, 0x20
mov r10d, dword [rsp + 0x3a8]
lea r9, [rsp + 0x3ac]
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x140018eff
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0xb8]
mov dword [rsp + 0x3c], edx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x1c8], r8
mov r8, qword [rsp + 0xb0]
mov dword [rsp + 0xdc], r10d
call qword [rax + 0x20]
mov r10d, dword [rsp + 0xdc]
lea r9, [rsp + 0x3ac]
mov r8, qword [rsp + 0x1c8]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x30]
mov byte [rsp + 0xa0], r15b
mov byte [rsp + 0xa1], cl
mov word [rsp + 0xa2], dx
mov dword [rsp + 0xa4], r8d
mov dword [rsp + 0xa8], r10d
movdqu xmm0, xmmword [r9]
movdqu xmm1, xmmword [r9 + 0xc]
movdqu xmmword [rsp + 0xac], xmm0
movdqu xmmword [rsp + 0xb8], xmm1
mov rax, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
lea rcx, [rsp + 0x1e8]
call qword [rax + 0x20]
xor r15d, r15d
jmp 0x140018f84
test r14, r14
sete al
cmp byte [rsp + 0x22], 7
setne cl
or cl, al
mov r15b, 1
je 0x140019193
mov qword [rsp + 0x40], r14
lea r14, [rsp + 0x1d0]
lea rdx, [rsp + 0xe8]
mov r8d, 0xe0
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x300], rax
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x2f0], xmm0
movdqu xmm0, xmmword [rsp + 0x70]
movdqu xmm1, xmmword [rsp + 0x80]
movdqu xmm2, xmmword [rsp + 0x90]
movdqu xmm3, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x2e0], xmm3
movdqa xmmword [rsp + 0x2d0], xmm2
movdqa xmmword [rsp + 0x2c0], xmm1
movdqa xmmword [rsp + 0x2b0], xmm0
lea r8, [rsp + 0x2b0]
lea rcx, [rsp + 0xe8]
mov rdx, r14
call fcn.140016400
mov r14, qword [rsp + 0xe8]
cmp r14, 3
jne 0x14001905d
mov word [rbx + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
cmp qword [rsi + 0x50], 0
jne 0x140018b92
jmp 0x140018baa
cmp qword [rsp + 0x28], 0
sete byte [rsp + 0x22]
movzx r12d, word [rsp + 0xf0]
lea rcx, [rsp + 0x1da]
mov r8d, 0xd6
lea rdx, [rsp + 0xf2]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x1d0], r14
mov word [rsp + 0x1d8], r12w
lea r14, [rsp + 0x1d0]
mov rcx, r14
call fcn.1400192a0
movups xmm0, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0x210], xmm0
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmm2, xmmword [rsi + 0x20]
movdqu xmm3, xmmword [rsi + 0x30]
movdqa xmmword [rsp + 0x200], xmm3
movdqa xmmword [rsp + 0x1f0], xmm2
movdqa xmmword [rsp + 0x1e0], xmm1
movdqa xmmword [rsp + 0x1d0], xmm0
mov r8d, 0xe0
mov rcx, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp]
test rax, rax
setne cl
test byte [rsp + 0x22], cl
je 0x14001912c
lea rcx, [rdi + 0x30]
mov rdx, qword [rdi + 0x20]
mov r8, qword [rdi + 0x28]
call qword [rax + 0x20]
mov rsi, rdi
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
test rax, rax
mov rdi, qword [rsp + 0x40]
je 0x140019155
test r13b, r13b
je 0x140019155
lea rcx, [rsi + 0x50]
mov rdx, qword [rsi + 0x40]
mov r8, qword [rsi + 0x48]
call qword [rax + 0x20]
mov rax, qword [rsi + 0x58]
test rax, rax
setne cl
test r15b, cl
je 0x140019173
lea rcx, [rsi + 0x70]
mov rdx, qword [rsi + 0x60]
mov r8, qword [rsi + 0x68]
call qword [rax + 0x20]
test rdi, rdi
sete cl
mov rax, qword [rsi + 0x78]
test rax, rax
setne dl
test cl, dl
mov rdi, rsi
jne 0x140018d07
jmp 0x140018d1f
mov word [rbx + 8], 0x100
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], 1
mov qword [rbx], 3
jmp 0x14001890f
mov rcx, r15
mov r12, r14
mov r14, rax
call fcn.1400f8dd0
mov rax, r14
mov r14, r12
jmp 0x14001820f
movdqa xmm0, xmmword [rcx]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rcx + r8]
jmp 0x1400183a9
mov ecx, 8
mov edx, 0x20
call fcn.1400f7b90
lea rcx, [0x140103a60]
call fcn.1400f83b0
int3