Function at 0x1403c9c20
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, 0x48
mov qword [rsp + 0x40], rcx
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov ebp, r9d
test rsi, rsi
je 0x1403c9eac
cmp qword [rbx + 8], 0
jne 0x1403c9c5b
mov rcx, rbx
xor edx, edx
call fcn.1403c9b80
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x30]
mov r10, qword [rcx + 0x90]
mov rcx, r15
mov rdx, rsi
call qword [r10]
mov r13d, eax
xor r12d, r12d
mov rdx, qword [rbx + 8]
mov ecx, r13d
imul rcx, qword [rbx + 0x30]
shr rcx, 0x20
inc rcx
mov r10d, dword [rdx + 8]
mov r8d, r10d
imul rcx, r8
shr rcx, 0x20
cmp ecx, r10d
jae 0x1403c9eb7
mov ecx, ecx
lea rax, [rdx + rcx*4 + 0x10]
mov qword [rsp + 0x30], rax
mov r9d, dword [rax]
dec r9d
mov r11d, dword [r14 + 8]
mov dword [rsp + 0x3c], r11d
cmp r11d, r9d
jbe 0x1403c9d07
mov edx, r9d
lea rdx, [rdx + rdx*2]
lea r8, [r14 + rdx*8 + 0x10]
mov qword [rsp + 0x20], r8
cmp dword [r8 + 0x10], r13d
jne 0x1403c9d0e
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x30]
mov r10, qword [rcx + 0x88]
mov rdx, qword [r14 + rdx*8 + 0x10]
mov rcx, r15
mov r8, rsi
call qword [r10]
test eax, eax
je 0x1403c9d0e
jmp 0x1403c9e55
mov r11d, dword [rsp + 0x3c]
jmp 0x1403c9d2d
mov r8, qword [rsp + 0x20]
mov r9d, dword [r8 + 0x14]
inc r12d
mov r11d, dword [rsp + 0x3c]
cmp r11d, r12d
jb 0x1403c9e9b
cmp r11d, r9d
ja 0x1403c9d36
mov ebp, dword [rbx + 0x40]
test ebp, ebp
jle 0x1403c9d38
jmp 0x1403c9d98
jmp 0x1403c9ccb
mov ecx, dword [rbx + 0x38]
mov ebp, ecx
cmp r11d, ebp
jne 0x1403c9d8c
call fcn.140220e10
mov edx, eax
mov rcx, rbx
xor r8d, r8d
call fcn.1403c9ec0
mov rcx, qword [rbx + 8]
mov edx, r13d
imul rdx, qword [rbx + 0x30]
shr rdx, 0x20
inc rdx
mov eax, dword [rcx + 8]
mov r8d, eax
imul rdx, r8
shr rdx, 0x20
cmp edx, eax
jae 0x1403c9eb7
mov edx, edx
lea rax, [rcx + rdx*4 + 0x10]
mov r14, rax
mov qword [rsp + 0x30], r14
lea ecx, [rbp + 1]
mov dword [rbx + 0x38], ecx
mov r14, qword [rbx + 0x10]
jmp 0x1403c9dc0
mov ecx, dword [rbx + 0x3c]
mov r8d, ecx
cmp ecx, r11d
jae 0x1403c9eb7
lea rcx, [rcx + rcx*2]
mov ecx, dword [r14 + rcx*8 + 0x24]
neg ecx
add ecx, 0xfffffffd
mov dword [rbx + 0x3c], ecx
dec ebp
mov dword [rbx + 0x40], ebp
mov ebp, r8d
cmp ebp, dword [r14 + 8]
jae 0x1403c9eb7
mov ecx, ebp
lea rcx, [rcx + rcx*2]
lea r8, [r14 + rcx*8 + 0x10]
mov qword [rsp + 0x28], r8
mov dword [r8 + 0x10], r13d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax]
dec ecx
mov dword [r8 + 0x14], ecx
mov rcx, r8
mov rdx, rsi
call fcn.140009370
mov rsi, qword [rsp + 0x28]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140009370
inc ebp
mov rdi, qword [rsp + 0x30]
mov dword [rdi], ebp
inc dword [rbx + 0x44]
cmp r12d, 0x64
jbe 0x1403c9e3f
mov rdx, r15
lea rcx, [0x1404c8588]
call fcn.140223d60
test rax, rax
je 0x1403c9e3f
mov edx, dword [r14 + 8]
mov rcx, rbx
mov r8d, 1
call fcn.1403c9ec0
mov eax, 1
add rsp, 0x48
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
cmp bpl, 1
je 0x1403c9e74
cmp bpl, 2
je 0x1403c9ea1
xor eax, eax
add rsp, 0x48
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsp + 0x20]
lea rcx, [r8 + 8]
mov rdx, rdi
call fcn.140009370
mov eax, 1
add rsp, 0x48
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1401c25b0
int3
mov rdx, rsi
xor ecx, ecx
call fcn.14042fc70
int3
mov ecx, 4
call fcn.1401c1f40
int3
call fcn.14024a6d0
int3