Function at 0x500c70
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x501270
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x85c
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x868]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ecx
push eax
push 0x800
push edx
push 0x76acc0
push 0x791600
push 0x7915c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x500ce8
mov ecx, dword [ebp - 0x18]
add ecx, 0x54
push 0x7915e0
call fcn.0054bebe
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x868]
push eax
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
push 0x76acc0
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 1
lea edx, [ebp - 0x868]
mov eax, dword [ebp + 8]
push eax
push 0x800
push edx
push 0x76acc0
push 0x791620
push 0x7915c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x500d4a
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0x868]
push eax
call fcn.0054bebe
lea edx, [ebp - 0x868]
mov eax, dword [ebp + 8]
push eax
push 0x800
push edx
push 0x76acc0
push 0x791660
push 0x7915c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x500db3
mov ecx, dword [ebp - 0x18]
add ecx, 0x54
push 0x791640
call fcn.0054bebe
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x868]
mov eax, dword [ebp - 0x18]
lea edx, [eax + 0x28]
push edx
push ecx
call fcn.00501fc0
add esp, 8
movzx eax, al
test eax, eax
jne 0x500e10
mov ecx, dword [ebp - 0x18]
add ecx, 0x54
push 0x791680
call fcn.0054bebe
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
push eax
push 0
push 0x7916a0
push 0x7915c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x1c], eax
mov edx, eax
mov eax, dword [ebp - 0x18]
test edx, edx
mov dword [eax + 0x4c], edx
je 0x500ebc
mov eax, edx
imul edx, eax, 0x74
add edx, 4
push esp
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 8
mov dword [ebp - 0x20], eax
test eax, eax
mov dword [ebp - 0x60], eax
je 0x501132
mov dword [ebp - 4], 2
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x20], edx
push fcn.005035e0
push 0x502ba0
push eax
push 0x74
push edx
call fcn.0054bb0c
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x50], eax
mov dword [ebp - 4], 1
xor ebx, ebx
mov eax, edx
mov edx, dword [eax + 0x4c]
test edx, edx
jle 0x500ebc
push ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00501730
movzx eax, al
test eax, eax
je 0x5010f9
inc ebx
mov eax, dword [ebp - 0x18]
cmp ebx, dword [eax + 0x4c]
jl 0x500e9b
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp + 8]
push eax
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x5c]
push 0x5c
call sub.MFC42.DLL_CString::ReverseFind
cmp eax, 0xffffffff
je 0x500f0e
lea ecx, [ebp - 0x5c]
lea edx, [ebp - 0x58]
inc eax
push eax
push edx
call sub.MFC42.DLL_CString::Left
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x58]
push eax
call fcn.0054c020
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x58]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x68]
push eax
push edx
push ecx
call sub.MFC42.DLL_operator_1
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x54]
push eax
call fcn.0054c020
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x54]
call sub.MFC42.DLL_CString::CString
mov edi, dword [ebp - 0x64]
mov esi, 0x76acc0
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x500f69
or dl, dl
je 0x500f65
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x500f69
add edi, 2
add esi, 2
or dl, dl
jne 0x500f49
xor eax, eax
jmp 0x500f6e
sbb eax, eax
or eax, 1
test eax, eax
je 0x500fa5
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x64]
push eax
push edx
push ecx
call sub.MFC42.DLL_operator_1
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
call fcn.0054c020
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00501640
mov edx, dword [ebp - 0x18]
test eax, eax
mov dword [edx + 0x14], eax
je 0x5011e8
lea edx, [ebp - 0x48]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x40]
mov dword [ecx + 0x1c], eax
mov edi, dword [ebp - 0x64]
mov esi, 0x76acc0
mov dword [ecx + 0x20], edx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x501003
or dl, dl
je 0x500fff
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x501003
add edi, 2
add esi, 2
or dl, dl
jne 0x500fe3
xor eax, eax
jmp 0x501008
sbb eax, eax
or eax, 1
test eax, eax
je 0x501027
mov eax, dword [ebp - 0x64]
push esp
push eax
call fcn.005020a0
add esp, 8
mov edx, dword [ebp - 0x18]
test eax, eax
mov dword [edx + 0xc], eax
je 0x501160
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [ebp - 0x18]
test eax, eax
mov dword [edx + 0x10], eax
jne 0x501081
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edx + 0x14]
push ecx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x18], eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x500e80
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x64]
push eax
push 0x7916e0
push edx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x18]
add ecx, 0x54
lea eax, [ebp - 0x30]
push eax
call fcn.0054c020
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x30]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x68]
push eax
push 0x7916c0
push edx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x18]
add ecx, 0x54
lea eax, [ebp - 0x4c]
push eax
call fcn.0054c020
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4