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

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x98
xor eax, eax
mov qword [rsp + 0x48], rax
xorps xmm4, xmm4
movaps xmmword [rsp + 0x50], xmm4
movaps xmmword [rsp + 0x60], xmm4
movaps xmmword [rsp + 0x70], xmm4
mov qword [rsp + 0x80], rax
mov rbx, rcx
mov rbp, rdx
lea r8, [0x14033a9e0]
cmp qword [r8 - 8], 0
jne 0x1401c3b5a
mov r8, qword [0x140643b78]
mov r8, qword [r8 + 8]
mov rcx, rbp
mov edx, 0x1e
call fcn.140159870
mov rcx, rax
lea rdx, [0x14030dc50]
call fcn.14008f1e0
test eax, eax
je 0x1401c3b8e
mov ecx, dword [rbp + 0x10]
mov eax, dword [rbp + 8]
sub ecx, eax
add ecx, 2
mov edx, dword [rbp + 0xc]
sub edx, eax
cmp edx, ecx
jb 0x1401c3bda
add ecx, eax
mov dword [rbp + 0x10], ecx
mov rcx, rbp
call fcn.140159140
mov r14d, eax
mov rcx, rbp
call fcn.140159140
mov rcx, rbp
call fcn.140159140
mov r15d, eax
mov rcx, rbp
call fcn.140159140
mov r13d, eax
mov dword [rsp + 0x94], r13d
mov rcx, rbp
call fcn.140159140
lea eax, [r13 + r14 - 1]
xor edx, edx
div r14d
mov r12d, eax
lea eax, [r14 + r12*4 - 1]
xor edx, edx
div r14d
mov dword [rsp + 0x90], eax
mov edx, r15d
imul edx, r14d
mov ecx, dword [rbp + 0xc]
sub ecx, dword [rbp + 8]
cmp edx, ecx
jne 0x1401c3bb4
mov r13d, dword [rsp + 0x94]
movsxd rdx, r15d
lea rcx, [0x1404339d0]
call fcn.140004370
mov rdi, rax
mov qword [rsp + 0x28], rdi
xor eax, eax
xor r10d, r10d
mov dword [rsp + 0x7c], r10d
test r15d, r15d
jbe 0x1401c372b
test r15d, r15d
jl 0x1401c36bf
mov r11d, dword [rdi + 8]
cmp r11d, r15d
jl 0x1401c36bf
lea rdx, [rsp + 0x60]
mov rcx, rbp
mov dword [rsp + 0x8c], eax
mov r8d, eax
mov r9d, r14d
call fcn.140158f50
mov ecx, dword [rsp + 0x7c]
lea rcx, [rcx + rcx*2]
lea rdi, [rdi + rcx*8 + 0x10]
lea rsi, [rsp + 0x60]
call fcn.140004650
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
mov eax, r14d
add eax, dword [rsp + 0x8c]
mov esi, eax
mov eax, dword [rsp + 0x7c]
inc eax
cmp eax, r15d
mov dword [rsp + 0x7c], eax
mov rdi, qword [rsp + 0x28]
jb 0x1401c36bb
jmp 0x1401c372b
mov eax, esi
jmp 0x1401c3664
lea rdx, [rsp + 0x60]
mov rcx, rbp
mov dword [rsp + 0x8c], eax
mov r8d, eax
mov r9d, r14d
call fcn.140158f50
mov r11d, dword [rdi + 8]
mov eax, r11d
mov ecx, dword [rsp + 0x7c]
cmp ecx, eax
jae 0x1401c3bf9
mov dword [rsp + 0x7c], ecx
mov eax, ecx
lea rax, [rax + rax*2]
lea rdi, [rdi + rax*8 + 0x10]
lea rsi, [rsp + 0x60]
call fcn.140004650
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
mov eax, r14d
add eax, dword [rsp + 0x8c]
mov esi, eax
mov edi, dword [rsp + 0x7c]
inc edi
cmp edi, r15d
mov dword [rsp + 0x7c], edi
mov eax, esi
mov rdi, qword [rsp + 0x28]
jb 0x1401c36bf
movsxd rdx, r12d
lea rcx, [0x1404339d0]
call fcn.140004370
mov r15, rax
xor eax, eax
xor r8d, r8d
jmp 0x1401c38aa
mov r10d, dword [rbp + 0x10]
mov dword [rsp + 0x44], r10d
mov ecx, dword [rbp + 0xc]
sub ecx, r10d
cmp ecx, 4
jb 0x1401c3be7
mov rcx, qword [rbp]
mov edx, r10d
mov r9, qword [rcx]
call qword [r9 + 0x70]
mov ecx, dword [rsp + 0x44]
add ecx, 4
mov dword [rbp + 0x10], ecx
mov ecx, dword [rdi + 8]
mov r8d, ecx
mov dword [rsp + 0x34], r8d
cmp eax, r8d
jae 0x1401c3bf9
mov ecx, eax
lea rcx, [rcx + rcx*2]
lea rcx, [rdi + rcx*8 + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
mov r10d, dword [rcx + 8]
mov dword [rsp + 0x40], r10d
mov r9d, dword [rcx + 0xc]
mov dword [rsp + 0x3c], r9d
mov r11d, r10d
jmp 0x1401c386f
mov r13d, r11d
mov ecx, r9d
sub ecx, r13d
cmp ecx, 4
jb 0x1401c3be7
mov rcx, rax
mov edx, r13d
mov r11, qword [rax]
call qword [r11 + 0x70]
lea r11d, [r13 + 4]
mov dword [rsp + 0x38], r11d
mov r13d, dword [rsp + 0x34]
cmp eax, r13d
jae 0x1401c3bf9
mov eax, eax
lea rax, [rax + rax*2]
movups xmm0, xmmword [rdi + rax*8 + 0x10]
movups xmmword [rsp + 0x48], xmm0
mov rcx, qword [rdi + rax*8 + 0x20]
mov qword [rsp + 0x58], rcx
mov eax, dword [rsp + 0x88]
cmp eax, dword [r15 + 8]
jae 0x1401c3bf9
mov dword [rsp + 0x88], eax
mov ecx, eax
lea rcx, [rcx + rcx*2]
lea rdi, [r15 + rcx*8 + 0x10]
lea rsi, [rsp + 0x48]
call fcn.140004650
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x34], r13d
mov rax, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x94]
mov ecx, r11d
sub ecx, r10d
mov edx, r9d
sub edx, r10d
cmp ecx, edx
jae 0x1401c389b
movsxd rcx, dword [rsp + 0x88]
mov r13d, r12d
cmp rcx, r13
jl 0x1401c37b8
mov r13d, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x78]
inc r8d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x78], r8d
movsxd rcx, r8d
mov edx, dword [rsp + 0x90]
cmp rcx, rdx
jge 0x1401c38d4
mov dword [rsp + 0x88], eax
movsxd rcx, eax
mov edx, r12d
cmp rcx, rdx
jl 0x1401c3747
lea rcx, [0x140370760]
call fcn.140004250
mov rbp, rax
mov rcx, rbp
mov rdx, r15
mov r8d, r13d
call fcn.1401c2f00
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
mov r9d, r14d
call fcn.1401c3c80
mov rcx, rbx
call fcn.1401c3ee0
mov rcx, rbx
call fcn.1401c3420
test eax, eax
jne 0x1401c392a
add rsp, 0x98
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.1401c41c0
mov rcx, rbx
call fcn.1401c43a0
mov dword [rsp + 0x80], eax
lea rcx, [0x14037b368]
call fcn.140004250
mov rsi, rax
mov r8, qword [0x140643a88]
mov r8, qword [r8 + 8]
mov rcx, rsi
xor edx, edx
call fcn.1402ba8b0
lea rcx, [rbx + 0x30]
mov rdx, rsi
call fcn.140004460
mov rsi, qword [rbx + 0x20]
mov edi, dword [rsi + 0x14]
xor ebp, ebp
jmp 0x1401c39b4
movzx edx, word [rcx + 0x34]
mov r8d, edx
cmp r8d, 0xffff
je 0x1401c39b4
mov r14, qword [rbx + 8]
cmp dword [r14 + 8], r8d
jle 0x1401c39b4
cmp edx, dword [r14 + 8]
jae 0x1401c3bf9
mov r8, qword [r14 + rdx*8 + 0x10]
cmp byte [r8], r8b
add r8, 8
mov rdx, rbx
call fcn.1401c1630
mov rcx, rsi
cmp edi, dword [rcx + 0x14]
jne 0x1401c3bf3
mov ecx, dword [rsi + 0x10]
cmp ebp, ecx
jae 0x1401c39df
mov rcx, qword [rsi + 8]
cmp ebp, dword [rcx + 8]
jae 0x1401c3bf9
mov edx, ebp
mov rcx, qword [rcx + rdx*8 + 0x10]
inc ebp
jmp 0x1401c397c
movzx ecx, word [rsp + 0x82]
movzx edx, byte [rsp + 0x80]
test edx, edx
jne 0x1401c39fa
mov eax, 0xffff
jmp 0x1401c39fd
movzx eax, cx
movzx ecx, ax
cmp ecx, 0xffff
je 0x1401c3a4a
mov r14, qword [rbx + 8]
cmp dword [r14 + 8], ecx
jle 0x1401c3a4a
mov rcx, r14
test edx, edx
je 0x1401c3bed
movzx edx, word [rsp + 0x82]
cmp edx, dword [rcx + 8]
jae 0x1401c3bf9
movzx edx, word [rsp + 0x82]
mov r8, qword [rcx + rdx*8 + 0x10]
cmp byte [r8], r8b
lea rdx, [r8 + 8]
mov rcx, rbx
call fcn.1401c4920
lea rcx, [0x140386c60]
call fcn.140004250
mov rsi, rax
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.1401f8170
lea rcx, [rbx + 0x38]
mov rdx, rsi
call fcn.140004460
mov rsi, qword [rbx + 0x20]
mov edi, dword [rsi + 0x14]
xor ebp, ebp
jmp 0x1401c3ae1
mov r14, qword [rcx + 0x18]
mov r15d, dword [r14 + 0x14]
xor r13d, r13d
jmp 0x1401c3ab0
lea rcx, [r12 + 8]
mov rdx, rbx
call fcn.140004460
mov rcx, qword [rbx + 0x38]
mov edx, dword [r12 + 0x30]
cmp byte [rcx], cl
mov r8, r12
mov r9d, 2
call fcn.1401f8440
mov rcx, r14
cmp r15d, dword [rcx + 0x14]
jne 0x1401c3bf3
mov ecx, dword [r14 + 0x10]
cmp r13d, ecx
jae 0x1401c3ae1
mov rcx, qword [r14 + 8]
cmp r13d, dword [rcx + 8]
jae 0x1401c3bf9
mov edx, r13d
mov r12, qword [rcx + rdx*8 + 0x10]
inc r13d
jmp 0x1401c3a8a
mov rcx, rsi
cmp edi, dword [rcx + 0x14]
jne 0x1401c3bf3
mov ecx, dword [rsi + 0x10]
cmp ebp, ecx
jae 0x1401c3b0f
mov rcx, qword [rsi + 8]
cmp ebp, dword [rcx + 8]
jae 0x1401c3bf9
mov edx, ebp
mov rcx, qword [rcx + rdx*8 + 0x10]
inc ebp
jmp 0x1401c3a7d
mov rcx, rbx
lea rdx, [0x140328ee0]
call fcn.1401c3c00
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.140004460
mov rcx, rbx
lea rdx, [0x140328fb8]
call fcn.1401c3c00
lea rcx, [rbx + 0x48]
mov rdx, rax
call fcn.140004460
nop
add rsp, 0x98
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400018f0
mov r8, qword [0x140643b78]
mov r8, qword [r8 + 8]
mov rcx, rbp
mov edx, 0x1e
call fcn.140159870
mov rcx, rax
lea rdx, [0x14030dc50]
call fcn.14008f1e0
test eax, eax
jne 0x1401c359b
lea rcx, [0x1403707b0]
call fcn.140004250
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14030bb80]
call fcn.1401c3390
mov rcx, rbx
call fcn.140004840
lea rcx, [0x1403707b0]
call fcn.140004250
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140307358]
call fcn.1401c3390
mov rcx, rbx
call fcn.140004840
lea rcx, [0x14030b698]
call fcn.140158e90
int3
call fcn.140158e60
int3
call fcn.1400a87c0
int3
call fcn.1400a8760
int3
call fcn.14010bc60
int3