Function at 0x418750
Capabilities:
Read .ini file

Disassembly:
sub esp, 0xa4
mov ecx, 0x13
xor eax, eax
mov byte [0x830930], 0
push ebx
push ebp
push esi
push edi
mov edi, 0x943e80
push 0x50
rep stosd dword es:[edi], eax
mov eax, dword [0x82f33c]
push str.Open_Movie_File
push 0xc352
push eax
mov byte [0x830828], 0
call dword [sym.imp.USER32.dll_LoadStringA]
xor ebp, ebp
xor eax, eax
mov cl, byte [eax + 0x9549c0]
test cl, cl
je 0x4187b0
cmp cl, 0x40
jne 0x4187a8
mov byte [eax + 0x9549c0], 0
inc eax
cmp eax, 0x1f4
jl 0x418792
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.HeroMp3.ini
lea ecx, [esp + 0x38]
push 0x80
push ecx
push 0x82d6c0
mov esi, eax
push str.OPENPATH
push str.SETTING
and esi, 0xff
call edi
test eax, eax
jne 0x418808
push str.HeroMp3.ini
lea edx, [esp + 0x38]
push 0x80
push edx
push 0x82d6c0
push str.INSTALLPATH
push str.INSTALL
call edi
mov eax, dword [0x82f304]
mov ebx, 1
lea ecx, [esp + 0x34]
cmp esi, 4
mov dword [0x943e80], 0x4c
mov dword [0x943e84], eax
mov dword [0x943e8c], 0x9549c0
mov dword [0x943e90], ebp
mov dword [0x943e94], ebp
mov dword [0x943e98], ebx
mov dword [0x943e9c], 0x830930
mov dword [0x943ea0], 0x1770
mov dword [0x943ea4], 0x830828
mov dword [0x943ea8], 0x104
mov dword [0x943eac], ecx
mov dword [0x943eb0], 0x428dfc
mov dword [0x943eb4], 0x1a00
mov word [0x943eb8], bp
mov word [0x943eba], bp
mov dword [0x943ebc], 0x427358
jl 0x4188aa
mov dword [0x943eb4], 0x81a00
push 0x943e80
call sub.comdlg32.dll_GetOpenFileNameA
test eax, eax
jne 0x4188c3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
push 0x830930
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov cl, byte [eax + 0x830931]
mov dword [esp + 0x30], eax
test cl, cl
jne 0x418943
lea edx, [esp + 0x34]
push edx
push 0x830930
call fcn.0040d350
add esp, 8
lea eax, [esp + 0x34]
push str.HeroMp3.ini
push eax
push str.OPENPATH
push str.SETTING
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x830930
push 0x8340dc
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebp
push 0x8340dc
call fcn.00401df0
mov ecx, dword [0x42d3c4]
add esp, 8
cmp eax, ecx
jl 0x418af6
xor ebx, ebx
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xa4
ret
push str.HeroMp3.ini
push 0x830930
push str.OPENPATH
push str.SETTING
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov dword [esp + 0x28], ebp
xor ebx, ebx
mov eax, 0x830930
mov esi, 0x8340dc
mov dword [esp + 0x14], 0x8340d8
mov dword [esp + 0x10], 0x8340d4
mov dword [esp + 0x20], 0x8340d0
mov dword [esp + 0x24], 0x8340cc
mov dword [esp + 0x18], 0x8340cb
mov dword [esp + 0x1c], 0x8340ca
mov ebp, 0x8340c9
mov edi, 0x8340c8
jmp 0x4189ad
mov eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x28]
lea eax, [ecx + eax + 1]
mov cl, byte [eax + 0x830930]
mov dword [esp + 0x28], eax
lea eax, [eax + 0x830930]
test cl, cl
mov dword [esp + 0x2c], eax
je 0x418af6
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov byte [edi], bl
mov byte [ebp], 0
mov byte [edx], 0
mov edx, dword [esp + 0x20]
mov byte [eax], 0
mov eax, dword [esp + 0x10]
mov dword [ecx], 0
mov ecx, dword [esp + 0x14]
mov dword [edx], 0
push 0x830930
mov dword [eax], 0
push esi
mov dword [ecx], 0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [esp + 0x30], 3
je 0x418a33
push 0x4273b8
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x2c]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0x8340dc
call fcn.00401df0
mov ecx, dword [0x42d3c4]
add esp, 8
cmp eax, ecx
jl 0x418aa2
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, 0xb4
dec ebx
sub ecx, eax
sub edx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
sub ecx, eax
sub edx, eax
sub edi, eax
sub ebp, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
sub esi, eax
jmp 0x418aa7
mov eax, 0xb4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, eax
add edx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
add ecx, eax
add edx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
add edi, eax
inc ebx
add ebp, eax
add ecx, eax
add edx, eax
add esi, eax
cmp edi, 0x88e0c8
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jl 0x4189a9
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xa4
ret