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

Disassembly:
fld dword [esp + 0x1c]
sub esp, 0x50
fcomp qword [0x5cc530]
fnstsw ax
test ah, 0x41
jne 0x4ed57c
mov dword [esp + 0x6c], 0x42b40000
fld dword [esp + 0x68]
mov eax, dword [esp + 0x58]
fadd dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
push ebx
sub eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
fmul dword [0x5b7bac]
cdq
xor eax, edx
fstp dword [esp + 0x18]
sub eax, edx
fld dword [esp + 0x70]
mov dword [esp + 0xc], eax
fadd dword [0x5b7bb8]
mov eax, dword [esp + 0x60]
sub eax, ecx
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x44]
push ebp
fld dword [esp + 0x1c]
mov ebp, dword [esp + 0x5c]
fcomp dword [esp + 0x48]
mov dword [esp + 0x44], eax
push esi
push edi
mov dword [esp + 0x10], ecx
fnstsw ax
test ah, 5
jp 0x4ed926
fild dword [esp + 0x18]
fld st(0)
fmul st(1)
fmul qword [0x5cc528]
fstp qword [esp + 0x58]
fstp st(0)
fild dword [esp + 0x4c]
fstp dword [esp + 0x40]
fild dword [esp + 0x18]
fstp dword [esp + 0x3c]
fild dword [esp + 0x68]
fstp dword [esp + 0x44]
fild dword [esp + 0x6c]
fstp dword [esp + 0x48]
jmp 0x4ed620
test ebp, ebp
fld dword [esp + 0x10]
fmul dword [0x5c91c8]
fld st(0)
fcos
fld st(1)
fptan
fstp st(0)
fmul dword [esp + 0x3c]
fsubr dword [esp + 0x40]
fmul st(1)
fmul st(1)
fdivr qword [esp + 0x58]
fchs
fsqrt
fstp dword [esp + 0x64]
fxch st(1)
fsin
fstp dword [esp + 0x20]
fmul dword [esp + 0x64]
fstp dword [esp + 0x38]
jle 0x4ed66a
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x38]
fld dword [esp + 0x20]
mov dword [esp + 0x7c], 0
fmul dword [esp + 0x64]
fstp dword [esp + 0x54]
mov edi, edi
fld dword [esp + 0x7c]
fmul dword [esp + 0x38]
fadd dword [esp + 0x44]
call fcn.00591008
fld dword [esp + 0x7c]
fmul dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x20], esi
fmul dword [str.fff_]
fmul dword [0x5b7bac]
fld dword [esp + 0x7c]
fmul dword [esp + 0x54]
fsubp st(1)
fadd dword [esp + 0x48]
call fcn.00591008
push eax
push esi
mov ecx, 0x85ed68
mov dword [esp + 0x24], eax
call fcn.00551760
test eax, eax
jne 0x4ed909
push ebx
mov ecx, 0x71d4b4
call fcn.004baac0
mov eax, dword [eax + 0xae88]
cmp eax, 1
jne 0x4ed7fd
fild dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
push ebx
sub esp, 8
fstp dword [esp + 4]
mov ecx, 0x71d4b4
fild dword [esp + 0x30]
fstp dword [esp]
call fcn.004be160
test al, al
je 0x4ed8ea
mov eax, dword [esp + 0x14]
push eax
mov ecx, 0x71d4b4
call fcn.004baac0
mov edi, eax
lea esi, [edi + 0x94]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4ed746
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x70]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
xor cl, al
xor dl, al
mov byte [esp + 0x28], cl
mov cl, byte [esi + 6]
mov byte [esp + 0x29], dl
mov dl, byte [esi + 7]
xor cl, al
xor dl, al
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2b], dl
fld dword [esp + 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4ed8ea
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4ed79d
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x74]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
xor cl, al
xor dl, al
mov byte [esp + 0x2c], cl
mov cl, byte [esi + 6]
mov byte [esp + 0x2d], dl
mov dl, byte [esi + 7]
xor cl, al
xor dl, al
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], dl
fld dword [esp + 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4ed8ea
fld dword [esp + 0x64]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
fstp dword [edx]
fld dword [esp + 0x10]
pop edi
pop esi
fstp dword [eax]
pop ebp
mov al, 1
pop ebx
add esp, 0x50
ret
test eax, eax
jne 0x4ed8ea
fild dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
push ebx
sub esp, 8
fstp dword [esp + 4]
mov ecx, 0x71d4b4
fild dword [esp + 0x30]
fstp dword [esp]
call fcn.004be440
test al, al
je 0x4ed8ea
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, 0x71d4b4
call fcn.004baac0
mov edi, eax
lea esi, [edi + 0x94]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4ed85b
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x70]
mov dl, byte [esi + 4]
mov cl, byte [esi + 5]
xor dl, al
xor cl, al
mov byte [esp + 0x30], dl
mov dl, byte [esi + 6]
mov byte [esp + 0x31], cl
mov cl, byte [esi + 7]
xor dl, al
xor cl, al
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], cl
fld dword [esp + 0x30]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4ed8ea
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4ed8ae
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x74]
mov dl, byte [esi + 4]
mov cl, byte [esi + 5]
xor dl, al
xor cl, al
mov byte [esp + 0x34], dl
mov dl, byte [esi + 6]
mov byte [esp + 0x35], cl
mov cl, byte [esi + 7]
xor dl, al
xor cl, al
mov byte [esp + 0x36], dl
mov byte [esp + 0x37], cl
fld dword [esp + 0x34]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4edb6d
fld dword [esp + 0x7c]
fadd dword [0x5b7bb8]
fst dword [esp + 0x7c]
fcomp dword [0x5b8a30]
fnstsw ax
test ah, 5
jnp 0x4ed680
fld dword [esp + 0x10]
fadd dword [0x5b7bb8]
fst dword [esp + 0x10]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 5
jnp 0x4ed620
fld dword [esp + 0x24]
fsub dword [0x5b7bb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [0x5b7bb8]
fstp dword [esp + 0x50]
fld dword [esp + 0x10]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 0x41
jne 0x4edcba
fild dword [esp + 0x18]
fld st(0)
fmul st(1)
fmul qword [0x5cc528]
fstp qword [esp + 0x58]
fstp st(0)
fild dword [esp + 0x4c]
fstp dword [esp + 0x40]
fild dword [esp + 0x18]
fstp dword [esp + 0x3c]
fild dword [esp + 0x68]
fstp dword [esp + 0x44]
fild dword [esp + 0x6c]
fstp dword [esp + 0x48]
lea esp, [esp]
test ebp, ebp
fld dword [esp + 0x10]
fmul dword [0x5c91c8]
fld st(0)
fcos
fld st(1)
fptan
fstp st(0)
fmul dword [esp + 0x3c]
fsubr dword [esp + 0x40]
fmul st(1)
fmul st(1)
fdivr qword [esp + 0x58]
fchs
fsqrt
fstp dword [esp + 0x64]
fxch st(1)
fsin
fstp dword [esp + 0x54]
fmul dword [esp + 0x64]
fstp dword [esp + 0x38]
jle 0x4ed9da
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x38]
fld dword [esp + 0x54]
mov dword [esp + 0x7c], 0
fmul dword [esp + 0x64]
fstp dword [esp + 0x54]
mov edi, edi
fld dword [esp + 0x38]
fmul dword [esp + 0x7c]
fadd dword [esp + 0x44]
call fcn.00591008
fld dword [esp + 0x7c]
fmul dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x20], esi
fmul dword [str.fff_]
fmul dword [0x5b7bac]
fld dword [esp + 0x54]
fmul dword [esp + 0x7c]
fsubp st(1)
fadd dword [esp + 0x48]
call fcn.00591008
push eax
push esi
mov ecx, 0x85ed68
mov dword [esp + 0x24], eax
call fcn.00551760
test eax, eax
jne 0x4edc9d
push ebx
mov ecx, 0x71d4b4
call fcn.004baac0
mov eax, dword [eax + 0xae88]
cmp eax, 1
jne 0x4edb91
fild dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
push ebx
sub esp, 8
fstp dword [esp + 4]
mov ecx, 0x71d4b4
fild dword [esp + 0x30]
fstp dword [esp]
call fcn.004be160
test al, al
je 0x4edc7e
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, 0x71d4b4
call fcn.004baac0
mov edi, eax
lea esi, [edi + 0x94]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4edab6
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x70]
mov dl, byte [esi + 4]
mov cl, byte [esi + 5]
xor dl, al
xor cl, al
mov byte [esp + 0x68], dl
mov dl, byte [esi + 6]
mov byte [esp + 0x69], cl
mov cl, byte [esi + 7]
xor dl, al
xor cl, al
mov byte [esp + 0x6a], dl
mov byte [esp + 0x6b], cl
fld dword [esp + 0x68]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4edc7e
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4edb0d
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x74]
mov dl, byte [esi + 4]
mov cl, byte [esi + 5]
xor dl, al
xor cl, al
mov byte [esp + 0x6c], dl
mov dl, byte [esi + 6]
mov byte [esp + 0x6d], cl
mov cl, byte [esi + 7]
xor dl, al
xor cl, al
mov byte [esp + 0x6e], dl
mov byte [esp + 0x6f], cl
fld dword [esp + 0x6c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4edc7e
mov eax, dword [esp + 0x80]
fld dword [esp + 0x64]
mov ecx, dword [esp + 0x84]
fstp dword [eax]
fld dword [esp + 0x10]
pop edi
pop esi
fstp dword [ecx]
pop ebp
mov al, 1
pop ebx
add esp, 0x50
ret
fld dword [esp + 0x64]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
fstp dword [ecx]
fld dword [esp + 0x10]
pop edi
pop esi
fstp dword [edx]
pop ebp
mov al, 1
pop ebx
add esp, 0x50
ret
test eax, eax
jne 0x4edc7e
fild dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
push ebx
sub esp, 8
fstp dword [esp + 4]
mov ecx, 0x71d4b4
fild dword [esp + 0x30]
fstp dword [esp]
call fcn.004be440
test al, al
je 0x4edc7e
mov eax, dword [esp + 0x14]
push eax
mov ecx, 0x71d4b4
call fcn.004baac0
mov edi, eax
lea esi, [edi + 0x94]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4edbef
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x70]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
xor cl, al
xor dl, al
mov byte [esp + 0x78], cl
mov cl, byte [esi + 6]
mov byte [esp + 0x79], dl
mov dl, byte [esi + 7]
xor cl, al
xor dl, al
mov byte [esp + 0x7a], cl
mov byte [esp + 0x7b], dl
fld dword [esp + 0x78]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4edc7e
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00415bb0
test al, al
jne 0x4edc42
mov dword [0], 1
mov al, byte [esi + 0xc]
fild dword [esp + 0x74]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
xor cl, al
xor dl, al
mov byte [esp + 0x34], cl
mov cl, byte [esi + 6]
mov byte [esp + 0x35], dl
mov dl, byte [esi + 7]
xor cl, al
xor dl, al
mov byte [esp + 0x36], cl
mov byte [esp + 0x37], dl
fld dword [esp + 0x34]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4ed7d9
fld dword [esp + 0x7c]
fadd dword [0x5b7bb8]
fst dword [esp + 0x7c]
fcomp dword [0x5b8a30]
fnstsw ax
test ah, 5
jnp 0x4ed9f0
fld dword [esp + 0x10]
fsub dword [0x5b7bb8]
fst dword [esp + 0x10]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 0x41
je 0x4ed990
fild dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x84]
fmul dword [0x5c91c8]
pop edi
pop esi
pop ebp
fld st(0)
fcos
xor al, al
pop ebx
fstp dword [esp + 0x60]
fld st(1)
fmul st(2)
fmul qword [0x5cc528]
fild dword [esp + 0x3c]
fxch st(2)
fptan
fstp st(0)
fstp st(3)
fild dword [esp + 8]
fmulp st(3)
fxch st(2)
fsubp st(1)
fmul dword [esp + 0x60]
fmul dword [esp + 0x60]
fdivp st(1)
fchs
fsqrt
fstp dword [ecx]
fld dword [esp + 0x14]
fstp dword [edx]
add esp, 0x50
ret