Function at 0x417d58
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41e757
call fcn.0041baa0
sub esp, 0x13c
push esi
push edi
mov esi, ecx
call fcn.00417d3b
mov edi, dword [esp + 0x158]
test edi, edi
je 0x4180db
cmp byte [edi], 0
je 0x4180db
mov eax, dword [esp + 0x15c]
test eax, eax
je 0x4180db
cmp byte [eax], 0
je 0x4180db
push ebx
and byte [esi + 0x519], 0
and byte [esi + 0x51a], 0
push ebp
push eax
lea eax, [esp + 0x48]
push 0x105
mov ebx, 0x429ea8
push eax
push ebx
push 0x429948
push dword [0x421544]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x44]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
pop ecx
test eax, eax
pop ecx
jne 0x417df8
push dword [0x421550]
lea eax, [esp + 0x48]
push eax
call ebp
push edi
push esi
call ebp
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x44]
push eax
push esi
call edi
push 0x4281ec
push esi
call edi
lea eax, [esi + 0x30f]
push esi
push eax
call ebp
push dword [0x421528]
lea eax, [esi + 0x30f]
push eax
call edi
lea ecx, [esp + 0x44]
lea eax, [esi + 0x414]
push ecx
push eax
call ebp
lea eax, [esi + 0x414]
push 0x4281ec
push eax
call edi
push dword [0x421528]
lea eax, [esi + 0x414]
push eax
call edi
push dword [esp + 0x164]
lea eax, [esp + 0x48]
push 0x105
push eax
push ebx
push 0x429940
push dword [0x421544]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x44]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
pop ecx
test eax, eax
pop ecx
jne 0x417e98
push dword [0x421554]
lea eax, [esp + 0x48]
push eax
call ebp
lea eax, [esi + 0x105]
push esi
push eax
call ebp
lea eax, [esp + 0x44]
push eax
lea eax, [esi + 0x105]
push eax
call edi
push dword [esp + 0x164]
lea eax, [esp + 0x48]
push 0x105
push eax
push ebx
push 0x429938
push dword [0x421544]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x44]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
pop ecx
test eax, eax
pop ecx
jne 0x417ef2
push dword [0x421558]
lea eax, [esp + 0x48]
push eax
call ebp
push dword [esp + 0x160]
lea eax, [esi + 0x20a]
push eax
call ebp
lea eax, [esp + 0x44]
push eax
lea eax, [esi + 0x20a]
push eax
call edi
lea eax, [esi + 0x105]
lea ecx, [esi + 0x51c]
push eax
call fcn.0040f825
push 1
push 0x4287d8
lea ecx, [esi + 0x51c]
call fcn.0040f6b3
test eax, eax
je 0x417f3f
mov byte [esi + 0x519], 1
push dword [esp + 0x164]
lea eax, [esp + 0x48]
push 0x105
push eax
push ebx
push dword [0x421538]
push dword [0x421544]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x44]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
pop ecx
test eax, eax
pop ecx
jne 0x417f82
push dword [0x42153c]
lea eax, [esp + 0x48]
push eax
call ebp
push dword [esp + 0x160]
lea eax, [esi + 0x530]
push eax
call ebp
lea eax, [esp + 0x44]
push eax
lea eax, [esi + 0x530]
push eax
call edi
lea eax, [esi + 0x530]
push 0x4281ec
push eax
call edi
lea eax, [esi + 0x530]
lea ecx, [esi + 0x635]
push eax
push ecx
call ebp
push dword [0x421534]
lea ebp, [esi + 0x635]
push ebp
call edi
lea eax, [esp + 0x30]
push ebp
push eax
call fcn.00417b8d
pop ecx
pop ecx
and dword [esp + 0x154], 0
lea edi, [esi + 0x73c]
push eax
mov ecx, edi
call fcn.0040f59b
or dword [esp + 0x154], 0xffffffff
cmp dword [esp + 0x40], 0
je 0x418009
push dword [esp + 0x40]
call sub.MFC42.DLL_operatordelete
pop ecx
push 1
push 0x4287d8
mov ecx, edi
call fcn.0040f6b3
test eax, eax
je 0x418022
mov byte [esi + 0x73a], 1
push dword [esp + 0x164]
mov ebp, 0x105
lea eax, [esp + 0x48]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ebp
push eax
push ebx
push dword [0x42155c]
push dword [0x421540]
call edi
test eax, eax
jne 0x4180a7
lea eax, [esp + 0x10]
push 0x42887c
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [esp + 0x18]
push 0x428738
push eax
call sub.MSVCRT.dll_strcat
lea eax, [esp + 0x20]
push 0x428734
push eax
call sub.MSVCRT.dll_strcat
lea eax, [esp + 0x28]
push 0x428730
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x20
lea eax, [esp + 0x44]
push dword [esp + 0x164]
push ebp
push eax
push ebx
lea eax, [esp + 0x20]
push dword [0x42155c]
push eax
call edi
push dword [0x421560]
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
pop ecx
pop ecx
pop ebp
test eax, eax
pop ebx
jne 0x4180d3
and byte [esi + 0x519], al
and byte [esi + 0x73a], al
mov byte [esi + 0x51a], 1
mov al, byte [esi + 0x519]
jmp 0x4180dd
xor al, al
mov ecx, dword [esp + 0x144]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret 8