Function at 0x140017b50
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, 0x1f8
movdqa xmmword [rsp + 0x1e0], xmm8
movdqa xmmword [rsp + 0x1d0], xmm7
movdqa xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x98], rdx
mov rdi, rcx
movsxd rax, dword [rcx + 0x3c]
movzx ecx, word [rax + rcx + 0x18]
add rax, rdi
xor edx, edx
cmp ecx, 0x10b
setne dl
shl edx, 4
movsxd rax, dword [rdx + rax + 0x78]
mov r12d, dword [rax + rdi + 0x18]
test r12d, r12d
jle 0x140017d93
movsxd rcx, dword [rax + rdi + 0x1c]
mov qword [rsp + 0x90], rcx
movsxd rcx, dword [rax + rdi + 0x24]
mov qword [rsp + 0x88], rcx
movsxd rbx, dword [rax + rdi + 0x20]
add rbx, rdi
lea r13, [rsp + 0x38]
xor r15d, r15d
jmp 0x140017bfc
inc r15
cmp r15, r12
je 0x140017d93
movsxd rsi, dword [rbx + r15*4]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
movzx r14d, byte [rsi + rdi]
test r14b, r14b
je 0x140017ce0
add rsi, rdi
inc rsi
xor ebp, ebp
jmp 0x140017c5d
mov rax, qword [rsp + 0x40]
mov byte [rax + rbp], r14b
inc rbp
mov qword [rsp + 0x48], rbp
movzx r14d, byte [rsi]
inc rsi
test r14b, r14b
je 0x140017cd0
test r14b, r14b
js 0x140017c80
cmp rbp, qword [rsp + 0x38]
jne 0x140017c40
mov rcx, r13
call fcn.14000c290
jmp 0x140017c40
mov rax, qword [rsp + 0x38]
sub rax, rbp
cmp rax, 1
jbe 0x140017cb2
mov eax, r14d
shr al, 6
or al, 0xc0
and r14b, 0xbf
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rbp], al
mov byte [rcx + rbp + 1], r14b
mov rbp, qword [rsp + 0x48]
add rbp, 2
jmp 0x140017c4c
mov r8d, 2
mov rcx, r13
mov rdx, rbp
call fcn.1400474d0
mov rbp, qword [rsp + 0x48]
jmp 0x140017c8e
mov rdx, qword [rsp + 0x40]
jmp 0x140017ce7
xor ebp, ebp
mov edx, 1
lea rcx, [rsp + 0x50]
mov r8, rbp
call fcn.140040070
lea rcx, [rsp + 0x140]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x30]
call fcn.140040070
mov rbp, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x148]
cmp r8, qword [rsp + 0x150]
jne 0x140017d3d
mov rcx, rbp
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140017dc6
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140017d58
mov r8d, 1
mov rcx, rsi
call fcn.140009c10
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140017d70
mov r8d, 1
mov rcx, rbp
call fcn.140009c10
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140017bf0
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140009c10
jmp 0x140017bf0
xor r13d, r13d
mov rax, r13
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140017de1
mov r8d, 1
mov rcx, rsi
call fcn.140009c10
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140017df9
mov r8d, 1
mov rcx, rbp
call fcn.140009c10
mov rax, qword [rsp + 0x88]
add rax, rdi
movsx rax, word [rax + r15*2]
mov rcx, qword [rsp + 0x90]
add rcx, rdi
movsxd r13, dword [rcx + rax*4]
add r13, rdi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
xor esi, esi
lea rbx, [rsp + 0xa0]
xor edi, edi
jmp 0x140017e73
mov rax, qword [rsp + 0xa8]
mov byte [rax + rdi], bpl
inc rdi
mov qword [rsp + 0xb0], rdi
inc rsi
cmp esi, 0x64
je 0x14001849b
movzx ebp, byte [r13 + rsi]
test bp, bp
je 0x140017f09
test bpl, bpl
js 0x140017ea0
cmp rdi, qword [rsp + 0xa0]
jne 0x140017e50
mov rcx, rbx
call fcn.14000c290
jmp 0x140017e50
mov rax, qword [rsp + 0xa0]
sub rax, rdi
cmp rax, 1
jbe 0x140017eee
movzx eax, bp
mov ecx, eax
shr ecx, 6
mov rdx, qword [rsp + 0xa8]
and eax, 0x3f
shl eax, 8
movzx ecx, cx
add eax, ecx
add eax, 0x80c0
mov word [rdx + rdi], ax
add rdi, 2
mov qword [rsp + 0xb0], rdi
inc rsi
cmp esi, 0x64
jne 0x140017e73
jmp 0x14001849b
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call fcn.1400474d0
mov rdi, qword [rsp + 0xb0]
jmp 0x140017eb1
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], 1
lea r9, [0x140052790]
lea rsi, [rsp + 0x140]
mov rcx, rsi
mov r8, rdi
call fcn.140043870
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], rdi
mov word [rsp + 0x1b8], 1
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.14001abe0
cmp qword [rsp + 0x108], 2
jne 0x140018477
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rdi]
mov r15, qword [rdi + 8]
mov r14d, 1
mov ecx, 1
test r15, r15
je 0x140017fbb
js 0x140018544
movzx eax, byte [0x140064141]
mov ebx, 1
mov edx, 1
mov rcx, r15
call fcn.140009c00
test rax, rax
je 0x140018546
mov rcx, rax
mov qword [rsp + 0x30], rcx
mov rdx, rsi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rsi, qword [rdi + 0x10]
mov rdi, qword [rdi + 0x18]
test rdi, rdi
je 0x140018004
js 0x140018551
movzx eax, byte [0x140064141]
mov r12d, 1
mov edx, 1
mov rcx, rdi
call fcn.140009c00
test rax, rax
je 0x140018554
mov r14, rax
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r14
mov rcx, r14
mov rdx, rsi
mov qword [rsp + 0xd0], rdi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x110]
call fcn.140018580
call fcn.140029d00
mov r13, rax
mov rbp, rdx
lea rdx, [0x140052798]
mov ecx, 1
call fcn.140029a60
mov r12, r15
add r12, 0xfffffffffffffffe
mov rcx, qword [rsp + 0x30]
je 0x140018076
cmp r15, 2
jb 0x14001852a
cmp byte [rcx + r12], 0xbf
jle 0x14001852a
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], r12
lea rsi, [rsp + 0xe8]
mov qword [rsp + 0xd8], rsi
lea rdi, [0x14001add0]
mov qword [rsp + 0xe0], rdi
lea rbx, [0x1400527e8]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x70], 0
lea r14, [rsp + 0xd8]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 1
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0x50]
call fcn.14003fec0
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14001810b
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140009c10
mov qword [rsp + 0x80], r15
mov rcx, r13
mov rdx, rbp
call fcn.140029a60
test r12, r12
mov rcx, qword [rsp + 0x30]
je 0x140018133
cmp byte [rcx + r12], 0xbf
jle 0x14001855f
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 1
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0x50]
call fcn.14003fec0
cmp qword [rsp + 0x128], 0
je 0x1400184de
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xb8]
call fcn.14001b190
mov rsi, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov rdi, r12
and rdi, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
lea rbx, [rsi - 0x30]
mov r13, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
xor r14d, r14d
pcmpeqd xmm7, xmm7
movdqu xmm8, xmmword [rsi + rdi]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r15d, xmm0
test r15d, r15d
jne 0x14001823d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1400184de
add rdi, r14
add rdi, 0x10
add r14, 0x10
and rdi, r12
jmp 0x1400181f5
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x14001820e
tzcnt eax, r15d
add rax, rdi
and rax, r12
neg rax
lea rax, [rax + rax*2]
shl rax, 4
cmp rbp, qword [rbx + rax + 0x10]
jne 0x140018230
add rax, rbx
mov rdx, qword [rax + 8]
mov rcx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018230
cmp qword [rsp + 0x128], 0
je 0x1400183aa
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x130]
call fcn.14001b190
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov rbp, rdi
and rbp, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
mov qword [rsp + 0x98], rcx
lea rbx, [rcx - 0x30]
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
xor r14d, r14d
pcmpeqd xmm7, xmm7
mov rax, qword [rsp + 0x98]
movdqu xmm8, xmmword [rax + rbp]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r15d, xmm0
test r15d, r15d
jne 0x14001833d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1400183aa
add rbp, r14
add rbp, 0x10
add r14, 0x10
and rbp, rdi
jmp 0x1400182e3
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x140018304
tzcnt eax, r15d
add rax, rbp
and rax, rdi
neg rax
lea rsi, [rax + rax*2]
shl rsi, 4
cmp r13, qword [rbx + rsi + 0x10]
jne 0x140018330
lea rax, [rbx + rsi]
mov rdx, qword [rax + 8]
mov rcx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140018330
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rsi]
add rdx, 0xffffffffffffffe8
lea rcx, [rsp + 0x50]
call fcn.140040e00
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x1400183c6
mov r8d, 1
mov rcx, qword [rsp + 0x30]
call fcn.140009c10
jmp 0x1400183c6
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd0]
mov rcx, r14
mov rdx, rsi
call fcn.140016c70
test rax, rax
jne 0x14001840d
mov rcx, r14
mov rdx, rsi
call fcn.140018c70
test rax, rax
je 0x14001841e
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.140017b50
mov r13, rax
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14001843e
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140009c10
lea rcx, [rsp + 0x110]
call fcn.14001b310
test rbx, rbx
je 0x140018461
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140009c10
test r15, r15
je 0x140018477
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.140009c10
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x14001849b
mov rcx, qword [rsp + 0x100]
shl rdx, 4
mov r8d, 8
call fcn.140009c10
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x1400184bb
mov rcx, qword [rsp + 0xa8]
mov r8d, 1
call fcn.140009c10
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140017d96
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140009c10
jmp 0x140017d96
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x50], rdx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
lea rcx, [rsp + 0x50]
mov r8d, 4
call fcn.1400474d0
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov dword [r14 + rsi], 0x6c6c642e
add rsi, 4
mov r15, qword [rsp + 0x50]
jmp 0x1400183d5
lea rax, [0x140052808]
mov qword [rsp + 0x20], rax
mov rdx, r15
xor r8d, r8d
mov r9, r12
call fcn.14004c500
xor ebx, ebx
mov rcx, rbx
mov rdx, r15
call fcn.14004be60
xor r12d, r12d
mov rcx, r12
mov rdx, rdi
call fcn.14004be60
lea rax, [0x1400527c8]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov r9, r12
call fcn.14004c500
int3