Function at 0x1403cfac0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rax, [0x14030fdf0]
mov esi, dword [rdx + 8]
cmp byte [rcx + 0x1cf], 0
mov qword [rsp + 0x118], rdx
lea rdx, [0x14030fdb0]
mov rbp, rcx
cmovne rax, rdx
mov dword [rsp + 0x8c], esi
mov qword [rsp + 0x58], rax
test esi, esi
je 0x1403cfe18
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
mov eax, dword [rax + 0x10]
mov esi, eax
mov dword [rsp + 0x98], eax
and esi, 2
mov dword [rsp + 0x90], esi
mov esi, eax
and esi, 1
mov dword [rsp + 0x60], esi
mov esi, eax
and esi, 4
mov dword [rsp + 0x64], esi
mov esi, eax
and esi, 8
mov dword [rsp + 0x9c], esi
mov esi, eax
and eax, 0x20
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x118]
and esi, 0x10
mov dword [rsp + 0x94], esi
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x118]
mov r14d, dword [rax + 0xc]
mov r15d, r14d
test r15d, r15d
jle 0x1403cfc0c
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x118]
xor ebx, ebx
jmp 0x1403cfbbe
cmp byte [r12 + 5], 0
je 0x1403cfbed
mov qword [r12 + 0x28], 0
mov r15d, dword [rdi + 0xc]
add rbx, 1
cmp r15d, ebx
jle 0x1403cfc0c
mov r12, qword [rsi + rbx*8]
cmp byte [r12 + 4], 0
jne 0x1403cfba0
mov rdx, r12
mov rcx, rbp
call fcn.1403cf760
test eax, eax
je 0x1403cfbb1
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r12 + 0x28]
call fcn.14030bf10
mov rcx, qword [r12 + 0x38]
call fcn.140372ef0
mov qword [r12 + 0x38], 0
jmp 0x1403cfba8
mov eax, dword [rsp + 0x8c]
lea r12d, [rax - 1]
cmp eax, r15d
cmove r15d, r12d
mov esi, r15d
sub esi, 1
js 0x1403cfca4
sub eax, 2
mov qword [rsp + 0x110], rbp
movsxd rdi, esi
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
lea r15, [rax + 8]
nop dword [rax]
cmp esi, r12d
jge 0x1403cfc90
mov rax, qword [rsp + 0x28]
lea rbp, [rax + rdi*8]
mov eax, dword [rsp + 0x20]
sub eax, esi
add rax, rdi
lea rbx, [r15 + rax*8]
jmp 0x1403cfc79
mov qword [rbp + 8], r14
add rbp, 8
mov qword [rbp - 8], r13
cmp rbx, rbp
je 0x1403cfc90
mov r13, qword [rbp + 8]
mov r14, qword [rbp]
mov rdx, r13
mov rcx, r14
call fcn.14030b6b0
test eax, eax
jns 0x1403cfc68
sub esi, 1
sub rdi, 1
cmp esi, 0xffffffff
jne 0x1403cfc48
mov rbp, qword [rsp + 0x110]
mov rax, qword [rsp + 0x118]
mov dword [rax + 0xc], 0
mov rax, qword [rsp + 0x28]
mov r12, qword [rax]
cmp qword [r12 + 0x28], 0
je 0x1403cfe18
mov rax, qword [rsp + 0x118]
mov ebx, dword [r12 + 0x48]
mov rsi, qword [r12 + 0x50]
mov r8d, dword [rsp + 0x94]
mov dword [rax + 0x40], ebx
mov qword [rax + 0x38], rsi
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
test r8d, r8d
jne 0x1403cfd28
test rdx, rdx
je 0x1403cfd28
movsxd r8, dword [rax + 8]
cmp ebx, r8d
jl 0x1403cfe18
jle 0x1403cfd18
mov ecx, dword [rsp + 0x9c]
test ecx, ecx
je 0x1403cfe18
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1403cfe18
mov eax, dword [rsp + 0x8c]
cmp eax, 1
jle 0x1403d0469
mov rdi, qword [rsp + 0x28]
movsxd r13, ebx
mov r15d, 1
add rdi, 8
mov qword [rsp + 0x20], rdi
mov r14, rdi
mov edi, eax
mov rax, r13
mov r13d, r15d
mov r15, rax
jmp 0x1403cfd89
cmp ebx, dword [rax + 0x48]
jne 0x1403cfd93
mov rdx, qword [rax + 0x50]
mov r8, r15
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1403cfd93
add r13d, 1
add r14, 8
cmp edi, r13d
je 0x1403cfe8d
mov rax, qword [r14]
cmp qword [rax + 0x28], 0
jne 0x1403cfd60
cmp r13d, 1
mov r15d, r13d
sete al
mov edx, dword [rsp + 0x90]
test edx, edx
sete byte [rsp + 0x73]
test byte [rsp + 0x98], 0x22
jne 0x1403d0437
test al, al
je 0x1403d0437
cmp byte [rbp + 0x1cf], 0
mov rax, qword [r12 + 0x40]
je 0x1403cfe1f
test rax, rax
jne 0x1403d0455
mov eax, dword [r12 + 0x68]
mov rsi, qword [rsp + 0x118]
mov r12, qword [r12 + 0x60]
mov dword [rsi + 0x50], eax
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x48], r12
mov rax, qword [rsp + 0x118]
mov dword [rax + 0xc], 1
mov eax, 0x64
jmp 0x1403cfbd9
xor eax, eax
jmp 0x1403cfbd9
mov ebx, dword [r12 + 0x68]
mov rsi, qword [rsp + 0x118]
mov r12, qword [r12 + 0x60]
mov dword [rsi + 0x50], ebx
test rax, rax
je 0x1403cfded
mov rcx, qword [rsi + 0x18]
cmp ebx, dword [rsi + 0x20]
jle 0x1403cfe65
lea edx, [rbx + rbx]
mov dword [rsi + 0x20], edx
call fcn.14034f320
mov rcx, rax
mov rax, qword [rsp + 0x118]
test rcx, rcx
je 0x1403d0479
mov qword [rax + 0x18], rcx
movsxd r8, ebx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x118]
mov rax, qword [rax + 0x18]
mov qword [rsi + 0x48], rax
jmp 0x1403cfdf9
mov eax, dword [rsp + 0x90]
mov rdi, qword [rsp + 0x20]
mov r15d, r13d
test eax, eax
sete byte [rsp + 0x73]
lea eax, [r15 - 1]
mov rdx, r12
lea rbx, [rdi + rax*8]
jmp 0x1403cfeb7
mov rdx, qword [rdi]
add rdi, 8
movzx ecx, byte [rbp + 0x1cf]
call fcn.1403746d0
cmp rbx, rdi
jne 0x1403cfeb0
mov rsi, qword [rsp + 0x28]
mov r9, qword [rsp + 0x58]
mov edx, r15d
mov r8d, r15d
mov rcx, rsi
call fcn.140309b20
mov rdx, qword [rsi]
mov rax, rsi
cmp qword [rdx + 0x70], 0
je 0x1403d0172
lea rsi, [rsp + 0xac]
add rax, 8
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rsi
lea rsi, [rsp + 0xb0]
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], rax
nop dword [rax]
mov r9, qword [rsp + 0x48]
mov rcx, rbp
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0xac], 0
mov rsi, qword [rdx + 0x80]
call fcn.140374780
cmp r15d, 1
je 0x1403d042d
mov rdi, qword [rsp + 0x68]
mov ebx, 1
jmp 0x1403cff93
cmp qword [rdx + 0x80], rsi
jne 0x1403cff9d
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
add ebx, 1
call fcn.140374780
add rdi, 8
cmp r15d, ebx
je 0x1403cff9d
mov rdx, qword [rdi]
cmp qword [rdx + 0x70], 0
jne 0x1403cff70
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x1403d0210
cmp byte [rsp + 0x73], 0
jne 0x1403cffc1
mov r14d, dword [rsp + 0xac]
test r14d, r14d
jle 0x1403d0140
cmp byte [rbp + 0x1cf], 0
je 0x1403d0348
mov r13d, dword [rsp + 0x20]
test r13d, r13d
jle 0x1403d0200
mov rax, qword [rsp + 0x40]
cmp rsi, rax
jge 0x1403d0361
mov r14, rax
sub r14, rsi
mov rax, r14
xor edx, edx
nop dword [rax]
add edx, 1
shr rax, 7
jne 0x1403cfff8
mov edi, dword [rsp + 0x60]
test edi, edi
je 0x1403d0014
mov eax, dword [rsp + 0xac]
lea edx, [rdx + rax + 1]
mov eax, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x118]
lea eax, [rax + rdx + 0x14]
mov r12, qword [rdi + 0x18]
cmp eax, dword [rdi + 0x20]
jg 0x1403d02c1
movsxd rcx, dword [rsp + 0x20]
mov r10d, dword [rsp + 0x74]
lea rax, [r12 + rcx]
mov qword [rsp + 0x30], rax
test r10d, r10d
je 0x1403d0230
mov rax, qword [rsp + 0xb0]
movsxd rdi, dword [rsp + 0xac]
movzx ecx, byte [rax]
add rdi, rax
cmp cl, 1
je 0x1403d03ad
mov dword [rsp + 0x3c], 0
xor r11d, r11d
cmp cl, 2
je 0x1403d03d8
test cl, 0xfe
je 0x1403d009e
nop dword [rax]
add rax, 1
mov edx, ecx
movzx ecx, byte [rax]
and edx, 0xffffff80
or edx, ecx
and edx, 0xfe
jne 0x1403d0088
cmp rdi, rax
jbe 0x1403d0115
mov dword [rsp + 0x88], ebx
lea r13, [rsp + 0xb8]
mov r12d, r11d
mov qword [rsp + 0x80], r14
mov r14, qword [rsp + 0x30]
nop word [rax + rax]
lea rbx, [rax + 1]
mov rdx, r13
mov rcx, rbx
call fcn.1403091c0
cdqe
add rax, rbx
movzx ecx, byte [rax]
cmp cl, 2
je 0x1403d0188
test cl, 0xfe
je 0x1403d0106
nop dword [rax]
and ecx, 0xffffff80
add rax, 1
mov edx, ecx
movzx ecx, byte [rax]
or edx, ecx
and edx, 0xfe
jne 0x1403d00f0
cmp rdi, rax
ja 0x1403d00c8
mov ebx, dword [rsp + 0x88]
mov r11d, r12d
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
je 0x1403d0131
mov rdx, qword [rsp + 0x30]
movsxd rax, r11d
mov byte [rdx + rax], 0
lea eax, [rax + 1]
mov r11d, eax
test r11d, r11d
je 0x1403d0140
add dword [rsp + 0x20], r11d
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 0x28]
mov r9, qword [rsp + 0x58]
mov edx, r15d
mov r8d, ebx
mov rcx, rsi
call fcn.140309b20
mov rdx, qword [rsi]
cmp qword [rdx + 0x70], 0
jne 0x1403cff28
mov edx, dword [rsp + 0x20]
test edx, edx
jg 0x1403d049a
mov rax, qword [rsp + 0x118]
mov dword [rax + 0xc], r15d
jmp 0x1403cfb85
mov r9d, dword [rsp + 0x3c]
test r9d, r9d
je 0x1403d036b
lea r11d, [r12 + 1]
movsxd r12, r12d
mov byte [r14 + r12], 1
movsxd r12, r11d
mov rdx, qword [rsp + 0xb8]
add r12, r14
mov rcx, r12
nop dword [rax]
mov r8d, edx
mov r10, rcx
mov r9d, edx
add rcx, 1
or r8d, 0xffffff80
shr rdx, 7
mov byte [rcx - 1], r8b
jne 0x1403d01b8
sub rcx, r12
and r9d, 0x7f
mov dword [rsp + 0x3c], 1
add ecx, r11d
mov byte [r10], r9b
lea r12d, [rcx + 1]
movsxd rcx, ecx
mov byte [r14 + rcx], 2
movzx ecx, byte [rax]
jmp 0x1403d00e8
mov r14, rsi
sub r14, qword [rsp + 0x40]
jmp 0x1403cfff0
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
xor edx, edx
mov r8, qword [rsp + 0x50]
mov ecx, dword [rax + 0xc]
call fcn.14030a080
jmp 0x1403cffa9
mov rax, qword [rsp + 0x30]
nop dword [rax]
mov edx, r14d
mov r9, rax
mov ecx, r14d
add rax, 1
or edx, 0xffffff80
shr r14, 7
mov byte [rax - 1], dl
jne 0x1403d0238
and ecx, 0x7f
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rsi
mov byte [r9], cl
mov ecx, dword [rsp + 0x60]
add dword [rsp + 0x20], eax
test ecx, ecx
je 0x1403d0140
movsxd rcx, dword [rsp + 0x20]
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0xb0]
movsxd r8, dword [rsp + 0xac]
mov rsi, rcx
add rcx, qword [rax + 0x18]
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0xac]
add eax, esi
lea esi, [rax + 1]
cdqe
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsi + 0x18]
mov byte [rdx + rax], 0
jmp 0x1403d0140
lea edi, [rax + rax]
mov r11d, dword [0x140442314]
mov rax, qword [rsp + 0x118]
mov dword [rax + 0x20], edi
test r11d, r11d
jne 0x1403d0425
call fcn.14030ae50
test eax, eax
jne 0x1403d03ce
call fcn.14034e2b0
test eax, eax
jne 0x1403d03ce
test edi, edi
mov eax, 0
cmovns eax, edi
movsxd rdx, eax
test r12, r12
je 0x1403d0445
test edi, edi
jle 0x1403d03c6
cmp edi, 0x7ffffeff
jg 0x1403d03ce
mov rcx, r12
call fcn.14030edb0
mov r12, rax
test r12, r12
je 0x1403d03ce
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x18], r12
jmp 0x1403d0031
mov r12d, dword [rsp + 0x20]
test r12d, r12d
jle 0x1403d0200
cmp rsi, qword [rsp + 0x40]
jg 0x1403d0200
mov eax, 0x10b
jmp 0x1403cfbd9
movsxd r10, r12d
mov rdx, qword [rsp + 0x80]
add r10, r14
mov rcx, r10
nop dword [rax]
mov r8d, edx
mov r11, rcx
mov r9d, edx
add rcx, 1
or r8d, 0xffffff80
shr rdx, 7
mov byte [rcx - 1], r8b
jne 0x1403d0380
and r9d, 0x7f
sub rcx, r10
mov byte [r11], r9b
add r12d, ecx
jmp 0x1403d0196
mov dword [rsp + 0x3c], 0
xor r11d, r11d
cmp rax, rdi
jb 0x1403d00a3
jmp 0x1403d0140
mov rcx, r12
call fcn.14030bf10
mov eax, 7
jmp 0x1403cfbd9
mov rcx, qword [rsp + 0x30]
mov rdx, r14
mov r8d, edx
mov r11, rcx
mov r10d, edx
add rcx, 1
or r8d, 0xffffff80
shr rdx, 7
mov byte [rcx - 1], r8b
jne 0x1403d03e0
mov rdx, qword [rsp + 0x30]
and r10d, 0x7f
mov dword [rsp + 0x3c], 1
mov byte [r11], r10b
sub rcx, rdx
lea r11d, [rcx + 1]
movsxd rcx, ecx
mov byte [rdx + rcx], 2
movzx ecx, byte [rax]
jmp 0x1403d0080
mfence
jmp 0x1403d02f9
mov ebx, 1
jmp 0x1403cff9d
mov rax, qword [rsp + 0x28]
lea rdi, [rax + 8]
jmp 0x1403cfea3
mov rcx, rdx
call fcn.14030ef00
mov r12, rax
jmp 0x1403d032e
movzx ecx, byte [rbp + 0x1cf]
mov rdx, r12
call fcn.1403746d0
jmp 0x1403cfec8
mov eax, 1
mov r15d, 1
jmp 0x1403cfd9d
mov rax, qword [rax + 0x18]
mov rsi, qword [rsp + 0x118]
mov qword [rsi + 0x48], rax
mov eax, 7
mov dword [rsi + 0xc], 1
jmp 0x1403cfbd9
mov eax, dword [rsp + 0x20]
mov r14d, r15d
lea ebx, [rax + 0x14]
mov rax, qword [rsp + 0x118]
cmp ebx, dword [rax + 0x20]
jg 0x1403d04f4
mov rbx, qword [rsp + 0x118]
movsxd rax, dword [rsp + 0x20]
mov rsi, rax
add rax, qword [rbx + 0x18]
mov qword [rax], 0
mov qword [rax + 8], 0
mov dword [rax + 0x10], 0
mov rax, qword [rbx + 0x18]
mov dword [rbx + 0x50], esi
mov qword [rbx + 0x48], rax
mov eax, 0x64
mov dword [rbx + 0xc], r14d
jmp 0x1403cfbd9
add ebx, ebx
mov r12, qword [rax + 0x18]
mov dword [rax + 0x20], ebx
call fcn.14034e840
test eax, eax
jne 0x1403d03ce
movsxd rdx, ebx
test r12, r12
je 0x1403d0540
cmp ebx, 0x7ffffeff
jg 0x1403d03ce
mov rcx, r12
call fcn.14030edb0
test rax, rax
je 0x1403d03ce
mov rsi, qword [rsp + 0x118]
mov qword [rsi + 0x18], rax
jmp 0x1403d04b1
mov rcx, rdx
call fcn.14030ef00
jmp 0x1403d0526