Function at 0x477500
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x4ea160]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x20]
push esi
cmp dword [ebx + 4], 0
push edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x21], 0
je 0x47753b
mov ecx, ebx
call fcn.00477100
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebx + 0x910]
test esi, esi
jle 0x477671
mov edi, dword [ebx + 0x914]
test edi, edi
jle 0x477671
push 0x14
push ecx
push dword [ebp + 8]
mov ecx, ebx
call fcn.00476e20
test al, al
je 0x4777b2
movss xmm1, dword [0x4ceb48]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x9c8], 0xbf800000
mov dword [ebx + 0x9cc], 0x3f800000
divss xmm1, xmm0
movd xmm0, edi
mov edi, 1
movss dword [ebx + 0x998], xmm1
mov ecx, edi
movss xmm1, dword [0x4ceb4c]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebx + 0x9ac], xmm1
cmp edx, edi
jle 0x4775d2
cmp edi, 0x40000000
je 0x4775d2
add edi, edi
cmp edx, edi
jg 0x4775c4
mov eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x4775ee
nop word [eax + eax]
cmp ecx, 0x40000000
je 0x4775ee
add ecx, ecx
cmp eax, ecx
jg 0x4775e0
movd xmm2, edx
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
mov dword [ebx + 0x9fc], eax
mov dword [ebx + 0x9f8], edx
mov dword [ebx + 0xa0c], edi
cvtdq2ps xmm2, xmm2
mov dword [ebx + 0xa10], ecx
movd xmm1, eax
lea eax, [ebx + 0xa00]
divss xmm2, xmm0
push eax
push 1
push 0x16
push 0
push 1
push ecx
push edi
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x968], xmm2
divss xmm1, xmm0
movss dword [ebx + 0x990], xmm2
movss dword [ebx + 0x980], xmm1
movss dword [ebx + 0x994], xmm1
mov edx, dword [ebx + 4]
push edx
mov esi, dword [edx]
call dword [esi + 0x5c]
test eax, eax
jns 0x477686
mov ecx, ebx
call fcn.00477040
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044f18f
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [ebp + 0x1c]
lea esi, [ebx + 0x9d8]
mov edx, dword [ebx + 4]
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x20], 0
add ecx, ecx
test al, 2
lea eax, [ebp - 0x20]
push eax
push esi
push 0
push ecx
push 0
push 0
push dword [ebp - 0x28]
je 0x4776db
push dword [ebp - 0x2c]
push edx
call sub.d3dx9_40.dll_D3DXCreateEffectFromResourceA
test eax, eax
jns 0x4776e3
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x477671
push edx
call sub.d3dx9_40.dll_D3DXCreateEffectFromFileA
jmp 0x4776bc
mov eax, dword [esi]
push 0x4ceb0c
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dword [ebx + 0x9dc], eax
mov eax, dword [esi]
push 0x4ceb14
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [ebx + 0x9e0], eax
mov eax, dword [esi]
push 0x4ceb1c
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [ebx + 0x9e4], eax
mov eax, dword [esi]
push 0x4ceb24
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [ebx + 0x9e8], eax
mov eax, dword [esi]
push 0x4ceb30
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [ebx + 0x9ec], eax
mov eax, dword [esi]
push 0x4ceb3c
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x9f0], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 6], ax
lea eax, [ebx + 0x9f4]
push eax
mov word [ebp - 0x18], 2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x12], 0x1000c
mov dword [ebp - 0xe], 0xff0005
mov dword [ebp - 0xa], 0x110000
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x158]
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044f18f
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x21]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0044f18f
mov esp, ebp
pop ebp
ret 0x1c