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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
fld qword [0x49a900]
sub esp, 0x74
fsub qword [0x49a8c0]
push ebx
fld qword [0x49a908]
push esi
fsub qword [0x49a8c8]
push edi
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46f9e1
fstp st(0)
jmp 0x46f9e3
fstp st(1)
fst qword [esp + 0x58]
fld qword [0x48b260]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x46fa0b
fcomp qword [0x48b3a8]
fnstsw ax
test ah, 5
jnp 0x46fa0d
fld1
fstp qword [esp + 0x58]
jmp 0x46fa0d
fstp st(0)
xor esi, esi
cmp dword [0x49a0b0], esi
mov dword [esp + 0x24], esi
jle 0x46ffd5
nop
mov eax, dword [0x49a0ac]
cmp byte [esi + eax + 0x58], 0
mov ebx, dword [esi + eax]
mov edi, dword [0x49a084]
mov edx, dword [esi + eax + 4]
lea ecx, [ebx + ebx*4]
fld qword [edi + ecx*8]
lea ecx, [edi + ecx*8]
fld qword [ecx + 8]
lea ecx, [edx + edx*4]
fld qword [edi + ecx*8]
lea ecx, [edi + ecx*8]
mov edi, dword [esi + eax + 0x60]
fstp qword [esp + 0x70]
fld qword [ecx + 8]
mov dword [esp + 0x20], edx
fstp qword [esp + 0x78]
fld qword [esi + eax + 8]
fst qword [esp + 0x60]
fld qword [esi + eax + 0x10]
fst qword [esp + 0x68]
fld qword [esi + eax + 0x50]
fstp qword [esp + 0x38]
fsubp st(2)
fsubp st(2)
fxch st(1)
je 0x46fd1e
call sub.MSVCR90.dll__CIatan2
fstp qword [esp + 0x50]
fld qword [esp + 0x78]
fsub qword [esp + 0x68]
fld qword [esp + 0x70]
fsub qword [esp + 0x60]
call sub.MSVCR90.dll__CIatan2
fldz
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
fld qword [0x488fd8]
test ah, 5
jp 0x46fab8
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x46fac9
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x46fad8
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x48b260]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x46fafa
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x46fafc
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x48b468]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fb1d
fstp st(1)
fst qword [esp + 0x40]
jmp 0x46fb1f
fstp st(0)
fsub st(2), st(0)
fxch st(2)
fst qword [esp + 0x50]
fxch st(2)
faddp st(1)
fst qword [esp + 0x28]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46fc25
fstp st(1)
jmp 0x46fb42
fstp st(0)
call sub.MSVCR90.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR90.dll__CIsin
fmul qword [esp + 0x38]
mov edx, dword [0x48b3c0]
push edx
fadd qword [esp + 0x6c]
sub esp, 0x10
fst qword [esp + 0x5c]
fstp qword [esp + 8]
fld qword [esp + 0x44]
fstp qword [esp]
call fcn.0045a8d0
fld qword [0x49a900]
mov ecx, eax
fld qword [esp + 0x44]
add esp, 0x14
fcom st(1)
mov dword [esp + 0x1c], ecx
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fba8
fstp qword [0x49a900]
jmp 0x46fbc1
fld qword [0x49a8c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fbbf
fstp qword [0x49a8c0]
jmp 0x46fbc1
fstp st(0)
fld qword [0x49a908]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fbde
fstp qword [0x49a908]
jmp 0x46fbf7
fld qword [0x49a8c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fbf5
fstp qword [0x49a8c8]
jmp 0x46fbf7
fstp st(0)
push edi
push ecx
push ebx
call fcn.0045a9c0
fld qword [esp + 0x34]
fadd qword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
add esp, 0xc
fst qword [esp + 0x28]
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fb40
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x480950]
faddp st(1)
fst qword [esp + 0x28]
call sub.MSVCR90.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR90.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x48b3c0]
push eax
fadd qword [esp + 0x6c]
sub esp, 0x10
fst qword [esp + 0x5c]
fstp qword [esp + 8]
fld qword [esp + 0x44]
fstp qword [esp]
call fcn.0045a8d0
fld qword [0x49a900]
mov ecx, eax
fld qword [esp + 0x44]
add esp, 0x14
fcom st(1)
mov dword [esp + 0x1c], ecx
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fc9a
fstp qword [0x49a900]
jmp 0x46fcb3
fld qword [0x49a8c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fcb1
fstp qword [0x49a8c0]
jmp 0x46fcb3
fstp st(0)
fld qword [0x49a908]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fce1
push edi
fstp qword [0x49a908]
push ecx
push ebx
call fcn.0045a9c0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x46ff9f
fld qword [0x49a8c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fd09
push edi
fstp qword [0x49a8c8]
push ecx
push ebx
call fcn.0045a9c0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x46ff9f
push edi
fstp st(0)
push ecx
push ebx
call fcn.0045a9c0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x46ff9f
mov dword [esp + 0x20], edx
call sub.MSVCR90.dll__CIatan2
fstp qword [esp + 0x50]
fld qword [esp + 0x78]
fsub qword [esp + 0x68]
fld qword [esp + 0x70]
fsub qword [esp + 0x60]
call sub.MSVCR90.dll__CIatan2
fldz
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
fld qword [0x488fd8]
test ah, 5
jp 0x46fd57
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x46fd68
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x46fd77
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x48b260]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x46fd99
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x46fd9b
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x48b468]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fdbc
fstp st(1)
fst qword [esp + 0x40]
jmp 0x46fdbe
fstp st(0)
fld st(0)
faddp st(2)
fxch st(1)
fst qword [esp + 0x50]
fxch st(2)
fsubrp st(1)
fst qword [esp + 0x28]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x46fecd
fstp st(1)
jmp 0x46fde3
fstp st(0)
call sub.MSVCR90.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR90.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x48b3c0]
push eax
fadd qword [esp + 0x6c]
sub esp, 0x10
fst qword [esp + 0x5c]
fstp qword [esp + 8]
fld qword [esp + 0x44]
fstp qword [esp]
call fcn.0045a8d0
fld qword [0x49a900]
mov ecx, eax
fld qword [esp + 0x44]
add esp, 0x14
fcom st(1)
mov dword [esp + 0x1c], ecx
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fe48
fstp qword [0x49a900]
jmp 0x46fe61
fld qword [0x49a8c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fe5f
fstp qword [0x49a8c0]
jmp 0x46fe61
fstp st(0)
fld qword [0x49a908]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46fe7e
fstp qword [0x49a908]
jmp 0x46fe97
fld qword [0x49a8c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46fe95
fstp qword [0x49a8c8]
jmp 0x46fe97
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0045a9c0
fld qword [esp + 0x34]
fsub qword [esp + 0x4c]
mov edx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x20], edx
fst qword [esp + 0x28]
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x46fde1
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x480950]
faddp st(1)
fst qword [esp + 0x28]
call sub.MSVCR90.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR90.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x48b3c0]
push eax
fadd qword [esp + 0x6c]
sub esp, 0x10
fst qword [esp + 0x5c]
fstp qword [esp + 8]
fld qword [esp + 0x44]
fstp qword [esp]
call fcn.0045a8d0
fld qword [0x49a900]
mov ecx, eax
fld qword [esp + 0x44]
add esp, 0x14
fcom st(1)
mov dword [esp + 0x1c], ecx
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46ff42
fstp qword [0x49a900]
jmp 0x46ff5b
fld qword [0x49a8c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46ff59
fstp qword [0x49a8c0]
jmp 0x46ff5b
fstp st(0)
fld qword [0x49a908]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46ff78
fstp qword [0x49a908]
jmp 0x46ff91
fld qword [0x49a8c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x46ff8f
fstp qword [0x49a8c8]
jmp 0x46ff91
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0045a9c0
push edi
push ebx
mov edx, dword [esp + 0x30]
push edx
call fcn.0045a9c0
mov eax, dword [esp + 0x3c]
inc eax
add esp, 0x18
add esi, 0x68
cmp eax, dword [0x49a0b0]
mov dword [esp + 0x24], eax
jl 0x46fa20
mov dword [0x49a0b0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0x49a0b0], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret