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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
fld qword [0x6521f0]
sub esp, 0x74
fsub qword [0x6521b0]
push ebx
fld qword [0x6521f8]
push esi
fsub qword [0x6521b8]
push edi
fcom st(1)
fnstsw ax
test ah, 5
jp 0x467831
fstp st(0)
jmp 0x467833
fstp st(1)
fst qword [esp + 0x58]
fld qword [0x4b94e0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x46785b
fcomp qword [0x4b9518]
fnstsw ax
test ah, 5
jnp 0x46785d
fld1
fstp qword [esp + 0x58]
jmp 0x46785d
fstp st(0)
xor esi, esi
mov dword [esp + 0x24], esi
cmp dword [0x4d2f20], esi
jle 0x467e25
nop
mov eax, dword [0x4d2f1c]
cmp byte [esi + eax + 0x58], 0
mov ebx, dword [esi + eax]
mov edi, dword [0x4d2ef4]
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 0x467b6e
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 [0x4b3d18]
test ah, 5
jp 0x467908
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x467919
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x467928
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x4b94e0]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x46794a
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x46794c
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x4b9698]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46796d
fstp st(1)
fst qword [esp + 0x40]
jmp 0x46796f
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 0x467a75
fstp st(1)
jmp 0x467992
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 [0x4b95e8]
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.004528c0
fld qword [0x6521f0]
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 0x4679f8
fstp qword [0x6521f0]
jmp 0x467a11
fld qword [0x6521b0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467a0f
fstp qword [0x6521b0]
jmp 0x467a11
fstp st(0)
fld qword [0x6521f8]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x467a2e
fstp qword [0x6521f8]
jmp 0x467a47
fld qword [0x6521b8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467a45
fstp qword [0x6521b8]
jmp 0x467a47
fstp st(0)
push edi
push ecx
push ebx
call fcn.004529b0
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 0x467990
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x4b1e00]
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 [0x4b95e8]
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.004528c0
fld qword [0x6521f0]
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 0x467aea
fstp qword [0x6521f0]
jmp 0x467b03
fld qword [0x6521b0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467b01
fstp qword [0x6521b0]
jmp 0x467b03
fstp st(0)
fld qword [0x6521f8]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x467b31
push edi
fstp qword [0x6521f8]
push ecx
push ebx
call fcn.004529b0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x467def
fld qword [0x6521b8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467b59
push edi
fstp qword [0x6521b8]
push ecx
push ebx
call fcn.004529b0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x467def
push edi
fstp st(0)
push ecx
push ebx
call fcn.004529b0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
jmp 0x467def
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 [0x4b3d18]
test ah, 5
jp 0x467ba7
fadd st(1), st(0)
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x467bb8
fxch st(2)
fadd st(1)
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x467bc7
fxch st(2)
fadd st(1)
fxch st(2)
fld qword [0x4b94e0]
fld qword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x467be9
fld qword [esp + 0x58]
fmulp st(3)
fimul dword [ebp + 8]
fdivp st(2)
jmp 0x467beb
fstp st(0)
fxch st(1)
fst qword [esp + 0x40]
fld st(2)
fsub st(2)
fdiv qword [0x4b9698]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x467c0c
fstp st(1)
fst qword [esp + 0x40]
jmp 0x467c0e
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 0x467d1d
fstp st(1)
jmp 0x467c33
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 [0x4b95e8]
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.004528c0
fld qword [0x6521f0]
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 0x467c98
fstp qword [0x6521f0]
jmp 0x467cb1
fld qword [0x6521b0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467caf
fstp qword [0x6521b0]
jmp 0x467cb1
fstp st(0)
fld qword [0x6521f8]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x467cce
fstp qword [0x6521f8]
jmp 0x467ce7
fld qword [0x6521b8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467ce5
fstp qword [0x6521b8]
jmp 0x467ce7
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004529b0
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 0x467c31
fxch st(1)
fsub st(1), st(0)
fxch st(1)
fmul qword [0x4b1e00]
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 [0x4b95e8]
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.004528c0
fld qword [0x6521f0]
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 0x467d92
fstp qword [0x6521f0]
jmp 0x467dab
fld qword [0x6521b0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467da9
fstp qword [0x6521b0]
jmp 0x467dab
fstp st(0)
fld qword [0x6521f8]
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x467dc8
fstp qword [0x6521f8]
jmp 0x467de1
fld qword [0x6521b8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x467ddf
fstp qword [0x6521b8]
jmp 0x467de1
fstp st(0)
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004529b0
push edi
push ebx
mov edx, dword [esp + 0x30]
push edx
call fcn.004529b0
mov eax, dword [esp + 0x3c]
inc eax
add esp, 0x18
add esi, 0x68
mov dword [esp + 0x24], eax
cmp eax, dword [0x4d2f20]
jl 0x467870
mov dword [0x4d2f20], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0x4d2f20], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret