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

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov rbx, r9
mov rsi, r8
mov r11d, edx
mov r10d, ecx
test r9, r9
je 0x1401814d9
test ecx, ecx
jle 0x1401814d9
test edx, edx
jle 0x1401814d9
test r8, r8
je 0x1401812a1
cmp dword [r8 + 8], 0
je 0x14018125d
mov edi, dword [r8 + 0x14]
mov ebp, dword [r8 + 0x18]
mov r8d, dword [r8 + 0xc]
mov r9d, dword [rsi + 0x10]
and r8d, 0xfffffffe
and r9d, 0xfffffffe
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], edi
call fcn.140180a80
test eax, eax
je 0x1401814d9
mov r10d, edi
mov r11d, ebp
cmp dword [rsi + 0x1c], 0
je 0x1401812a1
mov eax, dword [rsi + 0x20]
lea r9, [rsp + 0x30]
mov dword [rsp + 0x88], eax
lea r8, [rsp + 0x88]
mov eax, dword [rsi + 0x24]
mov edx, r11d
mov ecx, r10d
mov dword [rsp + 0x30], eax
call fcn.140180d40
test eax, eax
je 0x1401814d9
mov r10d, dword [rsp + 0x88]
mov r11d, dword [rsp + 0x30]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r14
movsxd r14, dword [rbx]
mov qword [rsp + 0x40], r15
mov dword [rbx + 4], r10d
mov dword [rbx + 8], r11d
test r10d, r10d
jle 0x1401814d0
test r11d, r11d
jle 0x1401814d0
cmp r14d, 0xc
ja 0x1401814d0
cmp dword [rbx + 0xc], 0
jg 0x140181403
cmp qword [rbx + 0x70], 0
jne 0x140181403
xor r12d, r12d
movsxd r9, r10d
lea rcx, [0x1401ea148]
mov dword [rsp + 0x88], r12d
movzx ecx, byte [r14 + rcx]
mov edx, 0x80000000
mov eax, ecx
mov qword [rsp + 0x30], r12
imul rax, r9
mov r15d, r12d
cmp rax, rdx
jae 0x1401814d0
mov r13d, ecx
movsxd r8, r11d
imul r13d, r10d
movsxd rbp, r13d
imul rbp, r8
cmp r14d, 0xb
jl 0x140181378
lea eax, [r10 + 1]
cdq
sub eax, edx
sar eax, 1
movsxd r12, eax
lea eax, [r11 + 1]
cdq
sub eax, edx
sar eax, 1
cdqe
imul rax, r12
mov qword [rsp + 0x30], rax
cmp r14d, 0xc
jne 0x14018137b
mov r15, r8
mov dword [rsp + 0x88], r10d
imul r15, r9
jmp 0x14018137b
mov rax, r12
lea rcx, [rax*2]
mov edi, 1
add rcx, rbp
mov edx, edi
add rcx, r15
call fcn.140180180
mov rcx, rax
test rax, rax
je 0x1401814d5
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x10], rax
cmp r14d, 0xb
jl 0x1401813fb
mov rdx, qword [rsp + 0x30]
add rax, rbp
mov qword [rbx + 0x18], rax
add rax, rdx
mov dword [rbx + 0x30], r13d
mov qword [rbx + 0x40], rbp
mov dword [rbx + 0x34], r12d
mov qword [rbx + 0x48], rdx
mov qword [rbx + 0x20], rax
mov dword [rbx + 0x38], r12d
mov qword [rbx + 0x50], rdx
cmp r14d, 0xc
jne 0x1401813eb
lea rax, [rcx + rdx*2]
add rax, rbp
mov qword [rbx + 0x28], rax
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x3c], eax
mov qword [rbx + 0x58], r15
jmp 0x140181403
mov dword [rbx + 0x18], r13d
mov qword [rbx + 0x20], rbp
mov rcx, rbx
call fcn.140181020
mov edi, eax
test eax, eax
jne 0x1401814d5
test rsi, rsi
je 0x1401814ae
cmp dword [rsi + 0x30], eax
je 0x1401814ae
cmp dword [rbx], 0xb
movsxd rax, dword [rbx + 8]
jge 0x140181448
movsxd rdx, dword [rbx + 0x18]
dec eax
movsxd rcx, eax
imul rcx, rdx
add qword [rbx + 0x10], rcx
neg edx
mov dword [rbx + 0x18], edx
jmp 0x1401814ae
movsxd rcx, dword [rbx + 0x30]
lea r8, [rax - 1]
mov rax, rcx
mov rdx, r8
imul rax, r8
neg ecx
sar rdx, 1
add qword [rbx + 0x10], rax
mov dword [rbx + 0x30], ecx
movsxd rcx, dword [rbx + 0x34]
mov rax, rcx
neg ecx
imul rax, rdx
mov dword [rbx + 0x34], ecx
movsxd rcx, dword [rbx + 0x38]
add qword [rbx + 0x18], rax
mov rax, rcx
imul rax, rdx
mov rdx, qword [rbx + 0x28]
neg ecx
add qword [rbx + 0x20], rax
mov dword [rbx + 0x38], ecx
test rdx, rdx
je 0x1401814ae
movsxd rcx, dword [rbx + 0x3c]
mov rax, rcx
imul rax, r8
add rax, rdx
neg ecx
mov qword [rbx + 0x28], rax
mov dword [rbx + 0x3c], ecx
xor eax, eax
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov edi, 2
mov eax, edi
jmp 0x1401814b0
mov eax, 2
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret