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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x508
mov al, byte [0x10439b4]
test al, al
push esi
push edi
je 0x4734a2
mov al, byte [ebp + 8]
test al, al
je 0x47382c
mov byte [0x10439b4], 1
xor esi, esi
jmp 0x4734b0
mov eax, ebx
call fcn.00472330
inc esi
cmp esi, 0xd
jl 0x4734b0
mov edx, dword [ebx + 0xf8c]
mov eax, dword [ebx + 0x18]
and edx, 0xffffffbd
push eax
mov dword [ebx + 0xf8c], edx
mov dword [ebx + 0xdfc], 0xffffffff
call fcn.0047a200
mov ecx, dword [ebx + 0xdd8]
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0x3b8], 1
mov eax, dword [edx + 0x24]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0xb0]
add ecx, 0x10
lea eax, [esp + 0xd0]
call fcn.00407a30
mov ecx, dword [0x601ca8]
mov eax, 0x605c68
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], eax
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov dword [ebx + 0xdd8], edx
mov ecx, dword [eax + 4]
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], esi
jle 0x4737d6
mov dword [esp + 0x1c], esi
mov eax, dword [eax]
cmp dword [esi + eax + 4], 0xffffffff
je 0x4737b6
test esi, esi
jl 0x473579
mov eax, dword [ebx + 0xdd8]
lea ecx, [eax + eax*2]
mov edx, dword [ecx*4 + 0x605c68]
mov eax, dword [esi + edx]
jmp 0x47357b
xor eax, eax
push eax
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 0x24]
lea ecx, [esp + 0x2c]
push ecx
call fcn.0040aeb0
mov eax, dword [0x668670]
mov edi, dword [esp + 0x28]
mov edx, eax
xor edx, edi
test dl, 0x7f
jne 0x4735c3
mov ecx, eax
xor ecx, edi
test ecx, 0x3ff80
jne 0x4735c3
mov edx, eax
xor edx, edi
test edx, 0x1fc0000
jne 0x4735c3
xor eax, edi
test eax, 0xfe000000
je 0x4737b6
test esi, esi
jl 0x4735dd
mov eax, dword [ebx + 0xdd8]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x605c68]
mov eax, dword [ecx + esi + 8]
jmp 0x4735df
xor eax, eax
test esi, esi
mov dword [ebx + 0xd24], eax
jl 0x4735ff
mov eax, dword [ebx + 0xdd8]
lea edx, [eax + eax*2]
mov eax, dword [edx*4 + 0x605c68]
fild dword [eax + esi + 0xc]
jmp 0x473605
fld dword [0x5bef98]
fld dword [0x5a5ddc]
fmul st(1)
fmul dword [0x5bf014]
fadd dword [0x5befcc]
call fcn.00581d24
fstp st(0)
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x18]
fild dword [esp + 0x14]
mov edi, dword [eax + 8]
mov esi, dword [edi + 0x70]
test esi, esi
fstp dword [esp + 0x14]
mov dword [esp + 0x38], eax
je 0x473658
jmp 0x473643
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 4]
push eax
mov dword [esp + 0x30], ecx
call fcn.00479fb0
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x47363f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push 0
push edx
push 4
push 0x3f800000
mov dword [edi + 0x6c], 1
mov ecx, dword [ebx + 0x18]
push eax
push ecx
mov ecx, dword [ecx + 8]
xor al, al
call fcn.004795d0
mov esi, dword [ebx + 0x18]
push 0x3f800000
call fcn.0047a1c0
mov ecx, dword [ebx + 0x10]
push 0x3a83126f
xor al, al
call fcn.00478a10
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 0x24]
mov ecx, dword [edx + 0xb0]
add ecx, 0x10
lea eax, [esp + 0x50]
call fcn.00407a30
xor eax, eax
mov ecx, 0x10
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x24]
mov edi, dword [ecx + 0xb0]
add edi, 0x10
mov ecx, 0x10
lea esi, [esp + 0x50]
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x64], 0x3f800000
mov dword [esp + 0x78], 0x3f800000
mov dword [esp + 0x8c], 0x3f800000
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax + 0xb0]
call fcn.00408300
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edi, dword [esp + 0x1c]
mov edx, dword [edi + ecx + 4]
mov dword [ebx + 0xd20], edx
mov eax, dword [esi]
mov ecx, dword [edi + eax + 8]
lea edx, [esp + 0x90]
push edx
push ebx
mov dword [ebx + 0xd24], ecx
call fcn.00472780
fld dword [esp + 0xc8]
mov eax, dword [esi]
fld dword [esp + 0xc4]
fadd dword [esp + 0x30]
fst dword [esp + 0x44]
fld dword [esp + 0xc0]
fstp dword [edi + eax + 0x40]
mov ecx, dword [esi]
fstp dword [edi + ecx + 0x44]
mov edx, dword [esi]
fst dword [edi + edx + 0x48]
mov eax, dword [esi]
mov ecx, dword [eax + edi + 0xc]
mov edx, dword [eax + edi]
add eax, edi
sub esp, 0x20
fstp qword [esp + 0x18]
fld dword [esp + 0x64]
fstp qword [esp + 0x10]
fld dword [esp + 0xe0]
fstp qword [esp + 8]
fld dword [esp + 0x34]
fstp qword [esp]
push ecx
mov eax, dword [esp + 0x44]
push edx
push eax
lea ecx, [esp + 0x13c]
push str.OPosSetup:_Anim__03d_:_28s__Ms:_5d__StFm:_3.1f__Offset_X:_3.2f__Y:_3.2f__Z:_3.2f
push ecx
call fcn.0057ed49
add esp, 0x34
mov esi, edi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
inc eax
add esi, 0x54
mov dword [esp + 0x20], eax
cmp eax, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
jl 0x473553
mov esi, dword [esp + 0x24]
add eax, 0xc
inc esi
cmp eax, 0x605c80
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], eax
jl 0x473530
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x3b8], 4
mov dword [ebx + 0xdd8], edx
mov dword [ebx + 0xd24], 0
mov ecx, dword [eax + 0x24]
mov edi, dword [ecx + 0xb0]
add edi, 0x10
mov ecx, 0x10
lea esi, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4