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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x90
movd xmm1, dword [rcx + 0x68]
mov edi, r9d
mov r10d, dword [rcx + 0x44]
mov r11, rcx
movaps xmmword [rsp + 0x50], xmm6
mov rbx, rdx
movss xmm6, dword [rcx]
movaps xmm0, xmm6
movaps xmmword [rsp + 0x40], xmm7
movss xmm7, dword [rcx + 0xc]
movaps xmmword [rsp + 0x30], xmm8
movaps xmm8, xmm7
cvtdq2ps xmm1, xmm1
movd xmm2, r8d
addss xmm1, dword [rcx + 0x40]
cvtdq2ps xmm2, xmm2
movaps xmm4, xmm1
movd xmm5, edi
addss xmm2, dword [rcx + 0x40]
mulss xmm1, dword [rcx + 0x10]
mulss xmm4, dword [rcx + 4]
mulss xmm0, xmm2
mulss xmm8, xmm2
addss xmm0, xmm4
cvtdq2ps xmm5, xmm5
addss xmm0, dword [rcx + 8]
addss xmm5, xmm2
addss xmm8, xmm1
mulss xmm6, xmm5
addss xmm8, dword [rcx + 0x14]
mulss xmm7, xmm5
addss xmm6, xmm4
addss xmm7, xmm1
movss xmm1, dword [0x1403a8d50]
mulss xmm0, xmm1
addss xmm7, dword [rcx + 0x14]
mov dword [rcx + 0x1c], edi
addss xmm6, dword [rcx + 8]
cvttss2si r9d, xmm0
movss xmm0, dword [0x1403a8e38]
mulss xmm6, xmm0
mov r8d, r9d
neg r8d
cvttss2si ecx, xmm6
movaps xmm6, xmmword [rsp + 0x50]
sub r8d, ecx
lea ecx, [r10 + r9]
mov eax, r8d
mov dword [r11 + 0x18], ecx
cdq
idiv edi
mov esi, eax
mov dword [r11 + 0x20], eax
mov eax, r8d
cdq
idiv edi
mov dword [r11 + 0x28], edx
test edx, edx
jg 0x14003afd0
add edx, edi
lea eax, [rsi - 1]
mov dword [r11 + 0x28], edx
mov dword [r11 + 0x20], eax
sub edx, edi
mulss xmm8, xmm1
mov dword [r11 + 0x24], edx
mulss xmm7, xmm0
mov dword [r11 + 0x30], edi
cvttss2si r8d, xmm8
movaps xmm8, xmmword [rsp + 0x30]
cvttss2si ecx, xmm7
mov eax, r8d
neg eax
movaps xmm7, xmmword [rsp + 0x40]
sub eax, ecx
lea ecx, [r8 + r10]
cdq
mov dword [r11 + 0x2c], ecx
idiv edi
mov dword [r11 + 0x34], eax
mov dword [r11 + 0x3c], edx
test edx, edx
jg 0x14003b021
add edx, edi
dec eax
mov dword [r11 + 0x3c], edx
mov dword [r11 + 0x34], eax
mov qword [rsp + 0x88], rbp
sub edx, edi
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r15
mov dword [r11 + 0x38], edx
nop word [rax + rax]
mov esi, dword [r11 + 0x18]
mov eax, dword [r11 + 0x28]
add dword [r11 + 0x24], eax
mov eax, esi
add eax, dword [r11 + 0x20]
mov edx, dword [r11 + 0x24]
mov dword [r11 + 0x18], eax
test edx, edx
jle 0x14003b07c
sub edx, dword [r11 + 0x1c]
inc eax
mov dword [r11 + 0x24], edx
mov dword [r11 + 0x18], eax
mov r8d, dword [r11 + 0x2c]
mov eax, dword [r11 + 0x3c]
add dword [r11 + 0x38], eax
mov eax, r8d
add eax, dword [r11 + 0x34]
mov edx, dword [r11 + 0x38]
mov dword [r11 + 0x2c], eax
test edx, edx
jle 0x14003b0a9
sub edx, dword [r11 + 0x30]
inc eax
mov dword [r11 + 0x38], edx
mov dword [r11 + 0x2c], eax
mov r10d, esi
mov edx, r8d
sar r10d, 8
sar edx, 8
cmp dword [r11 + 0x5c], 0
je 0x14003b2e1
mov r9d, dword [r11 + 0x60]
mov ecx, dword [r11 + 0x64]
cmp r10d, r9d
jae 0x14003b295
mov r9, qword [r11 + 0x50]
movzx r15d, sil
mov dword [rsp + 0xc0], r15d
cmp edx, ecx
jae 0x14003b25c
movsxd rcx, dword [r9 + 0x10]
movzx r12d, r8b
mov eax, ecx
movsxd r8, dword [r9 + 0xc]
imul eax, r10d
mov r10, rcx
movsxd rbx, eax
mov eax, r8d
imul eax, edx
mov edx, 0x100
sub edx, r12d
cdqe
add rbx, rax
mov eax, edx
add rbx, qword [r9]
mov r9d, 0x100
sub r9d, r15d
imul edx, r15d
imul eax, r9d
mov dword [rsp + 0x20], r9d
movzx esi, byte [rbx + 1]
movzx r13d, byte [rbx]
movzx ebp, byte [rbx + 2]
movzx r14d, byte [rbx + 3]
add rbx, rcx
imul esi, eax
imul ebp, eax
imul r13d, eax
movzx r15d, byte [rbx]
movzx r9d, byte [rbx + 1]
movzx r11d, byte [rbx + 2]
add esi, 0x8000
movzx edi, byte [rbx + 3]
add ebp, 0x8000
imul r14d, eax
add rbx, r8
mov r8d, dword [rsp + 0xc0]
imul r8d, r12d
imul r9d, edx
imul r15d, edx
imul r11d, edx
imul edi, edx
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x28]
movzx ebx, byte [rbx]
add r15d, 0x8000
imul ebx, r8d
mov dword [rsp + 0xc0], r8d
movzx ecx, byte [rax + 1]
movzx edx, byte [rax + 2]
imul ecx, r8d
imul edx, r8d
movzx r8d, byte [rax + 3]
sub rax, r10
mov r10d, dword [rsp + 0x20]
imul r8d, dword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
movzx eax, byte [rax + 1]
imul r10d, r12d
imul eax, r10d
add r9d, eax
add r9d, esi
mov rsi, qword [rsp + 0x28]
add r9d, ecx
lea ecx, [rdi + 0x8000]
movzx eax, byte [rsi + 2]
imul eax, r10d
add eax, r11d
add eax, ebp
add edx, eax
movzx eax, byte [rsi + 3]
imul eax, r10d
add eax, r8d
add eax, r14d
add ecx, eax
movzx eax, byte [rsi]
imul eax, r10d
add eax, ebx
add eax, r13d
add eax, r15d
shr eax, 0x10
mov rbx, qword [rsp + 0xb8]
mov r11, qword [rsp + 0xb0]
mov edi, dword [rsp + 0xc8]
shr r9d, 0x10
shr edx, 0x10
shr ecx, 0x10
mov byte [rbx], al
mov byte [rbx + 1], r9b
mov byte [rbx + 2], dl
mov byte [rbx + 3], cl
jmp 0x14003b324
mov eax, dword [r9 + 0x10]
imul eax, r10d
movsxd r8, eax
test edx, edx
js 0x14003b277
mov eax, dword [r9 + 0xc]
imul eax, ecx
cdqe
add r8, rax
add r8, qword [r9]
mov rdx, rbx
mov r9d, r15d
mov rcx, r11
call fcn.14003b4f0
mov r11, qword [rsp + 0xb0]
jmp 0x14003b324
cmp edx, ecx
jae 0x14003b2e1
mov rcx, qword [r11 + 0x50]
movzx esi, r8b
test r10d, r10d
jns 0x14003b2b1
mov eax, dword [rcx + 0xc]
imul eax, edx
movsxd r8, eax
jmp 0x14003b2c6
mov eax, dword [rcx + 0x10]
imul eax, r9d
movsxd r8, eax
mov eax, dword [rcx + 0xc]
imul eax, edx
cdqe
add r8, rax
add r8, qword [rcx]
mov r9d, esi
mov rcx, r11
mov rdx, rbx
call fcn.14003b430
mov r11, qword [rsp + 0xb0]
jmp 0x14003b324
mov eax, dword [r11 + 0x64]
xor r9d, r9d
mov r8d, dword [r11 + 0x60]
test r10d, r10d
cmovns r9d, r10d
xor ecx, ecx
test edx, edx
cmovns ecx, edx
mov rdx, qword [r11 + 0x50]
cmp ecx, eax
cmovle eax, ecx
imul eax, dword [rdx + 0xc]
cmp r9d, r8d
cmovle r8d, r9d
imul r8d, dword [rdx + 0x10]
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rdx]
mov ecx, dword [rcx + rax]
mov dword [rbx], ecx
dec edi
add rbx, 4
mov dword [rsp + 0xc8], edi
mov qword [rsp + 0xb8], rbx
test edi, edi
jg 0x14003b050
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
pop rdi
pop rsi
pop rbx
ret