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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4de12b
mov eax, dword fs:[0]
push eax
sub esp, 0x864
mov eax, dword [0x511d60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp byte [edi + 0x90], 0
je 0x48c8f3
mov ecx, dword [edi + 0x6c]
mov eax, 0x76b981db
sub ecx, dword [edi + 0x68]
xor ebx, ebx
imul ecx
mov dword [ebp - 0x830], ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48c8e7
xorps xmm1, xmm1
jmp 0x48b360
mov ecx, dword [edi + 0x68]
lea eax, [ebp - 0x800]
imul esi, ebx, 0x228
add ecx, 0x110
push eax
lea eax, [ebp - 0x7f8]
movsd qword [ebp - 0x7f8], xmm1
push eax
movsd qword [ebp - 0x800], xmm1
add ecx, esi
movsd qword [ebp - 0x820], xmm1
call fcn.004333b0
mov ecx, dword [edi + 0x68]
lea eax, [ebp - 0x820]
add ecx, 0x110
push eax
add ecx, esi
call fcn.004334f0
mov eax, dword [edi + 0x68]
mov eax, dword [esi + eax + 4]
test eax, eax
je 0x48b419
lea ecx, [ebp - 0x7f0]
xorps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x7e8]
movsd qword [ebp - 0x7e8], xmm0
push ecx
push eax
mov ecx, edi
movsd qword [ebp - 0x7f0], xmm0
call fcn.00486540
movsd xmm3, qword [ebp - 0x7e8]
movsd xmm4, qword [ebp - 0x7f0]
addsd xmm3, qword [ebp - 0x7f8]
addsd xmm4, qword [ebp - 0x800]
movsd qword [ebp - 0x7f8], xmm3
movsd qword [ebp - 0x800], xmm4
jmp 0x48b429
movsd xmm3, qword [ebp - 0x7f8]
movsd xmm4, qword [ebp - 0x800]
mov ebx, dword [edi + 0x68]
xorps xmm6, xmm6
movsd xmm5, qword [esi + ebx + 0xf0]
ucomisd xmm5, xmm6
lahf
test ah, 0x44
jp 0x48b459
movsd xmm0, qword [esi + ebx + 0xf8]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jnp 0x48b4da
movsd xmm1, qword [esi + ebx + 0x100]
movsd xmm2, qword [edi + 0x58]
movsd xmm0, qword [esi + ebx + 0x108]
subsd xmm2, xmm1
subsd xmm0, xmm1
movsd xmm7, qword [0x4e0738]
divsd xmm2, xmm0
comisd xmm2, xmm7
ja 0x48b49b
comisd xmm6, xmm2
jbe 0x48b495
movaps xmm2, xmm6
jmp 0x48b49e
comisd xmm2, xmm7
jbe 0x48b49e
movaps xmm2, xmm7
movaps xmm1, xmm7
subsd xmm1, xmm2
mulsd xmm1, xmm1
mulsd xmm5, xmm1
addsd xmm5, xmm3
movaps xmm3, xmm5
movsd qword [ebp - 0x7f8], xmm3
movsd xmm0, qword [esi + ebx + 0xf8]
mulsd xmm0, xmm1
addsd xmm0, xmm4
movaps xmm4, xmm0
movsd qword [ebp - 0x800], xmm4
jmp 0x48b4e2
movsd xmm7, qword [0x4e0738]
mov eax, dword [esi + ebx + 0x38]
dec eax
cmp eax, 0xc
ja case.0x48b4f0.8
jmp dword [eax*4 + 0x48c910]
movsd xmm0, qword [esi + ebx + 0x10]
lea ecx, [ebx + 0x110]
addsd xmm0, xmm3
add ecx, esi
addsd xmm0, qword [edi + 0x1c0]
movsd qword [ebp - 0x810], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [ebp - 0x7f0], xmm0
call fcn.00433520
mov edx, dword [edi + 0x68]
fmul qword [esi + ebx + 0x70]
mov ecx, dword [esi + edx + 0x58]
fstp qword [ebp - 0x7e8]
test ecx, ecx
je case.0x48b4f0.8
movsd xmm0, qword [esi + edx + 0x30]
sub esp, 0x28
mov eax, dword [ecx]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebp - 0x7e8]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + edx + 0x60]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0x7f0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x810]
movsd qword [esp], xmm0
call dword [eax]
jmp case.0x48b4f0.8
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433520
fmul qword [esi + ebx + 0x70]
lea eax, [ebp - 0x858]
mov ecx, dword [edi + 0x68]
push eax
lea eax, [ebp - 0x838]
push eax
mov ecx, dword [esi + ecx + 0x58]
fstp qword [ebp - 0x7e8]
call fcn.00492a40
mov edx, dword [edi + 0x68]
movsd xmm1, qword [ebp - 0x838]
movsd xmm2, qword [ebp - 0x858]
movapd xmm5, xmm1
movsd xmm7, qword [ebp - 0x7e8]
movapd xmm6, xmm2
cmp byte [esi + edx + 0x78], 0
mulsd xmm5, xmm7
mulsd xmm6, xmm7
je 0x48b651
ucomisd xmm7, qword [0x4e0738]
lahf
test ah, 0x44
jnp 0x48b651
subsd xmm1, xmm5
subsd xmm2, xmm6
mulsd xmm1, qword [0x4e0730]
mulsd xmm2, qword [0x4e0730]
addsd xmm1, qword [ebp - 0x7f8]
addsd xmm2, qword [ebp - 0x800]
movsd qword [ebp - 0x7f8], xmm1
movsd qword [ebp - 0x800], xmm2
jmp 0x48b661
movsd xmm1, qword [ebp - 0x7f8]
movsd xmm2, qword [ebp - 0x800]
movsd xmm4, qword [esi + edx + 0x10]
movsd xmm3, qword [esi + edx + 0x18]
addsd xmm4, xmm1
movsd xmm0, qword [0x4e1128]
addsd xmm3, xmm2
addsd xmm4, qword [edi + 0x1c0]
addsd xmm3, qword [edi + 0x1c8]
comisd xmm0, xmm4
ja 0x48b6c2
movaps xmm0, xmm4
xorps xmm1, xmm1
addsd xmm0, xmm5
comisd xmm0, xmm1
jae 0x48b6c2
movsd xmm0, qword [0x4e1120]
comisd xmm0, xmm3
ja 0x48b6c2
movaps xmm0, xmm3
addsd xmm0, xmm6
comisd xmm0, xmm1
jb 0x48c8bb
movsd xmm0, qword [esi + edx + 0x30]
addsd xmm0, qword [ebp - 0x820]
mov ecx, dword [esi + edx + 0x58]
push 0
sub esp, 0x28
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + edx + 0x60]
mov ecx, dword [ecx + eax*4]
movsd qword [esp + 0x18], xmm7
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm3
movsd qword [esp], xmm4
call fcn.004937f0
jmp case.0x48b4f0.8
mov ecx, dword [esi + ebx + 0x224]
test ecx, ecx
je 0x48b736
call fcn.004073b0
movsd xmm3, qword [ebp - 0x7f8]
movsd xmm4, qword [ebp - 0x800]
mov ebx, dword [edi + 0x68]
mov ecx, dword [esi + ebx + 0x58]
test ecx, ecx
je case.0x48b4f0.8
cmp byte [esi + ebx + 0x90], 0
je 0x48b7b9
movups xmm0, xmmword [esi + ebx + 0xa8]
sub esp, 0x38
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [esi + ebx + 0x98]
movups xmmword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.00494160
jmp case.0x48b4f0.8
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433520
fmul qword [esi + ebx + 0x70]
lea eax, [ebp - 0x860]
mov ecx, dword [edi + 0x68]
push eax
lea eax, [ebp - 0x868]
push eax
mov ecx, dword [esi + ecx + 0x58]
fstp qword [ebp - 0x7f0]
call fcn.00492a40
mov ecx, dword [edi + 0x68]
movsd xmm1, qword [ebp - 0x868]
movsd xmm5, qword [ebp - 0x860]
movapd xmm6, xmm1
movsd xmm4, qword [ebp - 0x7f0]
movapd xmm7, xmm5
cmp byte [esi + ecx + 0x78], 0
mulsd xmm6, xmm4
mulsd xmm7, xmm4
je 0x48b864
ucomisd xmm4, qword [0x4e0738]
lahf
test ah, 0x44
jnp 0x48b864
subsd xmm1, xmm6
subsd xmm5, xmm7
mulsd xmm1, qword [0x4e0730]
mulsd xmm5, qword [0x4e0730]
addsd xmm1, qword [ebp - 0x7f8]
addsd xmm5, qword [ebp - 0x800]
movsd qword [ebp - 0x7f8], xmm1
movsd qword [ebp - 0x800], xmm5
jmp 0x48b874
movsd xmm1, qword [ebp - 0x7f8]
movsd xmm5, qword [ebp - 0x800]
movsd xmm2, qword [esi + ecx + 0x10]
xor edx, edx
movsd xmm3, qword [esi + ecx + 0x18]
addsd xmm2, xmm1
xorps xmm1, xmm1
addsd xmm3, xmm5
mov al, 1
movsd xmm5, qword [0x4e0738]
movzx eax, al
addsd xmm2, qword [edi + 0x1c0]
addsd xmm3, qword [edi + 0x1c8]
movapd xmm0, xmm2
movsd qword [ebp - 0x810], xmm2
addsd xmm0, xmm6
movsd qword [ebp - 0x7e8], xmm3
comisd xmm1, xmm0
movapd xmm0, xmm3
addsd xmm0, xmm7
cmova eax, edx
comisd xmm2, xmmword [0x4e1128]
movzx eax, al
cmovae eax, edx
comisd xmm1, xmm0
movzx eax, al
cmova eax, edx
movzx ebx, al
xor eax, eax
comisd xmm3, xmmword [0x4e1120]
cmovae ebx, eax
cmp dword [esi + ecx], eax
je 0x48b933
push dword [esi + ecx + 0x4c]
mov eax, dword [esi + ecx]
call eax
movsd xmm2, qword [ebp - 0x810]
add esp, 4
movsd xmm3, qword [ebp - 0x7e8]
xorps xmm1, xmm1
movsd xmm4, qword [ebp - 0x7f0]
fstp qword [ebp - 0x818]
movsd xmm5, qword [ebp - 0x818]
test bl, bl
je 0x48c8bb
mov ecx, dword [edi + 0x68]
movzx eax, byte [esi + ecx + 0x69]
movsd xmm0, qword [esi + ecx + 0x30]
addsd xmm0, qword [ebp - 0x820]
mov edx, dword [esi + ecx + 0x58]
push eax
sub esp, 0x28
mov dword [ebp - 0x808], edx
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ecx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x18], xmm4
mulsd xmm0, xmm5
mulsd xmm0, qword [esi + ecx + 0x80]
mov ecx, edx
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm3
movsd qword [esp], xmm2
call fcn.004937f0
mov ecx, dword [edi + 0x68]
add ecx, 0x110
add ecx, esi
call fcn.00433330
mov ebx, eax
test ebx, ebx
je case.0x48b4f0.8
jle case.0x48b4f0.8
mov edi, edi
mov ecx, dword [edi + 0x68]
add ecx, 0x110
add ecx, esi
call fcn.00433340
mov eax, dword [edi + 0x68]
mov ecx, dword [ebp - 0x808]
push 1
sub esp, 0x28
movsd xmm0, qword [esi + eax + 0x30]
addsd xmm0, qword [ebp - 0x820]
fstp qword [ebp - 0x818]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebp - 0x7f0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [ebp - 0x818]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0x7e8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x810]
movsd qword [esp], xmm0
call fcn.004937f0
dec ebx
jne 0x48b9c0
jmp case.0x48b4f0.8
cmp byte [esi + ebx + 8], 0
jne 0x48baba
mov ecx, dword [esi + ebx + 0xc8]
test ecx, ecx
je 0x48baba
movzx eax, byte [esi + ebx + 0x69]
movsd xmm0, qword [esi + ebx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esi + ebx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
jmp 0x48bc92
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433520
fmul qword [esi + ebx + 0x70]
mov ecx, dword [edi + 0x68]
cmp byte [esi + ecx + 0x78], 0
fstp qword [ebp - 0x7f0]
movsd xmm4, qword [ebp - 0x7f0]
je 0x48bb6e
ucomisd xmm4, qword [0x4e0738]
lahf
test ah, 0x44
jnp 0x48bb6e
mov ecx, dword [esi + ecx + 0x58]
lea eax, [ebp - 0x850]
push eax
lea eax, [ebp - 0x848]
push eax
call fcn.00492a40
movsd xmm2, qword [ebp - 0x848]
movsd xmm4, qword [ebp - 0x7f0]
movapd xmm0, xmm2
movsd xmm3, qword [ebp - 0x850]
mulsd xmm0, xmm4
subsd xmm2, xmm0
movapd xmm0, xmm3
mulsd xmm0, xmm4
mulsd xmm2, qword [0x4e0730]
subsd xmm3, xmm0
addsd xmm2, qword [ebp - 0x7f8]
mulsd xmm3, qword [0x4e0730]
movsd qword [ebp - 0x7f8], xmm2
addsd xmm3, qword [ebp - 0x800]
movsd qword [ebp - 0x800], xmm3
jmp 0x48bb7e
movsd xmm2, qword [ebp - 0x7f8]
movsd xmm3, qword [ebp - 0x800]
mov ecx, dword [edi + 0x68]
movzx eax, byte [esi + ecx + 0x69]
movsd xmm0, qword [esi + ecx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ecx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x18], xmm4
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ecx + 0x18]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ecx + 0x10]
mov ecx, dword [esi + ecx + 0x58]
addsd xmm0, xmm2
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.004937f0
mov edx, dword [edi + 0x68]
cmp byte [esi + edx + 8], 0
je 0x48bca4
mov ecx, dword [esi + edx + 0xcc]
xorps xmm1, xmm1
test ecx, ecx
je 0x48bca7
movsd xmm2, qword [esi + edx + 0xd8]
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jnp 0x48bca7
movzx eax, byte [esi + edx + 0x69]
movsd xmm0, qword [esi + edx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edx + 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esi + edx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, xmm2
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + edx + 0x18]
addsd xmm0, qword [ebp - 0x800]
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + edx + 0x10]
addsd xmm0, qword [ebp - 0x7f8]
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.004937f0
xorps xmm1, xmm1
mov edx, dword [edi + 0x68]
mov ecx, dword [esi + edx + 0xd0]
test ecx, ecx
je 0x48c8bb
movzx eax, byte [esi + edx + 0x69]
movsd xmm0, qword [esi + edx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + edx + 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esi + edx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + edx + 0x28]
addsd xmm0, qword [ebp - 0x800]
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + edx + 0x20]
addsd xmm0, qword [ebp - 0x7f8]
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.004937f0
jmp case.0x48b4f0.8
movsd xmm0, qword [esi + ebx + 0x30]
sub esp, 0x38
mov ecx, dword [esi + ebx + 0x58]
movsd qword [esp + 0x30], xmm7
movsd qword [esp + 0x28], xmm6
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp + 0x18], xmm6
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.00494160
mov ecx, dword [edi + 0x68]
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x840]
push eax
mov ecx, dword [esi + ecx + 0x58]
call fcn.00492a40
mov ecx, dword [edi + 0x68]
xorps xmm4, xmm4
movsd xmm0, qword [edi + 0x1d0]
push 0
sub esp, 0x28
mulsd xmm0, xmm0
movsd xmm3, qword [esi + ecx + 0x10]
movsd xmm2, qword [esi + ecx + 0xd8]
movapd xmm1, xmm3
addsd xmm3, qword [ebp - 0x840]
addsd xmm1, xmm2
movsd qword [esp + 0x20], xmm4
movsd xmm4, qword [0x4e0738]
movsd qword [esp + 0x18], xmm4
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ecx + 0x28]
subsd xmm3, xmm2
addsd xmm0, qword [esi + ecx + 0x18]
subsd xmm3, xmm1
addsd xmm0, qword [edi + 0x1c8]
mulsd xmm3, qword [esi + ecx + 0x30]
movsd qword [esp + 8], xmm0
addsd xmm3, xmm1
addsd xmm3, qword [esi + ecx + 0x20]
mov ecx, dword [esi + ecx + 0xd0]
addsd xmm3, qword [edi + 0x1c0]
movsd qword [esp], xmm3
call fcn.004937f0
jmp case.0x48b4f0.8
cmp byte [esi + ebx + 9], 0
je 0x48bed7
movzx eax, byte [esi + ebx + 0x69]
movsd xmm0, qword [esi + ebx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
mov ecx, dword [esi + ebx + 0x58]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.004937f0
jmp case.0x48b4f0.8
mov ecx, dword [esi + ebx + 0xc8]
test ecx, ecx
je case.0x48b4f0.8
movzx eax, byte [esi + ebx + 0x69]
movsd xmm0, qword [esi + ebx + 0x30]
addsd xmm0, qword [ebp - 0x820]
push eax
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
jmp 0x48bd20
cmp byte [esi + ebx + 8], 0
je case.0x48b4f0.8
movsd xmm0, qword [esi + ebx + 0x70]
sub esp, 0x28
mov ecx, dword [esi + ebx + 0x58]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x30]
addsd xmm0, qword [ebp - 0x820]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
movsd qword [esp], xmm0
call fcn.004940f0
jmp case.0x48b4f0.8
cmp byte [esi + ebx + 0x79], 0
movsd xmm0, qword [esi + ebx + 0x18]
mov ecx, dword [esi + ebx + 0x58]
addsd xmm0, xmm4
addsd xmm0, qword [edi + 0x1c8]
cvtpd2ps xmm0, xmm0
jne 0x48bfee
push 1
jmp 0x48bff0
push 0
sub esp, 8
movss dword [esp + 4], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.00481510
mov ecx, dword [edi + 0x68]
sub esp, 8
movsd xmm0, qword [esi + ecx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
mov ecx, dword [esi + ecx + 0x58]
movsd qword [esp], xmm0
call fcn.00481600
jmp case.0x48b4f0.8
movsd xmm0, qword [esi + ebx + 0x18]
sub esp, 8
addsd xmm0, xmm4
mov eax, dword [esi + ebx + 0x58]
addsd xmm0, qword [edi + 0x1c8]
cvtpd2ps xmm1, xmm0
movsd xmm0, qword [esi + ebx + 0x10]
addsd xmm0, xmm3
addsd xmm0, qword [edi + 0x1c0]
movss dword [eax + 0x54], xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x50], xmm0
mov ecx, dword [edi + 0x68]
movsd xmm0, qword [esi + ecx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
mov ecx, dword [esi + ecx + 0x58]
movsd qword [esp], xmm0
call fcn.00446510
jmp case.0x48b4f0.8
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
mulsd xmm0, qword [0x4e0760]
addsd xmm0, qword [0x4e0730]
call fcn.004c2551
movaps xmm0, xmmword [0x4e3790]
shl eax, 0x18
or eax, dword [esi + ebx + 0x88]
push eax
sub esp, 0x20
movups xmmword [esp + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [esp], xmm0
call fcn.00485f40
add esp, 0x24
jmp case.0x48b4f0.8
mov eax, dword [esi + ebx + 0x3c]
test eax, eax
je case.0x48b4f0.8
cmp byte [eax], 0
je case.0x48b4f0.8
mov eax, dword [esi + ebx + 0x58]
lea ecx, [ebx + 0x110]
add ecx, esi
mov dword [ebp - 0x804], eax
call fcn.00433520
fmul qword [esi + ebx + 0x70]
mov eax, dword [edi + 0x68]
cmp byte [esi + eax + 0x40], 0
mov ebx, dword [esi + eax + 0x3c]
fstp qword [ebp - 0x810]
je 0x48c1bb
mov ecx, dword [esi + eax + 0x44]
xorps xmm1, xmm1
test ecx, ecx
je 0x48c14f
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
jmp 0x48c176
movsd xmm3, qword [esi + eax + 0x20]
movsd xmm0, qword [0x4e77c8]
comisd xmm3, xmm0
jbe 0x48c176
movsd xmm2, qword [esi + eax + 0x10]
comisd xmm2, xmm0
jbe 0x48c176
movaps xmm1, xmm3
subsd xmm1, xmm2
lea ecx, [ebp - 0x7e0]
sub ecx, ebx
mov edi, edi
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [ebx + ecx - 1], al
test al, al
jne 0x48c180
movsd xmm0, qword [ebp - 0x810]
lea eax, [ebp - 0x7e0]
mov ecx, dword [ebp - 0x804]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
push eax
call fcn.00434630
lea ebx, [ebp - 0x7e0]
push ebx
mov ecx, edi
call fcn.0048c950
mov dword [ebp - 0x808], eax
cmp eax, 1
jle 0x48c616
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 4], 0
sub ecx, ebx
nop
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [ebx + ecx - 1], al
test al, al
jne 0x48c200
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x814], eax
lea ecx, [ebp - 0x82c]
lea eax, [ebp - 0x814]
push eax
call fcn.0049cf80
cmp byte [ebp - 0x3f8], 0
lea ebx, [ebp - 0x3f8]
je 0x48c269
lea ebx, [ebx]
cmp byte [ebx], 0xa
jne 0x48c263
lea eax, [ebx + 1]
mov byte [ebx], 0
mov dword [ebp - 0x814], eax
lea ecx, [ebp - 0x82c]
lea eax, [ebp - 0x814]
push eax
call fcn.0049cf80
inc ebx
cmp byte [ebx], 0
jne 0x48c240
mov edx, dword [ebp - 0x804]
mov ecx, dword [ebp - 0x808]
mov ebx, dword [edi + 0x68]
dec ecx
movsd xmm1, qword [ebp - 0x810]
mov eax, dword [edx + 0x20]
imul eax, dword [ebp - 0x808]
movsd xmm3, qword [esi + ebx + 0x28]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
shr eax, 0x1f
addsd xmm2, qword [eax*8 + 0x4e0770]
mov eax, dword [edx + 0x1c]
imul eax, ecx
mulsd xmm2, xmm1
movd xmm0, eax
mov eax, dword [esi + ebx + 0x48]
cvtdq2pd xmm0, xmm0
imul eax, ecx
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x7f0], xmm0
movsd xmm0, qword [0x4e77c8]
comisd xmm0, xmm3
jbe 0x48c308
movsd xmm2, qword [esi + ebx + 0x18]
comisd xmm2, xmm0
jbe 0x48c3c8
movsd qword [ebp - 0x7f0], xmm2
jmp 0x48c3c8
movsd xmm1, qword [esi + ebx + 0x18]
comisd xmm0, xmm1
jbe 0x48c328
movaps xmm0, xmm3
subsd xmm0, xmm2
movsd qword [ebp - 0x7f0], xmm0
jmp 0x48c3c0
movsd xmm0, qword [esi + ebx + 0x70]
ucomisd xmm0, qword [0x4e0738]
lahf
test ah, 0x44
jp 0x48c3a0
cmp byte [esi + ebx + 0x1f8], 0
jne 0x48c3a0
movsd xmm0, qword [esi + ebx + 0x28]
sub esp, 8
addsd xmm0, qword [esi + ebx + 0x18]
mulsd xmm2, qword [0x4e0730]
mulsd xmm0, qword [0x4e0730]
subsd xmm0, xmm2
movsd qword [ebp - 0x7e8], xmm0
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004c2dd0
mov edx, dword [ebp - 0x804]
add esp, 8
fstp qword [ebp - 0x7e8]
movsd xmm0, qword [ebp - 0x7e8]
movsd qword [ebp - 0x7f0], xmm0
jmp 0x48c3c0
mulsd xmm2, qword [0x4e0730]
addsd xmm1, xmm3
mulsd xmm1, qword [0x4e0730]
subsd xmm1, xmm2
movsd qword [ebp - 0x7f0], xmm1
movsd xmm1, qword [ebp - 0x810]
mov ebx, dword [ebp - 0x828]
xor eax, eax
mov ecx, dword [ebp - 0x82c]
sub ebx, ecx
sar ebx, 2
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x814], ebx
test ebx, ebx
je 0x48c5db
nop
sub esp, 8
movsd qword [esp], xmm1
push dword [ecx + eax*4]
mov ecx, edx
call fcn.00434110
mov ebx, dword [edi + 0x68]
xorps xmm1, xmm1
movsd xmm3, qword [0x4e77c8]
fstp qword [ebp - 0x7e8]
movsd xmm2, qword [esi + ebx + 0x20]
comisd xmm3, xmm2
jbe 0x48c43a
movsd xmm0, qword [esi + ebx + 0x10]
comisd xmm0, xmm3
jbe 0x48c4e8
movaps xmm1, xmm0
jmp 0x48c4e8
movsd xmm1, qword [esi + ebx + 0x10]
comisd xmm3, xmm1
jbe 0x48c456
movaps xmm1, xmm2
subsd xmm1, qword [ebp - 0x7e8]
jmp 0x48c4e8
movsd xmm0, qword [esi + ebx + 0x70]
ucomisd xmm0, qword [0x4e0738]
lahf
test ah, 0x44
jp 0x48c4c8
cmp byte [esi + ebx + 0x1f8], 0
jne 0x48c4c8
movsd xmm1, qword [esi + ebx + 0x10]
sub esp, 8
addsd xmm1, qword [esi + ebx + 0x20]
movsd xmm2, qword [0x4e0730]
movsd xmm0, qword [ebp - 0x7e8]
mulsd xmm0, xmm2
mulsd xmm1, xmm2
subsd xmm1, xmm0
movsd qword [ebp - 0x7e8], xmm1
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004c2dd0
fstp qword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x7e8]
add esp, 8
jmp 0x48c4e8
movsd xmm0, qword [ebp - 0x7e8]
addsd xmm1, xmm2
movsd xmm2, qword [0x4e0730]
mulsd xmm0, xmm2
mulsd xmm1, xmm2
subsd xmm1, xmm0
cmp byte [esi + ebx + 0x69], 0
addsd xmm1, qword [ebp - 0x7f8]
movsd xmm0, qword [ebp - 0x810]
mov eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x82c]
addsd xmm1, qword [edi + 0x1c0]
je 0x48c517
push 0
jmp 0x48c519
push 0xffffffffffffffff
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + ebx + 0x60]
mulsd xmm0, qword [edi + 0x1d0]
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x7f0]
addsd xmm0, qword [ebp - 0x800]
push dword [ecx + eax*4]
mov ecx, dword [ebp - 0x804]
sub esp, 0x10
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.004345d0
mov edx, dword [ebp - 0x804]
fstp st(0)
mov ecx, dword [ebp - 0x82c]
mov eax, dword [edx + 0x20]
add eax, dword [edx + 0x1c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4e0770]
mov eax, dword [edi + 0x68]
movd xmm0, dword [esi + eax + 0x48]
mulsd xmm1, qword [ebp - 0x810]
mov eax, dword [ebp - 0x808]
cvtdq2pd xmm0, xmm0
inc eax
mov dword [ebp - 0x808], eax
addsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x7f0]
movsd qword [ebp - 0x7f0], xmm1
movsd xmm1, qword [ebp - 0x810]
cmp eax, dword [ebp - 0x814]
jb 0x48c3f0
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je case.0x48b4f0.8
push ecx
call fcn.004c0d5b
add esp, 4
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
jmp case.0x48b4f0.8
movsd xmm0, qword [ebp - 0x810]
sub esp, 8
mov ecx, dword [ebp - 0x804]
movsd qword [esp], xmm0
push ebx
call fcn.00434110
movsd xmm0, qword [ebp - 0x810]
sub esp, 8
mov ecx, dword [ebp - 0x804]
fstp qword [ebp - 0x7e8]
movsd qword [esp], xmm0
call fcn.004340e0
mov ecx, dword [edi + 0x68]
xorps xmm0, xmm0
movsd xmm5, qword [0x4e77c8]
movsd xmm6, qword [0x4e0738]
fstp qword [ebp - 0x818]
movsd xmm3, qword [esi + ecx + 0x20]
comisd xmm5, xmm3
movsd qword [ebp - 0x7f0], xmm0
jbe 0x48c6a8
movsd xmm0, qword [esi + ecx + 0x10]
comisd xmm0, xmm5
movsd xmm1, qword [0x4e0730]
jbe 0x48c785
movsd qword [ebp - 0x7f0], xmm0
jmp 0x48c785
movsd xmm1, qword [esi + ecx + 0x10]
comisd xmm5, xmm1
jbe 0x48c6d4
movsd xmm1, qword [0x4e0730]
movaps xmm0, xmm3
subsd xmm0, qword [ebp - 0x7e8]
movsd qword [ebp - 0x7f0], xmm0
jmp 0x48c785
movsd xmm0, qword [esi + ecx + 0x70]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x48c75d
cmp byte [esi + ecx + 0x1f8], 0
jne 0x48c75d
movsd xmm0, qword [ebp - 0x7e8]
addsd xmm3, xmm1
mulsd xmm0, qword [0x4e0730]
sub esp, 8
mulsd xmm3, qword [0x4e0730]
subsd xmm3, xmm0
movsd qword [ebp - 0x7e8], xmm3
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004c2dd0
movsd xmm1, qword [0x4e0730]
add esp, 8
movsd xmm5, qword [0x4e77c8]
movsd xmm6, qword [0x4e0738]
mov ecx, dword [edi + 0x68]
fstp qword [ebp - 0x7e8]
movsd xmm0, qword [ebp - 0x7e8]
movsd qword [ebp - 0x7f0], xmm0
jmp 0x48c785
movsd xmm0, qword [ebp - 0x7e8]
addsd xmm3, xmm1
movsd xmm1, qword [0x4e0730]
mulsd xmm0, xmm1
mulsd xmm3, xmm1
subsd xmm3, xmm0
movsd qword [ebp - 0x7f0], xmm3
movsd xmm3, qword [esi + ecx + 0x28]
xorps xmm4, xmm4
comisd xmm5, xmm3
movapd xmm2, xmm4
jbe 0x48c7b1
movsd xmm0, qword [esi + ecx + 0x18]
comisd xmm0, xmm5
jbe 0x48c843
movapd xmm2, xmm0
jmp 0x48c843
movsd xmm2, qword [esi + ecx + 0x18]
comisd xmm5, xmm2
jbe 0x48c7ca
movaps xmm2, xmm3
subsd xmm2, qword [ebp - 0x818]
jmp 0x48c843
movsd xmm0, qword [esi + ecx + 0x70]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x48c82b
cmp byte [esi + ecx + 0x1f8], 0
jne 0x48c82b
movsd xmm0, qword [ebp - 0x818]
addsd xmm2, xmm3
mulsd xmm0, xmm1
sub esp, 8
mulsd xmm2, xmm1
subsd xmm2, xmm0
movsd qword [ebp - 0x7e8], xmm2
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004c2dd0
mov ecx, dword [edi + 0x68]
add esp, 8
fstp qword [ebp - 0x7e8]
movsd xmm2, qword [ebp - 0x7e8]
jmp 0x48c843
movsd xmm0, qword [ebp - 0x818]
addsd xmm2, xmm3
mulsd xmm0, xmm1
mulsd xmm2, xmm1
subsd xmm2, xmm0
cmp byte [esi + ecx + 0x69], 0
addsd xmm2, qword [ebp - 0x800]
movsd xmm0, qword [ebp - 0x810]
addsd xmm2, qword [edi + 0x1c8]
je 0x48c866
push 0
jmp 0x48c868
push 0xffffffffffffffff
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ecx + 0x60]
mov ecx, dword [ebp - 0x804]
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x7f0]
addsd xmm0, qword [ebp - 0x7f8]
push ebx
sub esp, 0x10
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
call fcn.004345d0
fstp st(0)
xorps xmm1, xmm1
mov ecx, dword [edi + 0x6c]
mov eax, 0x76b981db
sub ecx, dword [edi + 0x68]
mov ebx, dword [ebp - 0x830]
imul ecx
inc ebx
sar edx, 8
mov eax, edx
mov dword [ebp - 0x830], ebx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x48b360
mov eax, dword [edi + 0x94]
test eax, eax
je 0x48c8f3
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c1624
mov esp, ebp
pop ebp
ret