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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
fld qword [0xd34600]
sub esp, 0x74
fsub qword [0xd345c0]
push ebx
fld qword [0xd34608]
push esi
fsub qword [0xd345c8]
push edi
fcom st(1)
fnstsw ax
test ah, 5
jp 0x457501
fstp st(0)
jmp 0x457503
fstp st(1)
fst qword [esp + 0x58]
fld qword [0x4b5878]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x45752b
fcomp qword [0x4b5c20]
fnstsw ax
test ah, 5
jnp 0x45752d
fld1
fstp qword [esp + 0x58]
jmp 0x45752d
fstp st(0)
xor esi, esi
mov dword [esp + 0x24], esi
cmp dword [0xd2d2a0], esi
jle 0x457af5
nop
mov eax, dword [0xd2d29c]
cmp byte [esi + eax + 0x58], 0
mov ebx, dword [esi + eax]
mov edi, dword [0xd2d274]
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 0x45783e
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 [0x4b5ae0]
test ah, 5
jp 0x4575d8
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x4575e9
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4575f8
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x4b5878]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x45761a
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x45761c
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x4b5d00]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x45763d
fstp st(1)
fst qword [esp + 0x40]
jmp 0x45763f
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 0x457745
fstp st(1)
jmp 0x457662
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 [0x4b5c58]
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.004404e0
fld qword [0xd34600]
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 0x4576c8
fstp qword [0xd34600]
jmp 0x4576e1
fld qword [0xd345c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4576df
fstp qword [0xd345c0]
jmp 0x4576e1
fstp st(0)
fld qword [0xd34608]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4576fe
fstp qword [0xd34608]
jmp 0x457717
fld qword [0xd345c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x457715
fstp qword [0xd345c8]
jmp 0x457717
fstp st(0)
push edi
push ecx
push ebx
call fcn.004405d0
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 0x457660
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x4b05c8]
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 [0x4b5c58]
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.004404e0
fld qword [0xd34600]
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 0x4577ba
fstp qword [0xd34600]
jmp 0x4577d3
fld qword [0xd345c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4577d1
fstp qword [0xd345c0]
jmp 0x4577d3
fstp st(0)
fld qword [0xd34608]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x457801
push edi
fstp qword [0xd34608]
push ecx
push ebx
call fcn.004405d0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x457abf
fld qword [0xd345c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x457829
push edi
fstp qword [0xd345c8]
push ecx
push ebx
call fcn.004405d0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x457abf
push edi
fstp st(0)
push ecx
push ebx
call fcn.004405d0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x457abf
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 [0x4b5ae0]
test ah, 5
jp 0x457877
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x457888
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x457897
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x4b5878]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x4578b9
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x4578bb
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x4b5d00]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x4578dc
fstp st(1)
fst qword [esp + 0x40]
jmp 0x4578de
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 0x4579ed
fstp st(1)
jmp 0x457903
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 [0x4b5c58]
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.004404e0
fld qword [0xd34600]
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 0x457968
fstp qword [0xd34600]
jmp 0x457981
fld qword [0xd345c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x45797f
fstp qword [0xd345c0]
jmp 0x457981
fstp st(0)
fld qword [0xd34608]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x45799e
fstp qword [0xd34608]
jmp 0x4579b7
fld qword [0xd345c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4579b5
fstp qword [0xd345c8]
jmp 0x4579b7
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004405d0
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 0x457901
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x4b05c8]
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 [0x4b5c58]
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.004404e0
fld qword [0xd34600]
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 0x457a62
fstp qword [0xd34600]
jmp 0x457a7b
fld qword [0xd345c0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x457a79
fstp qword [0xd345c0]
jmp 0x457a7b
fstp st(0)
fld qword [0xd34608]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x457a98
fstp qword [0xd34608]
jmp 0x457ab1
fld qword [0xd345c8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x457aaf
fstp qword [0xd345c8]
jmp 0x457ab1
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004405d0
push edi
push ebx
mov edx, dword [esp + 0x30]
push edx
call fcn.004405d0
mov eax, dword [esp + 0x3c]
inc eax
add esp, 0x18
add esi, 0x68
mov dword [esp + 0x24], eax
cmp eax, dword [0xd2d2a0]
jl 0x457540
mov dword [0xd2d2a0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0xd2d2a0], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret