Function at 0x42d050
Capabilities:
Print debug messages
Read .ini file

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x48c
mov dword [esp + 4], ecx
push ebx
lea ecx, [esp + 0x90]
push esi
push edi
push ebp
mov ebp, dword [esp + 0x4a8]
push eax
push 0x51
push ecx
push str.NONE
push str.Name
push ebp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0042dc30
test eax, eax
je 0x42d0a1
xor eax, eax
jmp 0x42d3c4
mov ecx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [ecx + 4]
test edi, edi
jne 0x42d0db
push 0x8c
call fcn.004bd170
mov ecx, dword [esp + 0x18]
add esp, 4
mov ebx, eax
mov dword [ecx + 4], eax
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x88], esi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], esi
jmp 0x42d123
mov eax, dword [edi + 0x84]
test eax, eax
je 0x42d0f7
xor eax, eax
mov edi, dword [edi + 0x84]
mov ecx, dword [edi + 0x84]
test ecx, ecx
jne 0x42d0e7
push 0x8c
call fcn.004bd170
add esp, 4
mov ebx, eax
mov dword [edi + 0x84], eax
xor eax, eax
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], eax
lea edi, [esp + 0x9c]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4a4]
lea eax, [esp + 0x21c]
push ecx
push 0x78
push eax
push str.NONE
push 0x4e1898
push ebp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x21c]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
shr ecx, 2
mov esi, edi
lea edi, [ebx + 0x51]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4df418
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
shr ecx, 2
mov esi, edi
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x4a0]
add edi, 0x128
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov ecx, 0xffffffff
lea edi, [esp + 0x1c]
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx + 0x51]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov ecx, 0xffffffff
lea edi, [esp + 0x1c]
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x4a4]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
push 0
push str.FrameCount
push ebp
call esi
mov ecx, dword [esp + 0x4a4]
mov dword [ebx + 0x6c], eax
push ecx
push 0
push str.Looping
push ebp
call fcn.00470270
add esp, 0x10
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x4a4]
push eax
push 0xf
push 0x4e1880
push ebp
call esi
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x4a4]
push eax
push 0xbff00000
push 0
push str.TransitionTime
push ebp
call fcn.00470310
fcom dword [0x4d5030]
add esp, 0x14
fstp dword [ebx + 0x78]
fnstsw ax
test ah, 0x40
je 0x42d2be
fild dword [ebx + 0x6c]
fild dword [ebx + 0x74]
fdivp st(1)
fmul dword [0x4d5034]
fstp dword [ebx + 0x78]
mov edx, dword [ebx + 0x78]
cmp edx, 0x3f000000
jle 0x42d2be
mov dword [ebx + 0x78], 0x3f000000
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x39c]
lea edx, [esp + 0x29c]
push eax
lea eax, [esp + 0x14]
push ecx
lea ecx, [esp + 0x24]
push edx
mov dword [ebx + 0x68], 0
push eax
push ecx
call fcn.004beb00
lea ecx, [esp + 0x130]
add esp, 0x14
push str..VUE
push ecx
call fcn.004bdf70
add esp, 8
test eax, eax
jne 0x42d32f
lea eax, [esp + 0x1c]
push ebx
mov ecx, dword [esp + 0x4a4]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0042d870
cmp eax, 1
je 0x42d3b5
xor eax, eax
jmp 0x42d3c4
lea eax, [esp + 0x11c]
push str..VUB
push eax
call fcn.004bdf70
add esp, 8
test eax, eax
jne 0x42d368
lea eax, [esp + 0x1c]
push ebx
mov ecx, dword [esp + 0x4a4]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0042d640
cmp eax, 1
je 0x42d3b5
xor eax, eax
jmp 0x42d3c4
lea eax, [esp + 0x11c]
push str..MOT
push eax
call fcn.004bdf70
add esp, 8
test eax, eax
jne 0x42d3a1
lea eax, [esp + 0x1c]
push ebx
mov ecx, dword [esp + 0x4a4]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0042d3e0
cmp eax, 1
je 0x42d3b5
xor eax, eax
jmp 0x42d3c4
lea eax, [esp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push eax
call esi
push 0x4e1824
call esi
mov dword [ebx + 0x84], 0
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x48c
ret 0xc