Function at 0x140004de0
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 0x140005023
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 0x140004e8c
inc r15
cmp r15, r12
je 0x140005023
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 0x140004f70
add rsi, rdi
inc rsi
xor ebp, ebp
jmp 0x140004eed
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 0x140004f60
test r14b, r14b
js 0x140004f10
cmp rbp, qword [rsp + 0x38]
jne 0x140004ed0
mov rcx, r13
call fcn.1400077d0
jmp 0x140004ed0
mov rax, qword [rsp + 0x38]
sub rax, rbp
cmp rax, 1
jbe 0x140004f42
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 0x140004edc
mov r8d, 2
mov rcx, r13
mov rdx, rbp
call fcn.14001fb80
mov rbp, qword [rsp + 0x48]
jmp 0x140004f1e
mov rdx, qword [rsp + 0x40]
jmp 0x140004f77
xor ebp, ebp
mov edx, 1
lea rcx, [rsp + 0x50]
mov r8, rbp
call fcn.1400193b0
lea rcx, [rsp + 0x140]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x30]
call fcn.1400193b0
mov rbp, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x148]
cmp r8, qword [rsp + 0x150]
jne 0x140004fcd
mov rcx, rbp
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140005056
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140004fe8
mov r8d, 1
mov rcx, rsi
call fcn.140003d20
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140005000
mov r8d, 1
mov rcx, rbp
call fcn.140003d20
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140004e80
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140003d20
jmp 0x140004e80
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 0x140005071
mov r8d, 1
mov rcx, rsi
call fcn.140003d20
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140005089
mov r8d, 1
mov rcx, rbp
call fcn.140003d20
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 0x140005103
mov rax, qword [rsp + 0xa8]
mov byte [rax + rdi], bpl
inc rdi
mov qword [rsp + 0xb0], rdi
inc rsi
cmp esi, 0x64
je 0x14000572b
movzx ebp, byte [r13 + rsi]
test bp, bp
je 0x140005199
test bpl, bpl
js 0x140005130
cmp rdi, qword [rsp + 0xa0]
jne 0x1400050e0
mov rcx, rbx
call fcn.1400077d0
jmp 0x1400050e0
mov rax, qword [rsp + 0xa0]
sub rax, rdi
cmp rax, 1
jbe 0x14000517e
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 0x140005103
jmp 0x14000572b
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call fcn.14001fb80
mov rdi, qword [rsp + 0xb0]
jmp 0x140005141
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], 1
lea r9, [0x140024350]
lea rsi, [rsp + 0x140]
mov rcx, rsi
mov r8, rdi
call fcn.14001c5d0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], rdi
mov word [rsp + 0x1b8], 1
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.140007f10
cmp qword [rsp + 0x108], 2
jne 0x140005707
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rdi]
mov r15, qword [rdi + 8]
mov r14d, 1
mov ecx, 1
test r15, r15
je 0x14000524b
js 0x1400057d4
movzx eax, byte [0x140030101]
mov ebx, 1
mov edx, 1
mov rcx, r15
call fcn.140003d10
test rax, rax
je 0x1400057d6
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 0x140005294
js 0x1400057e1
movzx eax, byte [0x140030101]
mov r12d, 1
mov edx, 1
mov rcx, rdi
call fcn.140003d10
test rax, rax
je 0x1400057e4
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.140005810
call fcn.14000e460
mov r13, rax
mov rbp, rdx
lea rdx, [0x140024358]
mov ecx, 1
call fcn.14000e1c0
mov r12, r15
add r12, 0xfffffffffffffffe
mov rcx, qword [rsp + 0x30]
je 0x140005306
cmp r15, 2
jb 0x1400057ba
cmp byte [rcx + r12], 0xbf
jle 0x1400057ba
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], r12
lea rsi, [rsp + 0xe8]
mov qword [rsp + 0xd8], rsi
lea rdi, [0x140008120]
mov qword [rsp + 0xe0], rdi
lea rbx, [0x1400243a8]
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.140019200
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14000539b
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140003d20
mov qword [rsp + 0x80], r15
mov rcx, r13
mov rdx, rbp
call fcn.14000e1c0
test r12, r12
mov rcx, qword [rsp + 0x30]
je 0x1400053c3
cmp byte [rcx + r12], 0xbf
jle 0x1400057ef
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.140019200
cmp qword [rsp + 0x128], 0
je 0x14000576e
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xb8]
call fcn.1400084e0
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 0x1400054cd
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x14000576e
add rdi, r14
add rdi, 0x10
add r14, 0x10
and rdi, r12
jmp 0x140005485
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x14000549e
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 0x1400054c0
add rax, rbx
mov rdx, qword [rax + 8]
mov rcx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400054c0
cmp qword [rsp + 0x128], 0
je 0x14000563a
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x130]
call fcn.1400084e0
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 0x1400055cd
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x14000563a
add rbp, r14
add rbp, 0x10
add r14, 0x10
and rbp, rdi
jmp 0x140005573
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x140005594
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 0x1400055c0
lea rax, [rbx + rsi]
mov rdx, qword [rax + 8]
mov rcx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400055c0
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rsi]
add rdx, 0xffffffffffffffe8
lea rcx, [rsp + 0x50]
call fcn.140019d30
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x140005656
mov r8d, 1
mov rcx, qword [rsp + 0x30]
call fcn.140003d20
jmp 0x140005656
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.140003f00
test rax, rax
jne 0x14000569d
mov rcx, r14
mov rdx, rsi
call fcn.140005f00
test rax, rax
je 0x1400056ae
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.140004de0
mov r13, rax
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1400056ce
mov rcx, qword [rsp + 0xc0]
mov r8d, 1
call fcn.140003d20
lea rcx, [rsp + 0x110]
call fcn.140008660
test rbx, rbx
je 0x1400056f1
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140003d20
test r15, r15
je 0x140005707
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.140003d20
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x14000572b
mov rcx, qword [rsp + 0x100]
shl rdx, 4
mov r8d, 8
call fcn.140003d20
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x14000574b
mov rcx, qword [rsp + 0xa8]
mov r8d, 1
call fcn.140003d20
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140005026
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.140003d20
jmp 0x140005026
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.14001fb80
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov dword [r14 + rsi], 0x6c6c642e
add rsi, 4
mov r15, qword [rsp + 0x50]
jmp 0x140005665
lea rax, [0x1400243c8]
mov qword [rsp + 0x20], rax
mov rdx, r15
xor r8d, r8d
mov r9, r12
call fcn.140021bc0
xor ebx, ebx
mov rcx, rbx
mov rdx, r15
call fcn.140021520
xor r12d, r12d
mov rcx, r12
mov rdx, rdi
call fcn.140021520
lea rax, [0x140024388]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov r9, r12
call fcn.140021bc0
int3