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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd0bb
mov eax, dword fs:[0]
push eax
sub esp, 0x864
mov eax, dword [0x4fdb40]
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 0x4845ee
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 0x4845e2
xorps xmm6, xmm6
jmp 0x483130
mov ecx, dword [edi + 0x68]
lea eax, [ebp - 0x804]
imul esi, ebx, 0x228
add ecx, 0x110
push eax
lea eax, [ebp - 0x7fc]
movsd qword [ebp - 0x7fc], xmm6
push eax
movsd qword [ebp - 0x804], xmm6
add ecx, esi
movsd qword [ebp - 0x820], xmm6
call fcn.00433210
mov ecx, dword [edi + 0x68]
lea eax, [ebp - 0x820]
add ecx, 0x110
push eax
add ecx, esi
call fcn.00433350
mov eax, dword [edi + 0x68]
mov eax, dword [esi + eax + 4]
test eax, eax
je 0x4831e9
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.0047e430
movsd xmm3, qword [ebp - 0x7e8]
movsd xmm4, qword [ebp - 0x7f0]
addsd xmm3, qword [ebp - 0x7fc]
addsd xmm4, qword [ebp - 0x804]
movsd qword [ebp - 0x7fc], xmm3
movsd qword [ebp - 0x804], xmm4
jmp 0x4831f9
movsd xmm3, qword [ebp - 0x7fc]
movsd xmm4, qword [ebp - 0x804]
mov ebx, dword [edi + 0x68]
xorps xmm6, xmm6
movsd xmm5, qword [esi + ebx + 0xf0]
ucomisd xmm5, xmm6
lahf
test ah, 0x44
jp 0x483229
movsd xmm0, qword [esi + ebx + 0xf8]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jnp 0x4832aa
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 [0x4cf6d8]
divsd xmm2, xmm0
comisd xmm2, xmm7
ja 0x48326b
comisd xmm6, xmm2
jbe 0x483265
movaps xmm2, xmm6
jmp 0x48326e
comisd xmm2, xmm7
jbe 0x48326e
movaps xmm2, xmm7
movaps xmm1, xmm7
subsd xmm1, xmm2
mulsd xmm1, xmm1
mulsd xmm5, xmm1
addsd xmm5, xmm3
movaps xmm3, xmm5
movsd qword [ebp - 0x7fc], xmm3
movsd xmm0, qword [esi + ebx + 0xf8]
mulsd xmm0, xmm1
addsd xmm0, xmm4
movaps xmm4, xmm0
movsd qword [ebp - 0x804], xmm4
jmp 0x4832b2
movsd xmm7, qword [0x4cf6d8]
mov eax, dword [esi + ebx + 0x38]
dec eax
cmp eax, 0xa
ja case.0x4832c0.8
jmp dword [eax*4 + 0x48460c]
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433380
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.0048a440
mov edx, dword [edi + 0x68]
movsd xmm1, qword [ebp - 0x838]
movsd xmm2, qword [ebp - 0x858]
movapd xmm4, xmm1
movsd xmm7, qword [ebp - 0x7e8]
movapd xmm5, xmm2
cmp byte [esi + edx + 0x78], 0
mulsd xmm4, xmm7
mulsd xmm5, xmm7
je 0x483372
ucomisd xmm7, qword [0x4cf6d8]
lahf
test ah, 0x44
jnp 0x483372
subsd xmm1, xmm4
subsd xmm2, xmm5
mulsd xmm1, qword [0x4cf6d0]
mulsd xmm2, qword [0x4cf6d0]
addsd xmm1, qword [ebp - 0x7fc]
addsd xmm2, qword [ebp - 0x804]
movsd qword [ebp - 0x7fc], xmm1
movsd qword [ebp - 0x804], xmm2
jmp 0x483382
movsd xmm1, qword [ebp - 0x7fc]
movsd xmm2, qword [ebp - 0x804]
movsd xmm3, qword [esi + edx + 0x10]
movsd xmm0, qword [0x4d0110]
addsd xmm3, xmm1
movsd xmm1, qword [esi + edx + 0x18]
addsd xmm1, xmm2
addsd xmm3, qword [edi + 0x1c0]
addsd xmm1, qword [edi + 0x1c8]
comisd xmm0, xmm3
ja 0x4833e3
movaps xmm0, xmm3
xorps xmm6, xmm6
addsd xmm0, xmm4
comisd xmm0, xmm6
jae 0x4833e3
movsd xmm0, qword [0x4d0098]
comisd xmm0, xmm1
ja 0x4833e3
movaps xmm0, xmm1
addsd xmm0, xmm5
comisd xmm0, xmm6
jb case.0x4832c0.8
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], xmm1
movsd qword [esp], xmm3
call fcn.0048b1f0
jmp 0x4845b3
mov ecx, dword [esi + ebx + 0x58]
test ecx, ecx
je case.0x4832c0.8
cmp byte [esi + ebx + 0x90], 0
je 0x4834b7
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.0048bb60
jmp 0x4845b3
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433380
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.0048a440
mov ecx, dword [edi + 0x68]
movsd xmm2, qword [ebp - 0x868]
movsd xmm4, qword [ebp - 0x860]
movapd xmm5, xmm2
movsd xmm3, qword [ebp - 0x7f0]
movapd xmm7, xmm4
cmp byte [esi + ecx + 0x78], 0
mulsd xmm5, xmm3
mulsd xmm7, xmm3
je 0x483562
ucomisd xmm3, qword [0x4cf6d8]
lahf
test ah, 0x44
jnp 0x483562
subsd xmm2, xmm5
subsd xmm4, xmm7
mulsd xmm2, qword [0x4cf6d0]
mulsd xmm4, qword [0x4cf6d0]
addsd xmm2, qword [ebp - 0x7fc]
addsd xmm4, qword [ebp - 0x804]
movsd qword [ebp - 0x7fc], xmm2
movsd qword [ebp - 0x804], xmm4
jmp 0x483572
movsd xmm2, qword [ebp - 0x7fc]
movsd xmm4, qword [ebp - 0x804]
movsd xmm1, qword [esi + ecx + 0x10]
xor edx, edx
addsd xmm1, xmm2
xorps xmm6, xmm6
movsd xmm2, qword [esi + ecx + 0x18]
mov al, 1
addsd xmm2, xmm4
movzx eax, al
movsd xmm4, qword [0x4cf6d8]
addsd xmm1, qword [edi + 0x1c0]
addsd xmm2, qword [edi + 0x1c8]
movapd xmm0, xmm1
movsd qword [ebp - 0x810], xmm1
addsd xmm0, xmm5
movsd qword [ebp - 0x7e8], xmm2
comisd xmm6, xmm0
movapd xmm0, xmm2
addsd xmm0, xmm7
cmova eax, edx
comisd xmm1, xmmword [0x4d5b18]
movzx eax, al
cmova eax, edx
comisd xmm6, xmm0
movzx eax, al
cmova eax, edx
movzx ebx, al
xor eax, eax
comisd xmm2, xmmword [0x4d5b10]
cmova ebx, eax
cmp dword [esi + ecx], eax
je 0x483631
push dword [esi + ecx + 0x4c]
mov eax, dword [esi + ecx]
call eax
movsd xmm1, qword [ebp - 0x810]
add esp, 4
movsd xmm2, qword [ebp - 0x7e8]
xorps xmm6, xmm6
movsd xmm3, qword [ebp - 0x7f0]
fstp qword [ebp - 0x818]
movsd xmm4, qword [ebp - 0x818]
test bl, bl
je case.0x4832c0.8
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], xmm3
mulsd xmm0, xmm4
mulsd xmm0, qword [esi + ecx + 0x80]
mov ecx, edx
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm1
call fcn.0048b1f0
mov ecx, dword [edi + 0x68]
add ecx, 0x110
add ecx, esi
call fcn.00433190
mov ebx, eax
test ebx, ebx
je 0x4845b3
jle 0x4845b3
lea esp, [esp]
mov ecx, dword [edi + 0x68]
add ecx, 0x110
add ecx, esi
call fcn.004331a0
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 [edi + 0x1d0]
mulsd xmm0, qword [ebp - 0x818]
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.0048b1f0
dec ebx
jne 0x4836c0
jmp 0x4845b3
cmp byte [esi + ebx + 8], 0
jne 0x4837ba
mov ecx, dword [esi + ebx + 0xc8]
test ecx, ecx
je 0x4837ba
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 0x483992
lea ecx, [ebx + 0x110]
add ecx, esi
call fcn.00433380
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 0x48386e
ucomisd xmm4, qword [0x4cf6d8]
lahf
test ah, 0x44
jnp 0x48386e
mov ecx, dword [esi + ecx + 0x58]
lea eax, [ebp - 0x850]
push eax
lea eax, [ebp - 0x848]
push eax
call fcn.0048a440
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 [0x4cf6d0]
subsd xmm3, xmm0
addsd xmm2, qword [ebp - 0x7fc]
mulsd xmm3, qword [0x4cf6d0]
movsd qword [ebp - 0x7fc], xmm2
addsd xmm3, qword [ebp - 0x804]
movsd qword [ebp - 0x804], xmm3
jmp 0x48387e
movsd xmm2, qword [ebp - 0x7fc]
movsd xmm3, qword [ebp - 0x804]
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.0048b1f0
mov edx, dword [edi + 0x68]
cmp byte [esi + edx + 8], 0
je 0x4839a4
mov ecx, dword [esi + edx + 0xcc]
xorps xmm6, xmm6
test ecx, ecx
je 0x4839a7
movsd xmm1, qword [esi + edx + 0xd8]
ucomisd xmm1, xmm6
lahf
test ah, 0x44
jnp 0x4839a7
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, xmm1
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + edx + 0x18]
addsd xmm0, qword [ebp - 0x804]
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + edx + 0x10]
addsd xmm0, qword [ebp - 0x7fc]
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.0048b1f0
xorps xmm6, xmm6
mov edx, dword [edi + 0x68]
mov ecx, dword [esi + edx + 0xd0]
test ecx, ecx
je case.0x4832c0.8
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 - 0x804]
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + edx + 0x20]
addsd xmm0, qword [ebp - 0x7fc]
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp], xmm0
call fcn.0048b1f0
jmp 0x4845b3
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.0048bb60
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.0048a440
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 [0x4cf6d8]
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.0048b1f0
jmp 0x4845b3
cmp byte [esi + ebx + 9], 0
je 0x483bd7
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.0048b1f0
jmp 0x4845b3
mov ecx, dword [esi + ebx + 0xc8]
test ecx, ecx
je case.0x4832c0.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 0x483a20
cmp byte [esi + ebx + 8], 0
je case.0x4832c0.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.0048baf0
jmp 0x4845b3
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 0x483cee
push 1
jmp 0x483cf0
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.00479990
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.00479a80
jmp 0x4845b3
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.00445a90
jmp 0x4845b3
movsd xmm0, qword [edi + 0x1d0]
mulsd xmm0, qword [esi + ebx + 0x60]
mulsd xmm0, qword [0x4cf700]
addsd xmm0, qword [0x4cf6d0]
call fcn.004b1db1
movaps xmm0, xmmword [0x4d2380]
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.0047de30
add esp, 0x24
jmp 0x4845b3
mov eax, dword [esi + ebx + 0x3c]
test eax, eax
je case.0x4832c0.8
cmp byte [eax], 0
je case.0x4832c0.8
mov eax, dword [esi + ebx + 0x58]
lea ecx, [ebx + 0x110]
add ecx, esi
mov dword [ebp - 0x7f4], eax
call fcn.00433380
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 0x483ebb
mov ecx, dword [esi + eax + 0x44]
xorps xmm4, xmm4
test ecx, ecx
je 0x483e4f
movd xmm4, ecx
cvtdq2pd xmm4, xmm4
jmp 0x483e76
movsd xmm2, qword [esi + eax + 0x20]
movsd xmm0, qword [0x4d5b20]
comisd xmm2, xmm0
jbe 0x483e76
movsd xmm1, qword [esi + eax + 0x10]
comisd xmm1, xmm0
jbe 0x483e76
movaps xmm4, xmm2
subsd xmm4, xmm1
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 0x483e80
movsd xmm0, qword [ebp - 0x810]
lea eax, [ebp - 0x7e0]
mov ecx, dword [ebp - 0x7f4]
sub esp, 0x10
movsd qword [esp + 8], xmm4
movsd qword [esp], xmm0
push eax
call fcn.00434450
lea ebx, [ebp - 0x7e0]
push ebx
mov ecx, edi
call fcn.00484640
mov dword [ebp - 0x808], eax
cmp eax, 1
jle 0x484316
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 0x483f00
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x814], eax
lea ecx, [ebp - 0x82c]
lea eax, [ebp - 0x814]
push eax
call fcn.0048def0
cmp byte [ebp - 0x3f8], 0
lea ebx, [ebp - 0x3f8]
je 0x483f69
lea ebx, [ebx]
cmp byte [ebx], 0xa
jne 0x483f63
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.0048def0
inc ebx
cmp byte [ebx], 0
jne 0x483f40
mov edx, dword [ebp - 0x7f4]
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 + 0x4cf710]
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 [0x4d5b20]
comisd xmm0, xmm3
jbe 0x484008
movsd xmm2, qword [esi + ebx + 0x18]
comisd xmm2, xmm0
jbe 0x4840bf
movsd qword [ebp - 0x7f0], xmm2
jmp 0x4840bf
movsd xmm4, qword [esi + ebx + 0x18]
comisd xmm0, xmm4
jbe 0x48401c
movaps xmm0, xmm3
jmp 0x4840b3
movsd xmm0, qword [esi + ebx + 0x70]
ucomisd xmm0, qword [0x4cf6d8]
lahf
test ah, 0x44
jp 0x484094
cmp byte [esi + ebx + 0x1f8], 0
jne 0x484094
movsd xmm0, qword [esi + ebx + 0x28]
sub esp, 8
addsd xmm0, qword [esi + ebx + 0x18]
mulsd xmm2, qword [0x4cf6d0]
mulsd xmm0, qword [0x4cf6d0]
subsd xmm0, xmm2
movsd qword [ebp - 0x7e8], xmm0
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004b2610
movsd xmm1, qword [ebp - 0x810]
add esp, 8
mov edx, dword [ebp - 0x7f4]
fstp qword [ebp - 0x7e8]
movsd xmm0, qword [ebp - 0x7e8]
jmp 0x4840b7
mulsd xmm2, qword [0x4cf6d0]
movaps xmm0, xmm3
movsd xmm1, qword [ebp - 0x810]
addsd xmm0, xmm4
mulsd xmm0, qword [0x4cf6d0]
subsd xmm0, xmm2
movsd qword [ebp - 0x7f0], xmm0
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 0x4842db
jmp 0x4840f0
sub esp, 8
movsd qword [esp], xmm1
push dword [ecx + eax*4]
mov ecx, edx
call fcn.00433f30
mov ebx, dword [edi + 0x68]
xorps xmm1, xmm1
movsd xmm3, qword [0x4d5b20]
fstp qword [ebp - 0x7e8]
movsd xmm2, qword [esi + ebx + 0x20]
comisd xmm3, xmm2
jbe 0x48413a
movsd xmm0, qword [esi + ebx + 0x10]
comisd xmm0, xmm3
jbe 0x4841e8
movaps xmm1, xmm0
jmp 0x4841e8
movsd xmm1, qword [esi + ebx + 0x10]
comisd xmm3, xmm1
jbe 0x484156
movaps xmm1, xmm2
subsd xmm1, qword [ebp - 0x7e8]
jmp 0x4841e8
movsd xmm0, qword [esi + ebx + 0x70]
ucomisd xmm0, qword [0x4cf6d8]
lahf
test ah, 0x44
jp 0x4841c8
cmp byte [esi + ebx + 0x1f8], 0
jne 0x4841c8
movsd xmm1, qword [esi + ebx + 0x20]
sub esp, 8
addsd xmm1, qword [esi + ebx + 0x10]
movsd xmm0, qword [ebp - 0x7e8]
mulsd xmm0, qword [0x4cf6d0]
mulsd xmm1, qword [0x4cf6d0]
subsd xmm1, xmm0
movsd qword [ebp - 0x7e8], xmm1
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004b2610
fstp qword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x7e8]
add esp, 8
jmp 0x4841e8
movsd xmm0, qword [ebp - 0x7e8]
addsd xmm1, xmm2
mulsd xmm0, qword [0x4cf6d0]
mulsd xmm1, qword [0x4cf6d0]
subsd xmm1, xmm0
cmp byte [esi + ebx + 0x69], 0
addsd xmm1, qword [ebp - 0x7fc]
movsd xmm0, qword [ebp - 0x810]
mov eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x82c]
addsd xmm1, qword [edi + 0x1c0]
je 0x484217
push 0
jmp 0x484219
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 - 0x804]
push dword [ecx + eax*4]
mov ecx, dword [ebp - 0x7f4]
sub esp, 0x10
addsd xmm0, qword [edi + 0x1c8]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.004343f0
mov edx, dword [ebp - 0x7f4]
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 + 0x4cf710]
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 0x4840f0
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x4845b3
push ecx
call fcn.004b05b7
add esp, 4
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
jmp 0x4845b3
movsd xmm0, qword [ebp - 0x810]
sub esp, 8
mov ecx, dword [ebp - 0x7f4]
movsd qword [esp], xmm0
push ebx
call fcn.00433f30
movsd xmm0, qword [ebp - 0x810]
sub esp, 8
mov ecx, dword [ebp - 0x7f4]
fstp qword [ebp - 0x7e8]
movsd qword [esp], xmm0
call fcn.00433f00
mov ecx, dword [edi + 0x68]
xorps xmm0, xmm0
movsd xmm4, qword [0x4d5b20]
movsd xmm5, qword [0x4cf6d8]
fstp qword [ebp - 0x818]
movsd xmm1, qword [esi + ecx + 0x20]
comisd xmm4, xmm1
movsd qword [ebp - 0x7f0], xmm0
jbe 0x4843a8
movsd xmm0, qword [esi + ecx + 0x10]
comisd xmm0, xmm4
movsd xmm3, qword [0x4cf6d0]
jbe 0x484485
movsd qword [ebp - 0x7f0], xmm0
jmp 0x484485
movsd xmm2, qword [esi + ecx + 0x10]
comisd xmm4, xmm2
jbe 0x4843d4
movsd xmm3, qword [0x4cf6d0]
movaps xmm0, xmm1
subsd xmm0, qword [ebp - 0x7e8]
movsd qword [ebp - 0x7f0], xmm0
jmp 0x484485
movsd xmm0, qword [esi + ecx + 0x70]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jp 0x48445d
cmp byte [esi + ecx + 0x1f8], 0
jne 0x48445d
movsd xmm0, qword [ebp - 0x7e8]
addsd xmm2, xmm1
mulsd xmm0, qword [0x4cf6d0]
sub esp, 8
mulsd xmm2, qword [0x4cf6d0]
subsd xmm2, xmm0
movsd qword [ebp - 0x7e8], xmm2
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004b2610
movsd xmm3, qword [0x4cf6d0]
add esp, 8
movsd xmm4, qword [0x4d5b20]
movsd xmm5, qword [0x4cf6d8]
mov ecx, dword [edi + 0x68]
fstp qword [ebp - 0x7e8]
movsd xmm0, qword [ebp - 0x7e8]
movsd qword [ebp - 0x7f0], xmm0
jmp 0x484485
movsd xmm3, qword [0x4cf6d0]
addsd xmm2, xmm1
movsd xmm0, qword [ebp - 0x7e8]
mulsd xmm0, xmm3
mulsd xmm2, xmm3
subsd xmm2, xmm0
movsd qword [ebp - 0x7f0], xmm2
movsd xmm2, qword [esi + ecx + 0x28]
xorps xmm1, xmm1
comisd xmm4, xmm2
jbe 0x4844ac
movsd xmm0, qword [esi + ecx + 0x18]
comisd xmm0, xmm4
jbe 0x48453e
movaps xmm1, xmm0
jmp 0x48453e
movsd xmm1, qword [esi + ecx + 0x18]
comisd xmm4, xmm1
jbe 0x4844c5
movaps xmm1, xmm2
subsd xmm1, qword [ebp - 0x818]
jmp 0x48453e
movsd xmm0, qword [esi + ecx + 0x70]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jp 0x484526
cmp byte [esi + ecx + 0x1f8], 0
jne 0x484526
movsd xmm0, qword [ebp - 0x818]
addsd xmm1, xmm2
mulsd xmm0, xmm3
sub esp, 8
mulsd xmm1, xmm3
subsd xmm1, xmm0
movsd qword [ebp - 0x7e8], xmm1
fld qword [ebp - 0x7e8]
fstp qword [esp]
call fcn.004b2610
mov ecx, dword [edi + 0x68]
add esp, 8
fstp qword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x7e8]
jmp 0x48453e
movsd xmm0, qword [ebp - 0x818]
addsd xmm1, xmm2
mulsd xmm0, xmm3
mulsd xmm1, xmm3
subsd xmm1, xmm0
cmp byte [esi + ecx + 0x69], 0
addsd xmm1, qword [ebp - 0x804]
movsd xmm0, qword [ebp - 0x810]
addsd xmm1, qword [edi + 0x1c8]
je 0x484561
push 0
jmp 0x484563
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 - 0x7f4]
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x7f0]
addsd xmm0, qword [ebp - 0x7fc]
push ebx
sub esp, 0x10
addsd xmm0, qword [edi + 0x1c0]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.004343f0
fstp st(0)
xorps xmm6, xmm6
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 0x483130
mov eax, dword [edi + 0x94]
test eax, eax
je 0x4845ee
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.004b0e84
mov esp, ebp
pop ebp
ret