Function at 0x140004e60
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 0x1400050a3
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 0x140004f0c
inc r15
cmp r15, r12
je 0x1400050a3
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 0x140004ff0
add rsi, rdi
inc rsi
xor ebp, ebp
jmp 0x140004f6d
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 0x140004fe0
test r14b, r14b
js 0x140004f90
cmp rbp, qword [rsp + 0x38]
jne 0x140004f50
mov rcx, r13
call fcn.140007850
jmp 0x140004f50
mov rax, qword [rsp + 0x38]
sub rax, rbp
cmp rax, 1
jbe 0x140004fc2
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 0x140004f5c
mov r8d, 2
mov rcx, r13
mov rdx, rbp
call fcn.14001fc00
mov rbp, qword [rsp + 0x48]
jmp 0x140004f9e
mov rdx, qword [rsp + 0x40]
jmp 0x140004ff7
xor ebp, ebp
mov edx, 1
lea rcx, [rsp + 0x50]
mov r8, rbp
call fcn.140019430
lea rcx, [rsp + 0x140]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x30]
call fcn.140019430
mov rbp, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x148]
cmp r8, qword [rsp + 0x150]
jne 0x14000504d
mov rcx, rbp
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400050d6
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140005068
mov r8d, 1
mov rcx, rsi
call fcn.140003da0
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140005080
mov r8d, 1
mov rcx, rbp
call fcn.140003da0
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140004f00
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140003da0
jmp 0x140004f00
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 0x1400050f1
mov r8d, 1
mov rcx, rsi
call fcn.140003da0
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140005109
mov r8d, 1
mov rcx, rbp
call fcn.140003da0
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 0x140005183
mov rax, qword [rsp + 0xa8]
mov byte [rax + rdi], bpl
inc rdi
mov qword [rsp + 0xb0], rdi
inc rsi
cmp esi, 0x64
je 0x1400057ab
movzx ebp, byte [r13 + rsi]
test bp, bp
je 0x140005219
test bpl, bpl
js 0x1400051b0
cmp rdi, qword [rsp + 0xa0]
jne 0x140005160
mov rcx, rbx
call fcn.140007850
jmp 0x140005160
mov rax, qword [rsp + 0xa0]
sub rax, rdi
cmp rax, 1
jbe 0x1400051fe
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 0x140005183
jmp 0x1400057ab
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call fcn.14001fc00
mov rdi, qword [rsp + 0xb0]
jmp 0x1400051c1
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], 1
lea r9, [0x140024360]
lea rsi, [rsp + 0x140]
mov rcx, rsi
mov r8, rdi
call fcn.14001c650
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], rdi
mov word [rsp + 0x1b8], 1
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.140007f90
cmp qword [rsp + 0x108], 2
jne 0x140005787
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rdi]
mov r15, qword [rdi + 8]
mov r14d, 1
mov ecx, 1
test r15, r15
je 0x1400052cb
js 0x140005854
movzx eax, byte [0x140030101]
mov ebx, 1
mov edx, 1
mov rcx, r15
call fcn.140003d90
test rax, rax
je 0x140005856
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 0x140005314
js 0x140005861
movzx eax, byte [0x140030101]
mov r12d, 1
mov edx, 1
mov rcx, rdi
call fcn.140003d90
test rax, rax
je 0x140005864
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.140005890
call fcn.14000e4e0
mov r13, rax
mov rbp, rdx
lea rdx, [0x140024368]
mov ecx, 1
call fcn.14000e240
mov r12, r15
add r12, 0xfffffffffffffffe
mov rcx, qword [rsp + 0x30]
je 0x140005386
cmp r15, 2
jb 0x14000583a
cmp byte [rcx + r12], 0xbf
jle 0x14000583a
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], r12
lea rsi, [rsp + 0xe8]
mov qword [rsp + 0xd8], rsi
lea rdi, [0x1400081a0]
mov qword [rsp + 0xe0], rdi
lea rbx, [0x1400243b8]
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.140019280
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14000541b
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140003da0
mov qword [rsp + 0x80], r15
mov rcx, r13
mov rdx, rbp
call fcn.14000e240
test r12, r12
mov rcx, qword [rsp + 0x30]
je 0x140005443
cmp byte [rcx + r12], 0xbf
jle 0x14000586f
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.140019280
cmp qword [rsp + 0x128], 0
je 0x1400057ee
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xb8]
call fcn.140008560
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 0x14000554d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1400057ee
add rdi, r14
add rdi, 0x10
add r14, 0x10
and rdi, r12
jmp 0x140005505
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x14000551e
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 0x140005540
add rax, rbx
mov rdx, qword [rax + 8]
mov rcx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005540
cmp qword [rsp + 0x128], 0
je 0x1400056ba
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x130]
call fcn.140008560
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 0x14000564d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1400056ba
add rbp, r14
add rbp, 0x10
add r14, 0x10
and rbp, rdi
jmp 0x1400055f3
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x140005614
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 0x140005640
lea rax, [rbx + rsi]
mov rdx, qword [rax + 8]
mov rcx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005640
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rsi]
add rdx, 0xffffffffffffffe8
lea rcx, [rsp + 0x50]
call fcn.140019db0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x1400056d6
mov r8d, 1
mov rcx, qword [rsp + 0x30]
call fcn.140003da0
jmp 0x1400056d6
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.140003f80
test rax, rax
jne 0x14000571d
mov rcx, r14
mov rdx, rsi
call fcn.140005f80
test rax, rax
je 0x14000572e
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.140004e60
mov r13, rax
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14000574e
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140003da0
lea rcx, [rsp + 0x110]
call fcn.1400086e0
test rbx, rbx
je 0x140005771
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140003da0
test r15, r15
je 0x140005787
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.140003da0
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x1400057ab
mov rcx, qword [rsp + 0x100]
shl rdx, 4
mov r8d, 8
call fcn.140003da0
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x1400057cb
mov rcx, qword [rsp + 0xa8]
mov r8d, 1
call fcn.140003da0
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400050a6
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140003da0
jmp 0x1400050a6
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.14001fc00
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov dword [r14 + rsi], 0x6c6c642e
add rsi, 4
mov r15, qword [rsp + 0x50]
jmp 0x1400056e5
lea rax, [0x1400243d8]
mov qword [rsp + 0x20], rax
mov rdx, r15
xor r8d, r8d
mov r9, r12
call fcn.140021c40
xor ebx, ebx
mov rcx, rbx
mov rdx, r15
call fcn.1400215a0
xor r12d, r12d
mov rcx, r12
mov rdx, rdi
call fcn.1400215a0
lea rax, [0x140024398]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov r9, r12
call fcn.140021c40
int3