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

Disassembly:
sub esp, 0xf8
push ebx
mov ebx, dword [esp + 0x100]
push ebp
xor ebp, ebp
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebx + 0xc0]
mov edx, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x108]
push esi
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ebp
fld dword [ebx + 0xbc]
fcomp dword [0x497058]
fnstsw ax
test ah, 0x40
je 0x478c4d
fld dword [ebx + 0xc0]
fcomp dword [0x497058]
fnstsw ax
test ah, 0x40
je 0x478c4d
fld dword [ebx + 0xc4]
fcomp dword [0x497058]
fnstsw ax
test ah, 0x40
jne 0x478fda
lea ecx, [esp + 0x88]
lea eax, [ebx + 0xa4]
mov edx, 3
fld dword [esp + 0x14]
fmul dword [eax + 0x18]
add eax, 4
add ecx, 4
dec edx
fadd dword [eax - 4]
fstp dword [ecx - 4]
jne 0x478c5f
push ebx
lea ecx, [esp + 0x8c]
push 0
lea edx, [ebx + 0x10c]
push ecx
lea eax, [ebx + 0x100]
push edx
push eax
lea eax, [ebx + 0xa4]
lea ecx, [esp + 0xe4]
push eax
push ecx
call fcn.00487690
mov ecx, 0xe
mov esi, eax
lea edi, [esp + 0x6c]
add esp, 0x1c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x478f55
fld dword [esp + 0x60]
fcomp dword [0x497058]
fnstsw ax
test ah, 0x41
jne 0x478d0d
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [ebx + 0xa4], edx
mov edx, dword [ebx + 0xbc]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebx + 0xc0]
mov dword [ebx + 0xac], ecx
mov ecx, dword [ebx + 0xc4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
xor ebp, ebp
cmp dword [esp + 0x60], 0x3f800000
je 0x478fda
mov esi, dword [esp + 0x80]
test esi, esi
jne 0x478d33
push str.SV_FlyMove:__trace.ent
call fcn.0047c340
add esp, 4
fld dword [esp + 0x78]
fcomp qword [0x497510]
fnstsw ax
test ah, 0x41
jne 0x478d86
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0xa0]
or ecx, 1
cmp eax, 0x40800000
mov dword [esp + 0x10], ecx
jne 0x478d86
fld dword [ebx + 0x1ac]
call fcn.0048c3f4
or ah, 2
mov edx, esi
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp dword [ebx + 0x1ac]
sub edx, dword [0x9bbf14]
mov dword [ebx + 0x138], edx
fld dword [esp + 0x78]
fcomp dword [0x497058]
fnstsw ax
test ah, 0x40
je 0x478dbf
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x114]
or ecx, 2
test edi, edi
mov dword [esp + 0x10], ecx
je 0x478dbf
mov ecx, 0xe
lea esi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x80]
push esi
push ebx
call fcn.004789f0
mov eax, dword [ebx + 0x1c]
add esp, 8
test eax, eax
jne 0x478fda
fld dword [esp + 0x60]
fmul dword [esp + 0x14]
cmp ebp, 5
fsubr dword [esp + 0x14]
fstp dword [esp + 0x14]
jge 0x478f55
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
lea eax, [ebp + ebp*2]
xor esi, esi
shl eax, 2
inc ebp
mov dword [esp + eax + 0x94], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + eax + 0x98], edx
mov dword [esp + eax + 0x9c], ecx
test ebp, ebp
jle 0x478e81
lea edi, [esp + 0x94]
lea edx, [esp + 0x20]
push 0x3f800000
push edx
lea eax, [esp + 0x34]
push edi
push eax
call fcn.00478b00
add esp, 0x10
xor ecx, ecx
lea edx, [esp + 0x98]
cmp ecx, esi
je 0x478e6d
fld dword [esp + 0x28]
fmul dword [edx + 4]
fld dword [esp + 0x20]
fmul dword [edx - 4]
faddp st(1)
fld dword [esp + 0x24]
fmul dword [edx]
faddp st(1)
fcomp dword [0x497058]
fnstsw ax
test ah, 1
jne 0x478e75
inc ecx
add edx, 0xc
cmp ecx, ebp
jl 0x478e44
cmp ecx, ebp
je 0x478e81
inc esi
add edi, 0xc
cmp esi, ebp
jl 0x478e23
cmp esi, ebp
je 0x478ea7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
lea esi, [ebx + 0xbc]
mov dword [ebx + 0xc0], edx
mov dword [ebx + 0xc4], eax
mov dword [esi], ecx
jmp 0x478f05
cmp ebp, 2
jne 0x478f88
lea ecx, [esp + 0x44]
lea edx, [esp + 0xa0]
push ecx
lea eax, [esp + 0x98]
push edx
push eax
call fcn.00430fba
fld dword [esp + 0x54]
fmul dword [ebx + 0xc0]
fld dword [esp + 0x58]
fmul dword [ebx + 0xc4]
lea esi, [ebx + 0xbc]
lea edx, [esp + 0x50]
push esi
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
push ecx
push edx
call fcn.0043110a
add esp, 0x18
fld dword [esp + 0x3c]
fmul dword [ebx + 0xc0]
fld dword [esp + 0x40]
fmul dword [ebx + 0xc4]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esi]
faddp st(1)
fcomp dword [0x497058]
fnstsw ax
test ah, 0x41
jne 0x478fbb
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 4
mov dword [esp + 0x1c], eax
jl 0x478c10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [0x945b00]
pop edi
mov dword [ebx + 0xbc], eax
mov ecx, dword [0x945b04]
mov dword [ebx + 0xc0], ecx
mov edx, dword [0x945b08]
pop esi
mov dword [ebx + 0xc4], edx
pop ebp
mov eax, 3
pop ebx
add esp, 0xf8
ret
mov eax, dword [0x945b00]
pop edi
mov dword [ebx + 0xbc], eax
mov ecx, dword [0x945b04]
mov dword [ebx + 0xc0], ecx
mov edx, dword [0x945b08]
pop esi
mov dword [ebx + 0xc4], edx
pop ebp
mov eax, 7
pop ebx
add esp, 0xf8
ret
mov eax, dword [0x945b00]
mov dword [esi], eax
mov ecx, dword [0x945b04]
mov dword [ebx + 0xc0], ecx
mov edx, dword [0x945b08]
mov dword [ebx + 0xc4], edx
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret