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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
fld qword [0x77af10]
sub esp, 0x74
fsub qword [0x77aed0]
push ebx
fld qword [0x77af18]
push esi
fsub qword [0x77aed8]
push edi
fcom st(1)
fnstsw ax
test ah, 5
jp 0x526d01
fstp st(0)
jmp 0x526d03
fstp st(1)
fst qword [esp + 0x58]
fld qword [0x57d1c0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x526d2b
fcomp qword [0x583f58]
fnstsw ax
test ah, 5
jnp 0x526d2d
fld1
fstp qword [esp + 0x58]
jmp 0x526d2d
fstp st(0)
xor esi, esi
mov dword [esp + 0x24], esi
cmp dword [0x5f4100], esi
jle 0x5272f5
nop
mov eax, dword [0x5f40fc]
cmp byte [esi + eax + 0x58], 0
mov ebx, dword [esi + eax]
mov edi, dword [0x5f40d4]
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 0x52703e
call sub.MSVCR100.dll__CIatan2
fstp qword [esp + 0x50]
fld qword [esp + 0x78]
fsub qword [esp + 0x68]
fld qword [esp + 0x70]
fsub qword [esp + 0x60]
call sub.MSVCR100.dll__CIatan2
fldz
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
fld qword [0x57b8f0]
test ah, 5
jp 0x526dd8
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x526de9
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x526df8
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x57d1c0]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x526e1a
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x526e1c
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x583fc8]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x526e3d
fstp st(1)
fst qword [esp + 0x40]
jmp 0x526e3f
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 0x526f45
fstp st(1)
jmp 0x526e62
fstp st(0)
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x38]
mov edx, dword [0x583f6c]
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.00510580
fld qword [0x77af10]
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 0x526ec8
fstp qword [0x77af10]
jmp 0x526ee1
fld qword [0x77aed0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x526edf
fstp qword [0x77aed0]
jmp 0x526ee1
fstp st(0)
fld qword [0x77af18]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x526efe
fstp qword [0x77af18]
jmp 0x526f17
fld qword [0x77aed8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x526f15
fstp qword [0x77aed8]
jmp 0x526f17
fstp st(0)
push edi
push ecx
push ebx
call fcn.00510670
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 0x526e60
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x57b6c0]
faddp st(1)
fst qword [esp + 0x28]
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x583f6c]
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.00510580
fld qword [0x77af10]
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 0x526fba
fstp qword [0x77af10]
jmp 0x526fd3
fld qword [0x77aed0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x526fd1
fstp qword [0x77aed0]
jmp 0x526fd3
fstp st(0)
fld qword [0x77af18]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x527001
push edi
fstp qword [0x77af18]
push ecx
push ebx
call fcn.00510670
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x5272bf
fld qword [0x77aed8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x527029
push edi
fstp qword [0x77aed8]
push ecx
push ebx
call fcn.00510670
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x5272bf
push edi
fstp st(0)
push ecx
push ebx
call fcn.00510670
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x5272bf
mov dword [esp + 0x20], edx
call sub.MSVCR100.dll__CIatan2
fstp qword [esp + 0x50]
fld qword [esp + 0x78]
fsub qword [esp + 0x68]
fld qword [esp + 0x70]
fsub qword [esp + 0x60]
call sub.MSVCR100.dll__CIatan2
fldz
fld qword [esp + 0x50]
fcom st(1)
fnstsw ax
fld qword [0x57b8f0]
test ah, 5
jp 0x527077
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x527088
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x527097
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x57d1c0]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x5270b9
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x5270bb
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x583fc8]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x5270dc
fstp st(1)
fst qword [esp + 0x40]
jmp 0x5270de
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 0x5271ed
fstp st(1)
jmp 0x527103
fstp st(0)
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x583f6c]
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.00510580
fld qword [0x77af10]
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 0x527168
fstp qword [0x77af10]
jmp 0x527181
fld qword [0x77aed0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x52717f
fstp qword [0x77aed0]
jmp 0x527181
fstp st(0)
fld qword [0x77af18]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x52719e
fstp qword [0x77af18]
jmp 0x5271b7
fld qword [0x77aed8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5271b5
fstp qword [0x77aed8]
jmp 0x5271b7
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00510670
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 0x527101
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x57b6c0]
faddp st(1)
fst qword [esp + 0x28]
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0x38]
fadd qword [esp + 0x60]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x38]
mov eax, dword [0x583f6c]
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.00510580
fld qword [0x77af10]
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 0x527262
fstp qword [0x77af10]
jmp 0x52727b
fld qword [0x77aed0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x527279
fstp qword [0x77aed0]
jmp 0x52727b
fstp st(0)
fld qword [0x77af18]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x527298
fstp qword [0x77af18]
jmp 0x5272b1
fld qword [0x77aed8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5272af
fstp qword [0x77aed8]
jmp 0x5272b1
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00510670
push edi
push ebx
mov edx, dword [esp + 0x30]
push edx
call fcn.00510670
mov eax, dword [esp + 0x3c]
inc eax
add esp, 0x18
add esi, 0x68
mov dword [esp + 0x24], eax
cmp eax, dword [0x5f4100]
jl 0x526d40
mov dword [0x5f4100], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0x5f4100], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret