Function at 0x6304cee0
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, 0x48
xor r15d, r15d
mov ebp, dword [rcx + 0x20]
mov r9d, dword [rcx + 0x10]
mov eax, dword [rcx + 0x1c]
mov r10d, edx
lea edx, [rbp + r9]
mov rbx, rcx
mov dword [rcx + 0x20], edx
cmp edx, eax
jb 0x6304cf1c
sub edx, eax
sub eax, ebp
mov dword [rcx + 0x20], edx
mov r15d, edx
mov r9d, eax
mov r12d, dword [rbx + 0x2c]
mov esi, 3
xor edx, edx
mov r13d, r9d
mov r14, qword [rbx + 0x50]
shl r13, 2
shl rbp, 2
lea eax, [r12 + 2]
div esi
mov eax, r15d
shl rax, 2
mov qword [rsp + 0x30], rax
xor eax, eax
mov dword [rsp + 0x2c], edx
test r14, r14
je 0x6304cfdd
movzx ecx, word [r14 + 0x12]
mov rdx, qword [rbx + 0x88]
mov rdx, qword [rdx + rcx*8]
test r9d, r9d
je 0x6304cf7a
mov rdi, qword [rbx + 0x70]
lea rsi, [rdx + rbp]
mov rcx, r13
rep movsb byte [rdi], byte [rsi]
test r15d, r15d
je 0x6304cf93
mov r8, qword [rbx + 0x70]
mov rcx, qword [rsp + 0x30]
mov rsi, rdx
add r8, r13
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x70]
mov dword [rsp + 0x3c], r10d
mov dword [rsp + 0x38], r9d
shl rcx, 2
add rdx, rcx
mov rdi, rdx
rep stosb byte [rdi], al
mov r8, qword [r14 + 8]
mov r11d, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x60]
mov r8, qword [r8 + r11*8]
call fcn.6306bd20
mov r14, qword [r14]
mov r9d, dword [rsp + 0x38]
xor eax, eax
mov r10d, dword [rsp + 0x3c]
jmp 0x6304cf4f
mov rbp, qword [rbx + 0x58]
test r10b, r10b
je 0x6304cff2
mov edx, dword [rsp + 0x2c]
xor eax, eax
add rdx, 2
jmp 0x6304d00d
lea eax, [r12 + 1]
mov ecx, 3
xor edx, edx
div ecx
mov eax, edx
add rax, 2
mov qword [rsp + 0x30], rax
jmp 0x6304d043
test rbp, rbp
je 0x6304d175
mov ecx, dword [rbx + 0x10]
mov rdi, qword [rbp + rdx*8]
shl rcx, 2
rep stosb byte [rdi], al
mov rbp, qword [rbp]
jmp 0x6304d00d
mov eax, dword [rsp + 0x2c]
shl rcx, 2
add rsi, rcx
mov rax, qword [rbp + rax*8 + 0x10]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov rbp, qword [rbp]
test rbp, rbp
je 0x6304d175
mov eax, dword [rbx + 0x10]
mov rdi, qword [rbx + 0x80]
lea ecx, [rax + 1]
xor eax, eax
shl rcx, 3
rep stosb byte [rdi], al
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x6304d132
mov r12, qword [rdx + 8]
mov ecx, dword [rbx + 0x28]
xor r8d, r8d
mov edi, dword [rbx + 0xc]
cmp edi, r8d
jbe 0x6304d12a
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x6304d093
mov rax, qword [rax + 0x18]
jmp 0x6304d097
mov rax, qword [rdx + 0x18]
mov rsi, qword [rax + r8*8]
test rsi, rsi
jne 0x6304d0ac
test ecx, ecx
cmove ecx, edi
inc r8
dec ecx
jmp 0x6304d07b
mov r9, qword [r12 + 8]
mov eax, ecx
mov r15, qword [rbx + 0x80]
mov r13d, dword [rbx + 0x10]
mov r14, qword [r9 + rax*8]
xor r9d, r9d
mov eax, r9d
inc r9d
shl rax, 3
lea r10, [r15 + rax]
lea r11, [r14 + rax]
add rax, rsi
movss xmm1, dword [r11 + 4]
mulss xmm1, dword [rax + 4]
movss xmm0, dword [r11]
mulss xmm0, dword [rax]
addss xmm0, dword [r10]
subss xmm0, xmm1
movss dword [r10], xmm0
movss xmm0, dword [r11]
movss xmm1, dword [r11 + 4]
mulss xmm0, dword [rax + 4]
mulss xmm1, dword [rax]
addss xmm0, xmm1
addss xmm0, dword [r10 + 4]
movss dword [r10 + 4], xmm0
cmp r13d, r9d
jae 0x6304d0c5
jmp 0x6304d0a0
mov rdx, qword [rdx]
jmp 0x6304d065
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx + 0x68]
mov r8, qword [rbx + 0x70]
call fcn.6306bce0
mov rax, qword [rsp + 0x30]
mov ecx, dword [rbx + 0x10]
mov rsi, qword [rbx + 0x70]
mov rdx, qword [rbp + rax*8]
xor eax, eax
cmp ecx, eax
jbe 0x6304d02a
movss xmm0, dword [rdx + rax*4]
addss xmm0, dword [rsi + rax*4]
movss dword [rdx + rax*4], xmm0
inc rax
jmp 0x6304d159
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, dword [rbx + 0xc]
jne 0x6304d189
mov dword [rbx + 0x28], 0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret