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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x80
lea edi, [ebx + 0x752]
mov dword [ebp - 0x14], ecx
push 0
push edi
call fcn.005b7980
mov esi, 0x50
add esp, 0xc
mov dword [ebp - 0xc], esi
lea ecx, [ecx]
push esi
push ebx
mov ecx, 0x715090
call fcn.00504e40
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x58dd5c
cmp dword [esi], 0
je 0x58dd5c
movzx ecx, word [esi + 4]
push ecx
mov ecx, 0x715090
call fcn.00504e00
mov ebx, eax
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x58dd54
mov eax, dword [ebp + 8]
movzx edx, word [ebx + 0xc4]
movss xmm1, dword [0x5e87f0]
movss dword [ebp - 4], xmm1
movzx ecx, word [eax + 0x436]
sub edx, ecx
test edx, edx
jle 0x58ce72
mov al, byte [eax + 0x551]
test al, al
je 0x58ce51
movzx eax, al
sub edx, eax
test edx, edx
jns 0x58ce59
xor edx, edx
jmp 0x58ce64
cmp edx, 0xd
mov eax, 0xd
cmovg edx, eax
movss xmm1, dword [edx*4 + 0x63807c]
movss dword [ebp - 4], xmm1
movzx eax, word [ebx + 0x86]
mov ecx, 0x80a
cmp ax, cx
je 0x58cefa
mov ecx, 0x816
cmp ax, cx
je 0x58cefa
movzx eax, word [ebx + 0xd8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 8], ax
movzx eax, word [ebx + 0xda]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xa], ax
movzx eax, word [ebx + 0xdc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xc], ax
movzx eax, word [ebx + 0xde]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xe], ax
jmp 0x58cf82
movzx eax, word [ebx + 0xd8]
movss xmm2, dword [0x5e9284]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x10]
movss dword [edi + 0x10], xmm0
movzx eax, word [ebx + 0xda]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x14]
movss dword [edi + 0x14], xmm0
movzx eax, word [ebx + 0xdc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x18]
movss dword [edi + 0x18], xmm0
movzx eax, word [ebx + 0xde]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x1c]
movss dword [edi + 0x1c], xmm0
movzx eax, word [ebx + 0xfa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x34], eax
movss xmm0, dword [ebx + 0xe2]
movss xmm1, dword [ebp - 4]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x38]
movss dword [edi + 0x38], xmm0
movss xmm0, dword [ebx + 0xe6]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x3c]
movss dword [edi + 0x3c], xmm0
movss xmm0, dword [ebx + 0xea]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x40]
movss dword [edi + 0x40], xmm0
movss xmm0, dword [ebx + 0xee]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x44]
movss dword [edi + 0x44], xmm0
movss xmm0, dword [ebx + 0xf2]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x48]
movss dword [edi + 0x48], xmm0
movss xmm0, dword [ebx + 0xf6]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x4c]
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [ebx + 0xa8]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x50]
movss dword [edi + 0x50], xmm0
movss xmm0, dword [ebx + 0xac]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x54]
movss dword [edi + 0x54], xmm0
movss xmm0, dword [ebx + 0xb0]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x58]
movss dword [edi + 0x58], xmm0
movss xmm0, dword [ebx + 0xb4]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
movss dword [edi + 0x5c], xmm0
movss xmm0, dword [ebx + 0xb8]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x60]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [ebx + 0xbc]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
movzx eax, word [ebx + 0x96]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi], ax
movzx eax, word [ebx + 0x98]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 2], ax
movzx eax, word [ebx + 0x9a]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 4], ax
movzx eax, word [ebx + 0x9c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 6], ax
mov eax, dword [ebx + 0x9e]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x20], eax
mov eax, dword [ebx + 0xa2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 4]
call fcn.005b8750
add dword [edi + 0x24], eax
movzx eax, word [ebx + 0xa6]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 4]
call fcn.005b8750
add dword [edi + 0x28], eax
mov ecx, 0x715090
movss xmm0, dword [ebx + 0x128]
movss xmm1, dword [ebp - 4]
movss xmm2, dword [0x5e9138]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x70]
movss dword [edi + 0x70], xmm0
movss xmm0, dword [ebx + 0x12c]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x74]
movss dword [edi + 0x74], xmm0
movss xmm0, dword [ebx + 0x120]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x68]
movss dword [edi + 0x68], xmm0
movss xmm0, dword [ebx + 0x130]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x78]
movss dword [edi + 0x78], xmm0
movss xmm0, dword [ebx + 0x134]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x7c]
movss dword [edi + 0x7c], xmm0
movss xmm0, dword [ebx + 0x124]
mulss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x6c]
movss dword [edi + 0x6c], xmm0
push dword [esi + 8]
movzx eax, word [esi + 4]
push eax
call fcn.00505c40
test eax, eax
je 0x58d4e4
push dword [esi + 8]
mov ecx, 0x715090
call fcn.00504e80
mov ecx, eax
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x58d4e4
mov eax, dword [ebp + 8]
movss xmm0, dword [ebp - 4]
movaps xmm1, xmm0
movss dword [ebp - 8], xmm1
mov al, byte [eax + 0x552]
test al, al
je 0x58d292
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, dword [0x5e9138]
addss xmm1, xmm0
movss dword [ebp - 8], xmm1
movzx eax, word [ecx + 0x32]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 8], ax
movzx eax, word [ecx + 0x32]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xa], ax
movzx eax, word [ecx + 0x32]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xc], ax
movzx eax, word [ecx + 0x32]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xe], ax
mov eax, dword [ecx + 0x4e]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x34], eax
mov ecx, dword [ebp - 0x10]
movss xmm1, dword [ebp - 8]
movss xmm0, dword [ecx + 0x36]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x38]
movss dword [edi + 0x38], xmm0
movss xmm0, dword [ecx + 0x3a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x3c]
movss dword [edi + 0x3c], xmm0
movss xmm0, dword [ecx + 0x3e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x40]
movss dword [edi + 0x40], xmm0
movss xmm0, dword [ecx + 0x42]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x44]
movss dword [edi + 0x44], xmm0
movss xmm0, dword [ecx + 0x46]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x48]
movss dword [edi + 0x48], xmm0
movss xmm0, dword [ecx + 0x4a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x4c]
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [ecx + 0x1a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x50]
movss dword [edi + 0x50], xmm0
movss xmm0, dword [ecx + 0x1e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x54]
movss dword [edi + 0x54], xmm0
movss xmm0, dword [ecx + 0x22]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x58]
movss dword [edi + 0x58], xmm0
movss xmm0, dword [ecx + 0x26]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
movss dword [edi + 0x5c], xmm0
movss xmm0, dword [ecx + 0x2a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x60]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [ecx + 0x2e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
movzx eax, word [ecx + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi], ax
movzx eax, word [ecx + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 2], ax
movzx eax, word [ecx + 0xc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 4], ax
movzx eax, word [ecx + 0xe]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 6], ax
mov eax, dword [ecx + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x16]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 8]
call fcn.005b8750
add dword [edi + 0x24], eax
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 8]
call fcn.005b8750
add dword [edi + 0x28], eax
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 8]
call fcn.005b8750
add dword [edi + 0x2c], eax
push dword [esi + 0xc]
movzx eax, word [esi + 4]
mov ecx, 0x715090
push eax
call fcn.00505c40
test eax, eax
je 0x58d744
push dword [esi + 0xc]
mov ecx, 0x715090
call fcn.005051a0
mov edx, eax
mov dword [ebp - 0x10], edx
test edx, edx
je 0x58d744
movzx ecx, word [edx + 0x1a]
movss xmm1, dword [ebp - 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
add word [edi + 8], cx
movzx eax, word [edx + 0x1a]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xa], ax
movzx eax, word [edx + 0x1a]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xc], ax
movzx eax, word [edx + 0x1a]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xe], ax
movzx eax, word [edx + 0x1c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x34], eax
mov ecx, dword [ebp - 0x10]
movss xmm1, dword [ebp - 4]
movss xmm0, dword [ecx + 0x36]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x38]
movss dword [edi + 0x38], xmm0
movss xmm0, dword [ecx + 0x3a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x3c]
movss dword [edi + 0x3c], xmm0
movss xmm0, dword [ecx + 0x3e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x40]
movss dword [edi + 0x40], xmm0
movss xmm0, dword [ecx + 0x42]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x44]
movss dword [edi + 0x44], xmm0
movss xmm0, dword [ecx + 0x46]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x48]
movss dword [edi + 0x48], xmm0
movss xmm0, dword [ecx + 0x4a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x4c]
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [ecx + 0x1e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x50]
movss dword [edi + 0x50], xmm0
movss xmm0, dword [ecx + 0x22]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x54]
movss dword [edi + 0x54], xmm0
movss xmm0, dword [ecx + 0x26]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x58]
movss dword [edi + 0x58], xmm0
movss xmm0, dword [ecx + 0x2a]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
movss dword [edi + 0x5c], xmm0
movss xmm0, dword [ecx + 0x2e]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x60]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [ecx + 0x32]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
movzx eax, word [ecx + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi], ax
movzx eax, word [ecx + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 2], ax
movzx eax, word [ecx + 0xc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 4], ax
movzx eax, word [ecx + 0xe]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 6], ax
mov eax, dword [ecx + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.005b8750
add dword [edi + 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x16]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 4]
call fcn.005b8750
add dword [edi + 0x24], eax
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 4]
call fcn.005b8750
add dword [edi + 0x28], eax
movzx eax, word [ebx + 0x86]
mov ecx, 0x715090
push eax
movzx eax, word [esi + 4]
push eax
call fcn.00505c70
test eax, eax
je 0x58da5e
push dword [esi + 0x10]
mov ecx, 0x715090
call fcn.005051e0
mov dword [ebp - 0x10], eax
test eax, eax
je 0x58da5e
mov esi, dword [ebp - 0x14]
add esi, 4
mov ecx, esi
mov dword [ebp - 8], esi
call fcn.0047d520
mov ebx, dword [ebp - 0x10]
cmp dword [ebx + 8], 1
jbe 0x58d7b3
movzx eax, word [ebx + 8]
mov ecx, 0x715090
push eax
call fcn.00504e00
test eax, eax
je 0x58d7b3
movzx ecx, word [eax]
push ecx
push eax
mov ecx, esi
call fcn.00548fd0
cmp dword [ebx + 0xc], 1
jbe 0x58d7d8
movzx eax, word [ebx + 0xc]
mov ecx, 0x715090
push eax
call fcn.00504e00
test eax, eax
je 0x58d7d8
movzx ecx, word [eax]
push ecx
push eax
mov ecx, esi
call fcn.00548fd0
cmp dword [ebx + 0x10], 1
jbe 0x58d7fd
movzx eax, word [ebx + 0x10]
mov ecx, 0x715090
push eax
call fcn.00504e00
test eax, eax
je 0x58d7fd
movzx ecx, word [eax]
push ecx
push eax
mov ecx, esi
call fcn.00548fd0
cmp dword [ebx + 0x14], 1
jbe 0x58d822
movzx eax, word [ebx + 0x14]
mov ecx, 0x715090
push eax
call fcn.00504e00
test eax, eax
je 0x58d822
movzx ecx, word [eax]
push ecx
push eax
mov ecx, esi
call fcn.00548fd0
cmp dword [ebx + 0x18], 1
jbe 0x58d847
movzx eax, word [ebx + 0x18]
mov ecx, 0x715090
push eax
call fcn.00504e00
test eax, eax
je 0x58d847
movzx ecx, word [eax]
push ecx
push eax
mov ecx, esi
call fcn.00548fd0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x14], eax
lea ecx, [ecx]
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x58da58
mov eax, dword [ecx + 8]
mov ebx, dword [eax + 4]
mov eax, dword [ecx]
mov dword [esi + 0x14], eax
test ebx, ebx
je 0x58da58
mov eax, dword [ebx + 0x9e]
add dword [edi + 0x20], eax
mov esi, dword [edi + 0x20]
mov eax, esi
shr eax, 0x1f
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5e8800]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x10a]
call fcn.005b8750
add eax, esi
movss xmm1, dword [ebp - 4]
mov dword [edi + 0x20], eax
movzx eax, word [ebx + 0x96]
add word [edi], ax
movzx eax, word [ebx + 0x98]
add word [edi + 2], ax
movzx eax, word [ebx + 0x9a]
add word [edi + 4], ax
movzx eax, word [ebx + 0x9c]
add word [edi + 6], ax
movzx eax, word [ebx + 0xfa]
add dword [edi + 0x34], eax
movzx eax, word [ebx + 0xd8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 8], ax
movzx eax, word [ebx + 0xda]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xa], ax
movzx eax, word [ebx + 0xdc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xc], ax
movzx eax, word [ebx + 0xde]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add word [edi + 0xe], ax
movss xmm0, dword [ebx + 0xe2]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x38]
movss dword [edi + 0x38], xmm0
movss xmm0, dword [ebx + 0xe6]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x3c]
movss dword [edi + 0x3c], xmm0
movss xmm0, dword [ebx + 0xea]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x40]
movss dword [edi + 0x40], xmm0
movss xmm0, dword [ebx + 0xee]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x44]
movss dword [edi + 0x44], xmm0
movss xmm0, dword [ebx + 0xf2]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x48]
movss dword [edi + 0x48], xmm0
movss xmm0, dword [ebx + 0xf6]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x4c]
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [ebx + 0xa8]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x50]
movss dword [edi + 0x50], xmm0
movss xmm0, dword [ebx + 0xac]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x54]
movss dword [edi + 0x54], xmm0
movss xmm0, dword [ebx + 0xb0]
mulss xmm0, xmm1
mov esi, dword [ebp - 8]
addss xmm0, dword [edi + 0x58]
movss dword [edi + 0x58], xmm0
movss xmm0, dword [ebx + 0xb4]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
movss dword [edi + 0x5c], xmm0
movss xmm0, dword [ebx + 0xb8]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x60]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [ebx + 0xbc]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
jmp 0x58d850
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
cmp dword [esi + 0x1c], 0
jbe 0x58db1b
mov ecx, 0x715090
call fcn.00415460
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x58db1b
mov eax, dword [esi + 0x1c]
xor edx, edx
mov esi, dword [ebp - 0x1c]
div dword [esi]
mov ecx, dword [esi + 4]
imul ecx, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
add dword [edi + 0x20], ecx
mov ecx, dword [esi + 8]
imul ecx, eax
add dword [edi + 0x24], ecx
mov ecx, dword [esi + 0xc]
imul ecx, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5e8800]
add dword [edi + 0x28], ecx
cvtpd2ps xmm1, xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm1
movss dword [ebp - 0x10], xmm1
call fcn.005b8750
add word [edi], ax
movss xmm0, dword [esi + 0x14]
mulss xmm0, dword [ebp - 0x10]
call fcn.005b8750
add word [edi + 2], ax
movss xmm0, dword [esi + 0x18]
mulss xmm0, dword [ebp - 0x10]
call fcn.005b8750
add word [edi + 4], ax
movss xmm0, dword [esi + 0x1c]
mulss xmm0, dword [ebp - 0x10]
call fcn.005b8750
add word [edi + 6], ax
movss xmm0, dword [esi + 0x20]
mulss xmm0, dword [ebp - 0x10]
call fcn.005b8750
add dword [edi + 0x34], eax
mov esi, dword [ebp - 0xc]
cmp si, 0x51
jne 0x58dc8a
movzx eax, word [ebx + 0x94]
mov ecx, 0x715090
push eax
call fcn.005055b0
mov edx, eax
test edx, edx
je 0x58dc8a
movzx ecx, word [edx + 0x14]
add word [edi + 8], cx
movzx ecx, word [edx + 0x18]
add word [edi + 0xa], cx
movzx eax, word [edx + 0x1c]
add word [edi + 0xc], ax
movzx eax, word [edx + 0x20]
add word [edi + 0xe], ax
mov eax, dword [edx + 0x24]
add dword [edi + 0x2c], eax
movss xmm0, dword [edx + 0x28]
movss xmm1, dword [ebp - 4]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x38]
movss dword [edi + 0x38], xmm0
movss xmm0, dword [edx + 0x2c]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x3c]
movss dword [edi + 0x3c], xmm0
movss xmm0, dword [edx + 0x30]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x40]
movss dword [edi + 0x40], xmm0
movss xmm0, dword [edx + 0x34]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x44]
movss dword [edi + 0x44], xmm0
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x48]
movss dword [edi + 0x48], xmm0
movss xmm0, dword [edx + 0x3c]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x4c]
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [edx + 0x40]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x50]
movss dword [edi + 0x50], xmm0
movss xmm0, dword [edx + 0x44]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x54]
movss dword [edi + 0x54], xmm0
movss xmm0, dword [edx + 0x48]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x58]
movss dword [edi + 0x58], xmm0
movss xmm0, dword [edx + 0x4c]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
movss dword [edi + 0x5c], xmm0
movss xmm0, dword [edx + 0x50]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x60]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [edx + 0x54]
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
movzx eax, word [edx + 0x58]
add word [edi], ax
movzx eax, word [edx + 0x5c]
add word [edi + 2], ax
movzx eax, word [edx + 0x60]
add word [edi + 4], ax
movzx eax, word [edx + 0x64]
add word [edi + 6], ax
mov eax, dword [edx + 0x68]
add dword [edi + 0x20], eax
mov eax, dword [edx + 0x6c]
add dword [edi + 0x24], eax
mov eax, dword [edx + 0x70]
add dword [edi + 0x28], eax
mov eax, dword [edx + 0x74]
add dword [edi + 0x34], eax
mov ebx, dword [ebp + 8]
inc esi
mov dword [ebp - 0xc], esi
cmp si, 0x5e
jb 0x58cde0
movss xmm0, dword [edi + 0x50]
movss xmm1, dword [0x5e9138]
comiss xmm0, xmm1
jbe 0x58dcb4
mov dword [edi + 0x50], 0x42c80000
movss xmm0, dword [edi + 0x54]
comiss xmm0, xmm1
jbe 0x58dcc5
mov dword [edi + 0x54], 0x42c80000
movss xmm0, dword [edi + 0x58]
comiss xmm0, xmm1
jbe 0x58dcd6
mov dword [edi + 0x58], 0x42c80000
movss xmm0, dword [edi + 0x5c]
comiss xmm0, xmm1
jbe 0x58dce7
mov dword [edi + 0x5c], 0x42c80000
movss xmm0, dword [edi + 0x60]
comiss xmm0, xmm1
jbe 0x58dcf8
mov dword [edi + 0x60], 0x42c80000
movss xmm0, dword [edi + 0x64]
comiss xmm0, xmm1
jbe 0x58dd09
mov dword [edi + 0x64], 0x42c80000
cmp dword [0x630a98], 0
je 0x58dd27
mov ax, word [0x630a9c]
add word [edi], ax
add word [edi + 2], ax
add word [edi + 4], ax
add word [edi + 6], ax
push edi
mov ecx, 0x719650
call fcn.00563370
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0058dd70
mov ecx, esi
call fcn.0058e330
push ebx
mov ecx, esi
call fcn.0058cbe0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp - 0xc]
jmp 0x58dc8a
mov esi, dword [ebp - 0xc]
jmp 0x58dc8d