Function at 0x58ff04
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x590362
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5a845f], 0
jne 0x58ff4f
mov eax, dword [ebp - 4]
call fcn.0059bb50
xor eax, eax
push ebp
push 0x59010c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x498]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a0]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a8]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x59c]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x564]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a0]
call fcn.0047fdd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
call fcn.0047fdd8
cmp dword [0x5a8480], 0
jne 0x5900aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x57c]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58c]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5b0]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.0042a0d0
jmp 0x590102
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x57c]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58c]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.0042a0d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5b0]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.0042a0d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x590116
lea edx, [ebp - 0x110]
mov eax, dword [0x5a5f50]
mov eax, dword [eax]
call fcn.004a0248
mov eax, dword [ebp - 0x110]
lea edx, [ebp - 0x10c]
call fcn.0040a380
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 8]
mov ecx, 0x590378
call fcn.0040503c
mov eax, dword [ebp - 8]
call fcn.00409f60
test al, al
je 0x5901c9
xor eax, eax
push ebp
push 0x5901ae
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.004051f0
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x108]
push eax
push 0x590384
push 0x590388
push 0x590390
call sub.kernel32.dll_GetPrivateProfileStringA
mov eax, 0x5a8470
lea edx, [ebp - 0x108]
mov ecx, pe_nt_image_headers32
call fcn.00404fa0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5901d8
mov eax, 0x5a8470
mov edx, 0x5903a0
call fcn.00404d84
mov eax, dword [0x5a8470]
mov edx, 0x5903ac
call fcn.0040513c
jne 0x5902d9
mov eax, dword [0x5a62cc]
mov edx, 0x5903b8
call fcn.00404d84
mov eax, dword [0x5a60fc]
mov edx, 0x5903cc
call fcn.00404d84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
mov eax, dword [eax + 0x208]
mov edx, 3
call fcn.00453014
push eax
mov edx, dword [0x5a62cc]
mov edx, dword [edx]
lea eax, [ebp - 0x114]
mov ecx, 0x5903d8
call fcn.0040503c
mov edx, dword [ebp - 0x114]
pop eax
call fcn.00452f70
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x448]
xor edx, edx
call fcn.0047fb58
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x44c]
xor edx, edx
call fcn.0047fb58
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x5a8]
xor edx, edx
call fcn.0047fb58
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x3a8]
xor edx, edx
call fcn.00491db0
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x430]
xor edx, edx
call fcn.00491db0
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x434]
xor edx, edx
call fcn.00491db0
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x450]
xor edx, edx
call fcn.0047f380
mov eax, dword [0x5a83ec]
mov eax, dword [eax + 0x444]
call fcn.00480174
jmp 0x5902e2
mov eax, dword [0x5a624c]
xor edx, edx
mov dword [eax], edx
xor eax, eax
push ebp
push 0x590327
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x118]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x564]
mov eax, ebx
call fcn.0047fc38
mov eax, dword [ebp - 0x118]
call fcn.00404ff0
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0xdc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x590331
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x590369
lea eax, [ebp - 0x118]
call fcn.00404d30
lea eax, [ebp - 0x114]
mov edx, 3
call fcn.00404d54
lea eax, [ebp - 8]
call fcn.00404d30
ret