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

Disassembly:
push 0xffffffffffffffff
push 0x4ac696
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edi, ecx
fld dword [esp + 0x3c]
sub esp, 8
fst dword [0x4c4ab0]
fld dword [esp + 0x48]
fstp dword [0x4c4ab4]
fld dword [esp + 0x4c]
fstp dword [0x4c4ab8]
fld dword [esp + 0x50]
fstp dword [0x4c4abc]
fstp qword [esp]
call fcn.00474310
mov ecx, edi
call fcn.00471ed0
test eax, eax
jne 0x478e1f
mov ecx, edi
call fcn.00471b40
fstp dword [esp + 0x3c]
lea ecx, [edi + 0x2c]
call fcn.00471b40
fstp dword [esp + 0x40]
mov ecx, dword [edi + 0x74]
mov esi, dword [edi + 0x10]
mov ebx, dword [edi + 0x3c]
test ecx, ecx
jne 0x478743
push 0x1c
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], 0
test eax, eax
je 0x478734
push 0x4b7554
push ebx
push esi
mov ecx, eax
call fcn.00479460
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x74], eax
jmp 0x478757
xor eax, eax
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x74], eax
jmp 0x478757
push 0x4b7554
push ebx
push esi
call fcn.00479620
test eax, eax
jne 0x478e1f
cmp dword [edi + 0x74], 0
je 0x478d96
mov eax, dword [edi + 0x78]
test eax, eax
jne 0x4787af
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], 1
test eax, eax
je 0x4787a0
push 0x4e20
push 0x2710
mov ecx, eax
call fcn.00479510
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x78], eax
jmp 0x4787b5
xor eax, eax
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x78], eax
jmp 0x4787b5
mov dword [eax], 0
cmp dword [edi + 0x78], 0
je 0x478d96
mov ecx, edi
call fcn.00471eb0
test eax, eax
jne 0x478e1f
mov eax, dword [edi + 0x78]
mov ebp, dword [eax]
cmp ebp, 1
jl 0x478e1d
mov eax, dword [eax + 0xc]
xor ebx, ebx
test ebp, ebp
jle 0x478e1d
lea esi, [eax + 8]
lea esp, [esp]
mov eax, dword [esi - 8]
mov ecx, dword [esi - 4]
cmp eax, ecx
jne 0x478b0c
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je 0x478b0c
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.00471b60
fstp dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
push ecx
lea ecx, [edi + 0x2c]
call fcn.00471b60
fstp dword [esp + 0x20]
mov ecx, dword [esi]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x48]
mov ecx, dword [esi + 4]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x44]
mov ecx, dword [esi - 8]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x18]
mov ecx, dword [esi - 4]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fld st(0)
fsub dword [esp + 0x48]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fabs
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x44]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fabs
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fld st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fabs
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x28]
fld st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fabs
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
fld dword [esp + 0x1c]
fld dword [esp + 0x28]
fld dword [esp + 0x20]
test ah, 5
jp 0x478951
fxch st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x478953
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x478953
fld dword [esp + 0x3c]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x478953
cmp dword [esp + 0x4c], 0
fstp st(3)
fstp st(4)
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
je 0x478d96
jmp 0x478e11
fstp st(3)
fxch st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4789bc
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x4789bc
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x4789bc
fstp st(4)
sub esp, 8
fstp st(0)
fstp st(1)
fstp st(0)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478180
fstp dword [esp + 0x50]
add esp, 8
fld dword [esp + 0x48]
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x478d94
push ecx
mov ecx, dword [esi]
fstp dword [esp]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fcom st(1)
fnstsw ax
test ah, 1
jne 0x478a26
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x478a2a
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x478a2a
fstp st(1)
sub esp, 8
fstp st(3)
fstp st(1)
fstp st(0)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478130
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x478d94
push ecx
mov ecx, dword [esi + 4]
fstp dword [esp]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fstp st(5)
jmp 0x478a2e
fstp st(5)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x478a9a
fxch st(2)
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x478a98
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x478a98
fstp st(4)
sub esp, 8
fstp st(1)
fstp st(0)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478180
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x478d94
push ecx
mov ecx, dword [esi - 8]
fstp dword [esp]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x478dfb
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x478e03
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jp 0x478dff
sub esp, 8
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478130
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x478d94
push ecx
mov ecx, dword [esi - 8]
fstp dword [esp]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jne 0x478d96
cmp eax, ecx
je 0x478d96
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.00471b60
fstp dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
push ecx
lea ecx, [edi + 0x2c]
call fcn.00471b60
fstp dword [esp + 0x28]
mov ecx, dword [esi]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x48]
mov ecx, dword [esi + 4]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x44]
mov ecx, dword [esi - 8]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x14]
mov ecx, dword [esi - 4]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716b0
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fld st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x20]
fld st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x48]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x44]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
fld dword [esp + 0x1c]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
test ah, 5
jp 0x478c67
fxch st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x478c69
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x478c69
fld dword [esp + 0x40]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x478c69
cmp dword [esp + 0x4c], 0
fstp st(3)
fstp st(3)
fstp st(3)
fstp st(2)
fstp st(0)
fstp st(0)
je 0x478d96
jmp 0x478e11
fstp st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x478cd2
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x478cd2
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x478cd2
fstp st(3)
sub esp, 8
fstp st(4)
fstp st(0)
fstp st(2)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478180
fstp dword [esp + 0x50]
add esp, 8
fld dword [esp + 0x48]
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x478d94
push ecx
mov ecx, dword [esi]
fstp dword [esp]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fcom st(2)
fnstsw ax
test ah, 1
jne 0x478d3a
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x478d3e
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x478d3e
fstp st(3)
sub esp, 8
fstp st(4)
fstp st(3)
fstp st(2)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478130
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x478d94
push ecx
mov ecx, dword [esi + 4]
fstp dword [esp]
push 1
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fstp st(4)
jmp 0x478d46
fstp st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x478d9e
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x478d9e
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x478d9e
fstp st(1)
sub esp, 8
fstp st(1)
fstp st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478180
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x478af2
fstp st(0)
or eax, 0xffffffff
jmp 0x478e1f
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x478e09
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x478e0b
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x478e0d
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00478130
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x478d94
push ecx
mov ecx, dword [esi - 4]
fstp dword [esp]
push 0
call fcn.00471800
mov ecx, eax
call fcn.004716a0
jmp 0x478e11
fstp st(3)
fstp st(1)
fstp st(0)
jmp 0x478e0f
fstp st(2)
fstp st(0)
jmp 0x478e0f
fstp st(0)
fstp st(2)
fstp st(1)
fstp st(0)
inc ebx
add esi, 0x18
cmp ebx, ebp
jl 0x4787f0
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x14