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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor esi, esi
movzx r14d, r9b
mov r12d, r8d
mov r13d, edx
mov r9, rcx
test r8d, r8d
je 0x14004c782
mov rcx, qword [rsp + 0x90]
lea r8, [0x140000000]
mov rdi, qword [rsp + 0x88]
mov r15d, dword [rsp + 0x78]
mov ebp, dword [rsp + 0x70]
lea rbx, [rcx - 0x7c]
nop dword [rax]
test r14b, r14b
je 0x14004c3fa
lea r8, [rcx + rsi*4]
mov edx, r14d
mov rcx, r9
call fcn.1400405c0
test eax, eax
je 0x14004c77e
mov r9, qword [rsp + 0x50]
lea r8, [0x140000000]
jmp 0x14004c401
mov dword [rbx + 0x7c], 0
xor eax, eax
mov ecx, ebp
test ebp, ebp
je 0x14004c416
nop dword [rax]
inc eax
shr ecx, 1
jne 0x14004c410
add eax, r13d
lea ecx, [rbp - 1]
add eax, dword [rsp + 0x80]
cmp eax, 0x20
jbe 0x14004c62a
xor edx, edx
cmp ecx, 0x1f
ja case.default.0x14004c442
mov ecx, dword [r8 + rcx*4 + 0x4c7a4]
add rcx, r8
jmp rcx
movsxd rdx, dword [rbx - 4]
movsxd rax, dword [rdi + 0x7c]
imul rdx, rax
movsxd rcx, dword [rdi + 0x78]
movsxd rax, dword [rbx]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 4]
movsxd rax, dword [rdi + 0x74]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 8]
movsxd rax, dword [rdi + 0x70]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0xc]
movsxd rax, dword [rdi + 0x6c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x10]
movsxd rax, dword [rdi + 0x68]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x14]
movsxd rax, dword [rdi + 0x64]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x18]
movsxd rax, dword [rdi + 0x60]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x1c]
movsxd rax, dword [rdi + 0x5c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x20]
movsxd rax, dword [rdi + 0x58]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x24]
movsxd rax, dword [rdi + 0x54]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x28]
movsxd rax, dword [rdi + 0x50]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x2c]
movsxd rax, dword [rdi + 0x4c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x30]
movsxd rax, dword [rdi + 0x48]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x34]
movsxd rax, dword [rdi + 0x44]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x38]
movsxd rax, dword [rdi + 0x40]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x3c]
movsxd rax, dword [rdi + 0x3c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x40]
movsxd rax, dword [rdi + 0x38]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x44]
movsxd rax, dword [rdi + 0x34]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x48]
movsxd rax, dword [rdi + 0x30]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x4c]
movsxd rax, dword [rdi + 0x2c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x50]
movsxd rax, dword [rdi + 0x28]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x54]
movsxd rax, dword [rdi + 0x24]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x58]
movsxd rax, dword [rdi + 0x20]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x5c]
movsxd rax, dword [rdi + 0x1c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x60]
movsxd rax, dword [rdi + 0x18]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x64]
movsxd rax, dword [rdi + 0x14]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x68]
movsxd rax, dword [rdi + 0x10]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x6c]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x70]
movsxd rax, dword [rdi + 8]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x74]
movsxd rax, dword [rdi + 4]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rbx + 0x78]
movsxd rax, dword [rdi]
imul rcx, rax
add rdx, rcx
mov ecx, r15d
sar rdx, cl
jmp 0x14004c763
xor edx, edx
cmp ecx, 0x1f
ja case.default.0x14004c640
mov ecx, dword [r8 + rcx*4 + 0x4c824]
add rcx, r8
jmp rcx
mov edx, dword [rbx - 4]
imul edx, dword [rdi + 0x7c]
mov eax, dword [rdi + 0x78]
imul eax, dword [rbx]
add edx, eax
mov eax, dword [rbx + 4]
imul eax, dword [rdi + 0x74]
add edx, eax
mov eax, dword [rbx + 8]
imul eax, dword [rdi + 0x70]
add edx, eax
mov eax, dword [rbx + 0xc]
imul eax, dword [rdi + 0x6c]
add edx, eax
mov eax, dword [rbx + 0x10]
imul eax, dword [rdi + 0x68]
add edx, eax
mov eax, dword [rbx + 0x14]
imul eax, dword [rdi + 0x64]
add edx, eax
mov eax, dword [rbx + 0x18]
imul eax, dword [rdi + 0x60]
add edx, eax
mov eax, dword [rbx + 0x1c]
imul eax, dword [rdi + 0x5c]
add edx, eax
mov eax, dword [rbx + 0x20]
imul eax, dword [rdi + 0x58]
add edx, eax
mov eax, dword [rbx + 0x24]
imul eax, dword [rdi + 0x54]
add edx, eax
mov eax, dword [rbx + 0x28]
imul eax, dword [rdi + 0x50]
add edx, eax
mov eax, dword [rbx + 0x2c]
imul eax, dword [rdi + 0x4c]
add edx, eax
mov eax, dword [rbx + 0x30]
imul eax, dword [rdi + 0x48]
add edx, eax
mov eax, dword [rbx + 0x34]
imul eax, dword [rdi + 0x44]
add edx, eax
mov eax, dword [rbx + 0x38]
imul eax, dword [rdi + 0x40]
add edx, eax
mov eax, dword [rbx + 0x3c]
imul eax, dword [rdi + 0x3c]
add edx, eax
mov eax, dword [rbx + 0x40]
imul eax, dword [rdi + 0x38]
add edx, eax
mov eax, dword [rbx + 0x44]
imul eax, dword [rdi + 0x34]
add edx, eax
mov eax, dword [rbx + 0x48]
imul eax, dword [rdi + 0x30]
add edx, eax
mov eax, dword [rbx + 0x4c]
imul eax, dword [rdi + 0x2c]
add edx, eax
mov eax, dword [rbx + 0x50]
imul eax, dword [rdi + 0x28]
add edx, eax
mov eax, dword [rbx + 0x54]
imul eax, dword [rdi + 0x24]
add edx, eax
mov eax, dword [rbx + 0x58]
imul eax, dword [rdi + 0x20]
add edx, eax
mov eax, dword [rbx + 0x5c]
imul eax, dword [rdi + 0x1c]
add edx, eax
mov eax, dword [rbx + 0x60]
imul eax, dword [rdi + 0x18]
add edx, eax
mov eax, dword [rbx + 0x64]
imul eax, dword [rdi + 0x14]
add edx, eax
mov eax, dword [rbx + 0x68]
imul eax, dword [rdi + 0x10]
add edx, eax
mov eax, dword [rbx + 0x6c]
imul eax, dword [rdi + 0xc]
add edx, eax
mov eax, dword [rbx + 0x70]
imul eax, dword [rdi + 8]
add edx, eax
mov eax, dword [rbx + 0x74]
imul eax, dword [rdi + 4]
add edx, eax
mov eax, dword [rbx + 0x78]
imul eax, dword [rdi]
add edx, eax
mov ecx, r15d
sar edx, cl
add dword [rbx + 0x7c], edx
inc esi
add rbx, 4
cmp esi, r12d
jae 0x14004c782
mov rcx, qword [rsp + 0x90]
jmp 0x14004c3d0
xor eax, eax
jmp 0x14004c787
mov eax, 1
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret