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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4ac755
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 4], 0
je 0x47a64e
mov eax, 0xa
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fld qword [0x4b7888]
fld qword [ebp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x47a67e
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 0x41
jnp 0x47a67c
fld qword [ebp + 0x10]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x47a69a
fstp st(2)
fstp st(1)
fstp st(0)
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fxch st(2)
mov eax, dword [ebp + 0x20]
fst qword [esi + 0x48]
mov edi, 1
fxch st(2)
mov dword [esi + 0x24], edi
fst qword [esi + 0x40]
mov dword [esi + 0x34], eax
fstp qword [esi + 0x38]
mov dword [esi + 0x78], edi
fldz
fstp qword [esi + 0x58]
fst qword [esi + 0x50]
fdivp st(1)
fld1
fsubrp st(1)
call sub.MSVCR100.dll__CIacos
fadd st(0), st(0)
fdivr qword [0x4b5c38]
call fcn.0048cf30
sub edi, eax
mov dword [esp + 0x14], edi
cmp edi, 3
jge 0x47a6ef
mov dword [esp + 0x14], 3
mov edi, dword [esp + 0x14]
fild dword [esp + 0x14]
lea edx, [edi*4]
lea eax, [edi + edi*2]
add eax, eax
fdivr qword [0x4b5ae0]
mov ebx, edx
lea ecx, [edi + edi + 2]
sub ebx, eax
add ebx, ecx
mov dword [esi], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x1c], eax
fstp qword [esp + 0x3c]
cmp ebx, 2
je 0x47a741
mov ecx, esi
call fcn.0047a1f0
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push edx
push eax
push ecx
mov ecx, esi
call fcn.0047a340
mov ebx, eax
test ebx, ebx
je 0x47a76f
mov ecx, esi
call fcn.0047a1f0
mov eax, ebx
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fldz
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x3c]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [esp + 0x54]
fld qword [esp + 0x54]
fstp qword [esp]
push edi
call fcn.00479a90
mov ecx, dword [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x80], ebx
cmp ecx, ebx
je 0x47a9a8
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x47a9a8
test edi, edi
jle 0x47a828
sub ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ecx
jmp 0x47a7cc
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
fld qword [ecx + eax]
sub esp, 0x18
fld qword [ebp + 8]
mov ecx, esi
fmul st(1), st(0)
fxch st(1)
fst qword [esp + 0x3c]
fld qword [eax]
fmulp st(2)
fxch st(1)
fst qword [esp + 0x44]
fldz
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push ebx
call fcn.0047a0d0
fld qword [esi + 0x40]
sub esp, 0x18
fstp qword [esp + 0x10]
lea eax, [ebx + edi]
fld qword [esp + 0x44]
fstp qword [esp + 8]
fld qword [esp + 0x3c]
fstp qword [esp]
push eax
call fcn.0047a0d0
add dword [esp + 0x1c], 8
inc ebx
cmp ebx, edi
jl 0x47a7c4
fldz
mov eax, dword [esi]
sub esp, 0x18
fst qword [esp + 0x10]
fst qword [esp + 8]
sub eax, 2
fstp qword [esp]
mov ecx, esi
push eax
mov dword [esp + 0x48], eax
call fcn.0047a0d0
fld qword [esi + 0x40]
mov eax, dword [esi]
sub esp, 0x18
fstp qword [esp + 0x10]
dec eax
fldz
mov dword [esp + 0x50], eax
fst qword [esp + 8]
fstp qword [esp]
push eax
call fcn.0047a0d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
dec eax
xor edi, edi
xor ebx, ebx
test eax, eax
jle 0x47a8f0
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
push ebx
lea eax, [ebx + 1]
push eax
inc ecx
push edx
mov dword [esp + 0x28], ecx
push edi
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.0047a120
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0047a120
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push edx
push eax
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0047a120
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
inc edi
push edi
mov ecx, esi
call fcn.0047a120
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
inc edi
dec dword [esp + 0x24]
mov dword [esp + 0x18], ecx
jne 0x47a87e
mov edx, dword [esp + 0x2c]
push ebx
push 0
push edx
push edi
mov ecx, esi
call fcn.0047a120
mov eax, dword [esp + 0x14]
push eax
push 0
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0047a120
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0047a120
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
inc edi
push edi
mov ecx, esi
call fcn.0047a120
inc edi
cmp edi, dword [esi + 0xc]
je 0x47a95b
push 0x1f4
push 0x4b78d8
push 0x4b78f4
call dword [sym.imp.MSVCR100.dll__wassert]
add esp, 0xc
fldz
mov ecx, esi
fst dword [esi + 0x28]
fstp dword [esi + 0x2c]
fld1
fstp dword [esi + 0x30]
call fcn.00479fe0
mov eax, dword [esp + 0x3c]
push eax
mov dword [esp + 0x84], 0xffffffff
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x44]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, esi
call fcn.0047a1f0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
call fcn.00479a60
mov eax, 4
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c