Function at 0x430a80
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4a5fdb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x420
mov eax, dword [0x4cbba0]
xor eax, esp
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x42c], eax
mov edi, ecx
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x18]
mov dword [esp + 0x438], ebx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
push str.MCCKMPlayerX.dll
lea eax, [esp + 0x18]
push 0x4cbdc0
push eax
mov byte [esp + 0x444], 2
mov dword [esp + 0x2c], ebx
call fcn.004010a0
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x43c], 3
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x438], 2
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push str.configplayer.ini
lea ecx, [esp + 0x18]
push 0x4cbdc0
push ecx
call fcn.004010a0
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push 0xffffffffffffffff
push str.last_reg_mcc_ver
push str.regctl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x14]
mov esi, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
mov ecx, edi
call fcn.0042c860
mov ebp, dword [esp + 0x20]
cmp esi, ebp
jne 0x430c07
lea edx, [esp + 0x14]
push edx
push 0x20019
push ebx
push str.CLSIDDC01812C_C71E_40BF_BA2B_57732DF25204InprocServer32
push SysReAllocString
mov byte [esp + 0x27], 1
mov dword [esp + 0x28], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x430c07
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
push ecx
push 0x4acbb2
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], 0x400
call fcn.0042d6f0
test eax, eax
jne 0x430bee
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CompareNoCase]
test eax, eax
jne 0x430bee
mov byte [esp + 0x13], al
test ebx, ebx
je 0x430bff
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov al, byte [esp + 0x13]
test al, al
je 0x430c69
push 1
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call fcn.0049b770
push ebp
lea eax, [esp + 0x38]
push 0x4ad068
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
push str.configplayer.ini
lea ecx, [esp + 0x2c]
push 0x4cbdc0
push ecx
call fcn.004010a0
add esp, 0x20
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea edx, [esp + 0x30]
push edx
push str.last_reg_mcc_ver
push str.regctl
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push str.PIPIWebPlayer.ocx
lea eax, [esp + 0x18]
push 0x4cbdc0
push eax
call fcn.004010a0
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x43c], 4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x438], 2
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push str.configplayer.ini
lea ecx, [esp + 0x18]
push 0x4cbdc0
push ecx
call fcn.004010a0
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push 0xffffffffffffffff
push str.last_reg_webplayer_ver
push str.regctl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x14]
mov esi, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
mov ecx, edi
call fcn.0042c860
mov edi, dword [esp + 0x20]
cmp esi, edi
jne 0x430da8
lea edx, [esp + 0x14]
push edx
push 0x20019
push 0
push str.TypeLibDDB55E8E_A844_4558_8D7D_8511352BE59F1.00win32
push SysReAllocString
mov byte [esp + 0x27], 1
mov dword [esp + 0x28], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x430da8
test ebx, ebx
je 0x430d48
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
jne 0x430da8
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
push ecx
push 0x4acbb2
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], 0x400
call fcn.0042d6f0
test eax, eax
jne 0x430d8f
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CompareNoCase]
test eax, eax
jne 0x430d8f
mov byte [esp + 0x13], al
test ebx, ebx
je 0x430da0
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov al, byte [esp + 0x13]
test al, al
je 0x430e0a
push 1
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call fcn.0049b770
push edi
lea eax, [esp + 0x38]
push 0x4ad068
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
push str.configplayer.ini
lea ecx, [esp + 0x3c]
push 0x4cbdc0
push ecx
call fcn.004010a0
add esp, 0x20
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea edx, [esp + 0x30]
push edx
push str.last_reg_webplayer_ver
push str.regctl
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test ebx, ebx
je 0x430e29
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x420]
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004a17d1
add esp, 0x42c
ret