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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x134
push ebx
push esi
mov esi, ecx
fld dword [esi + 0x1a4]
mov ecx, dword [esi + 0xb4]
fld dword [0x68b858]
lea eax, [ecx + 0x10]
fcomp st(1)
mov dword [esp + 0x58], eax
push edi
mov dword [esp + 0x28], esi
fnstsw ax
test ah, 0x41
jne 0x460a2f
fstp st(0)
fld dword [0x68b858]
fmul dword [0x68c7c4]
mov al, byte [esi + 0xd4]
xor ebx, ebx
test al, al
fstp dword [esp + 0x38]
je 0x460a51
mov edx, dword [esi + 0x18c]
mov dword [esp + 0x10], edx
jmp 0x460a5d
fld dword [esi + 0x18c]
fchs
fstp dword [esp + 0x10]
mov dl, byte [esi + 0xd5]
test dl, dl
jne 0x460a79
test al, al
jne 0x460a79
mov eax, dword [ebp + 8]
movaps xmm1, xmmword [eax]
xorps xmm0, xmm0
subps xmm0, xmm1
jmp 0x460a7f
mov edx, dword [ebp + 8]
movaps xmm0, xmmword [edx]
lea eax, [esp + 0x40]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [eax]
lea eax, [esp + 0x3c]
push eax
lea edx, [esp + 0x94]
push edx
push ecx
movaps xmmword [esp + 0x9c], xmm0
mov dword [esp + 0x48], 0x3ec80000
call fcn.00459020
fstp st(0)
and dword [esi + 0x84], 0xfffffbf7
mov eax, dword [0x725c44]
mov edi, dword [eax]
add esp, 0xc
test edi, edi
mov dword [esp + 0x1c], edi
je 0x4612e2
mov esi, dword [eax + 8]
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x20], esi
js 0x460e3b
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0xb4]
cmp esi, ecx
je 0x460e3b
movaps xmm3, xmmword [esp + 0x90]
mov edx, dword [esp + 0x5c]
movaps xmm0, xmmword [edx + 0x30]
movaps xmm1, xmmword [esi + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm3
movaps xmm4, xmm3
shufps xmm4, xmm3, 0xc9
movaps xmm2, xmm1
mulps xmm2, xmm4
subps xmm2, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movaps xmmword [esp + 0xa0], xmm2
fld dword [esp + 0xa0]
movaps xmm0, xmm3
fcomp dword [0x68b4fc]
mulps xmm0, xmm1
movaps xmm5, xmm0
movaps xmm4, xmm0
shufps xmm5, xmm0, 0x55
movaps xmm2, xmm0
fnstsw ax
addss xmm2, xmm5
test ah, 5
shufps xmm4, xmm0, 0xaa
addss xmm2, xmm4
shufps xmm2, xmm2, 0
mulps xmm3, xmm2
subps xmm1, xmm3
mulps xmm1, xmm1
movaps xmm3, xmm1
movaps xmm2, xmm1
shufps xmm3, xmm1, 0x55
shufps xmm2, xmm1, 0xaa
addss xmm1, xmm3
addss xmm1, xmm2
jp 0x460bb6
movaps xmmword [esp + 0x40], xmm1
sqrtss xmm1, xmm1
movss dword [esp + 0x40], xmm1
movaps xmm1, xmmword [esp + 0x40]
movaps xmmword [esp + 0xb0], xmm1
lea eax, [esp + 0xb0]
jmp 0x460be0
movaps xmmword [esp + 0x40], xmm1
sqrtss xmm1, xmm1
movss dword [esp + 0x40], xmm1
movaps xmm2, xmmword [esp + 0x40]
xorps xmm1, xmm1
subss xmm1, xmm2
movaps xmmword [esp + 0x110], xmm1
lea eax, [esp + 0x110]
fld dword [eax]
movaps xmm1, xmm0
fadd dword [esp + 0x10]
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
fstp dword [esp + 0x18]
addss xmm0, xmm2
fld dword [ecx + 0x60]
addss xmm0, xmm1
fadd dword [esi + 0x60]
movaps xmmword [esp + 0x60], xmm0
fchs
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x460e3b
fld dword [esp + 0x60]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x460e3b
fld dword [esp + 0x18]
push 0
fsub dword [esp + 0x14]
lea eax, [esp + 0x94]
push eax
push esi
fstp dword [esp + 0x30]
call fcn.00459020
fstp dword [esp + 0x3c]
add esp, 0xc
fld dword [esp + 0x24]
fabs
fcomp dword [0x68b574]
fnstsw ax
test ah, 5
jp 0x460e3b
mov edx, dword [esi + 0x2a8]
test edx, edx
je 0x460d33
cmp word [edx + 0xc], 0xffff
je 0x460d33
movaps xmm0, xmmword [esi + 0x30]
mulps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x70], xmm0
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
fld dword [esp + 0x24]
fnstsw ax
fcomp dword [0x68b4fc]
test ah, 0x41
fnstsw ax
jne 0x460cd7
test ah, 1
mov ecx, 2
je 0x460ce6
mov ecx, 1
jmp 0x460ce6
test ah, 1
mov ecx, 1
je 0x460ce6
mov ecx, 2
or ecx, 8
push edx
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
mov dword [eax], ecx
push 2
lea ecx, [esp + 0x144]
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
cmp ebx, 5
jl 0x460d53
fld dword [esp + 0x60]
mov ecx, ebx
shl ecx, 4
fcomp dword [esp + ecx + 0xb8]
fnstsw ax
test ah, 5
jp 0x460e3b
xor edx, edx
cmp ebx, 4
jl 0x460da5
lea ecx, [esp + 0xd8]
fld dword [esp + 0x60]
fcomp dword [ecx - 0x10]
fnstsw ax
test ah, 5
jnp 0x460dd7
fld dword [esp + 0x60]
fcomp dword [ecx]
fnstsw ax
test ah, 5
jnp 0x460dcc
fld dword [esp + 0x60]
fcomp dword [ecx + 0x10]
fnstsw ax
test ah, 5
jnp 0x460dcf
fld dword [esp + 0x60]
fcomp dword [ecx + 0x20]
fnstsw ax
test ah, 5
jnp 0x460dd4
add edx, 4
lea eax, [ebx - 3]
add ecx, 0x40
cmp edx, eax
jl 0x460d61
cmp edx, ebx
jge 0x460dd7
mov ecx, edx
shl ecx, 4
lea ecx, [esp + ecx + 0xc8]
fld dword [esp + 0x60]
fcomp dword [ecx]
fnstsw ax
test ah, 5
jnp 0x460dd7
inc edx
add ecx, 0x10
cmp edx, ebx
jl 0x460db5
jmp 0x460dd7
inc edx
jmp 0x460dd7
add edx, 2
jmp 0x460dd7
add edx, 3
xor eax, eax
cmp ebx, 5
setl al
add ebx, eax
lea ecx, [ebx - 1]
cmp edx, ecx
jge 0x460e10
sub ecx, edx
mov eax, edx
shl eax, 4
shl ecx, 2
lea edi, [esp + eax + 0xd0]
lea esi, [esp + eax + 0xc0]
and ecx, 0x3ffffffc
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
fld dword [esp + 0x18]
shl edx, 4
fstp dword [esp + edx + 0xc4]
mov dword [esp + edx + 0xc0], esi
fld dword [esp + 0x60]
fstp dword [esp + edx + 0xc8]
fld dword [esp + 0x30]
fstp dword [esp + edx + 0xcc]
mov eax, edi
mov edi, dword [edi]
test edi, edi
mov dword [esp + 0x1c], edi
jne 0x460ad0
test ebx, ebx
je 0x4612e2
mov eax, dword [esp + 0x28]
fld dword [0x68b710]
mov ecx, dword [eax + 0x1bc]
mov edx, dword [eax + 0xb4]
mov eax, dword [edx + 0x60]
xor esi, esi
cmp ebx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0x40480000
jle 0x4612e0
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0xc4]
mov ebx, esi
mov eax, dword [ecx - 4]
fld dword [esp + 0x30]
fadd dword [eax + 0x60]
lea edx, [ecx - 4]
fcom dword [ecx + 4]
fnstsw ax
test ah, 0x41
jne 0x460eee
test edi, edi
je 0x460ed2
fld dword [ecx]
fsub dword [ecx + 8]
fld dword [edi + 4]
fsub dword [edi + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x460ed4
mov edi, edx
test ebx, ebx
je 0x460eec
fld dword [ecx + 8]
fadd dword [ecx]
fld dword [ebx + 0xc]
fadd dword [ebx + 4]
fcompp
fnstsw ax
test ah, 5
jp 0x460eee
mov ebx, edx
fcomp dword [ecx + 4]
fnstsw ax
test ah, 0x41
jp 0x460f5c
test esi, esi
je 0x460f10
fld dword [ecx]
fsub dword [ecx + 8]
fld dword [esi + 4]
fsub dword [esi + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x460f12
mov esi, edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x460f2e
fld dword [ecx + 8]
fadd dword [ecx]
fld dword [eax + 0xc]
fadd dword [eax + 4]
fcompp
fnstsw ax
test ah, 5
jp 0x460f32
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x460f5c
fld dword [ecx]
fsub dword [esp + 0x10]
fabs
fld dword [esp + 0x3c]
fadd dword [ecx + 8]
fadd dword [0x68b564]
fcompp
fnstsw ax
test ah, 0x41
jne 0x460f5c
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
add ecx, 0x10
dec eax
mov dword [esp + 0x1c], eax
jne 0x460ea3
test edi, edi
mov dword [esp + 0x38], esi
je 0x460fa5
fld dword [edi + 4]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x460fa5
fstp st(0)
fld dword [edi + 0xc]
fadd dword [edi + 4]
fadd dword [0x68b564]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x460fa5
fstp st(0)
fld dword [esp + 0x10]
test ebx, ebx
je 0x460fe0
fld dword [ebx + 4]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x460fe0
fld dword [ebx + 0xc]
fadd dword [0x68b564]
fsubr dword [ebx + 4]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x460fdc
mov ecx, dword [esp + 0x10]
fstp st(0)
mov dword [esp + 0x18], ecx
jmp 0x460fe0
fstp dword [esp + 0x18]
test esi, esi
je 0x4612e0
fld dword [esi + 4]
mov edx, dword [esp + 0x34]
fsub dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x84]
or eax, 8
fstp dword [esp + 0x20]
mov dword [ecx + 0x84], eax
fld dword [edx + 4]
xor edi, edi
fsub dword [esp + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x461087
fld dword [esp + 0x3c]
fadd dword [esi + 0xc]
fadd dword [0x68b564]
fsubr dword [esi + 4]
fst dword [esp + 0x14]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 1
jne 0x461089
fld dword [esp + 0x10]
mov eax, dword [esi]
fsub dword [esp + 0x14]
fadd dword [eax + 0x60]
fadd dword [esp + 0x30]
fcomp dword [esi + 8]
fnstsw ax
test ah, 5
jp 0x461089
fld dword [ecx + 0x1bc]
or edi, 0xffffffff
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x46116a
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
jmp 0x46116a
fstp st(0)
fld dword [esp + 0x1c]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x4610f8
fld dword [esp + 0x3c]
fadd dword [edx + 0xc]
fadd dword [0x68b564]
fadd dword [edx + 4]
fst dword [esp + 0x14]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
jp 0x4610f8
fld dword [esp + 0x14]
mov eax, dword [edx]
fsub dword [esp + 0x10]
fadd dword [eax + 0x60]
fadd dword [esp + 0x30]
fcomp dword [edx + 8]
fnstsw ax
test ah, 5
jp 0x4610f8
fld dword [ecx + 0x1bc]
mov edi, 1
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x46116a
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
jmp 0x46116a
fld dword [esp + 0x30]
fmul dword [0x68b584]
fcomp dword [esi + 8]
fnstsw ax
test ah, 5
jp 0x46116a
fld dword [esp + 0x1c]
fadd dword [esp + 0x20]
fmul dword [0x68b504]
fadd dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fsub dword [esp + 0x20]
fld dword [edx + 0xc]
fadd dword [esi + 0xc]
fadd dword [0x68b7fc]
fcompp
fnstsw ax
test ah, 5
jp 0x46116a
fld dword [esp + 0x14]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x46116a
fld dword [esp + 0x14]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jp 0x46116a
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov edi, 2
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4612c1
mov ecx, dword [esp + 0x5c]
movaps xmm1, xmmword [ecx + 0x20]
mov edx, eax
mov esi, dword [edx]
movaps xmm0, xmmword [esi + 0x80]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x40], xmm0
fld dword [esp + 0x40]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4611c2
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
jmp 0x4611ca
mov dword [esp + 0x18], 0
mov eax, dword [esi + 0x2a8]
xor ebx, ebx
cmp eax, ebx
je 0x461231
mov dword [esp + 0x70], 0x3f0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov ecx, dword [eax]
cmp ecx, ebx
je 0x461231
lea edx, [esp + 0x70]
push edx
push 0xb
push eax
call ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
add esp, 0xc
cmp eax, ebx
je 0x461235
or dword [ecx + 0x84], 0x400
jmp 0x461235
mov ecx, dword [esp + 0x28]
cmp edi, ebx
je 0x46125c
jge 0x461241
cmp edx, dword [esp + 0x38]
jne 0x46125c
cmp edi, ebx
jle 0x46124b
cmp edx, dword [esp + 0x34]
jne 0x46125c
fld dword [edx + 8]
mov eax, dword [ecx + 0xb4]
fsub dword [esi + 0x60]
fsub dword [eax + 0x60]
jmp 0x461271
fld dword [edx + 8]
mov edx, dword [ecx + 0xb4]
fsub dword [esi + 0x60]
fsub dword [edx + 0x60]
fsub dword [0x68b7fc]
fld dword [0x68b4fc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x461288
fstp st(0)
fld dword [0x68b4fc]
fmul dword [0x68c7c0]
fld dword [0x68b500]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4612a5
fstp st(0)
fld dword [0x68b500]
fld dword [ecx + 0x1a8]
fsub dword [esp + 0x18]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [ecx + 0x1a8]
mov ecx, dword [esp + 0x28]
fstp st(0)
fld dword [esp + 0x24]
fsub dword [ecx + 0x1bc]
fadd dword [ecx + 0x1bc]
fstp dword [ecx + 0x1bc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4