Function at 0x4c9870
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x7d0
push ebx
mov ebx, dword [esp + 0x7e4]
test ebx, ebx
push ebp
mov ebp, dword [esp + 0x7ec]
push edi
je 0x4c98a3
test ebp, ebp
jle 0x4c98a3
mov ecx, ebp
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x7e0]
test edi, edi
je 0x4c99c0
lea eax, [esp + 0x3f4]
push 0x3e7
push eax
call fcn.00423a00
lea edx, [esp + 0x3fc]
add esp, 8
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c98d2
lea ecx, [esp + 0x3f4]
push 0xf
push ecx
call fcn.00551b90
mov al, byte [esp + 0x3fc]
add esp, 8
test al, al
je 0x4c9b1e
lea edx, [esp + 0x3f4]
push 0x5b
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c992c
mov byte [eax], 0x7e
lea eax, [esp + 0x3f4]
push 0x5b
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9913
lea ecx, [esp + 0x3f4]
push 0x5d
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c995b
lea edx, [esp + 0x3f4]
push 0x5d
push edx
mov byte [eax], 0x7e
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9942
lea eax, [esp + 0x3f4]
push 0xa
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c998a
lea ecx, [esp + 0x3f4]
push 0xa
push ecx
mov byte [eax], 0x7e
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9971
lea edx, [esp + 0x3f4]
push 0xd
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c99b9
mov byte [eax], 0x7e
lea eax, [esp + 0x3f4]
push 0xd
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c99a0
lea edi, [esp + 0x3f4]
push esi
mov esi, dword [esp + 0x7e8]
test esi, esi
je 0x4c9afa
lea ecx, [esp + 0x10]
push 0x3e7
push ecx
call fcn.00423a00
lea edx, [esp + 0x18]
add esp, 8
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c99f0
lea edx, [esp + 0x10]
push 0xf
push edx
call fcn.00551b90
mov al, byte [esp + 0x18]
add esp, 8
test al, al
je 0x4c9b1d
lea eax, [esp + 0x10]
push 0x5b
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c9a3e
lea ecx, [esp + 0x10]
push 0x5b
push ecx
mov byte [eax], 0x7e
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9a28
lea edx, [esp + 0x10]
push 0x5d
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c9a67
mov byte [eax], 0x7e
lea eax, [esp + 0x10]
push 0x5d
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9a51
lea ecx, [esp + 0x10]
push 0xa
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c9a96
lea ebx, [ebx]
lea edx, [esp + 0x10]
push 0xa
push edx
mov byte [eax], 0x7e
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9a80
lea eax, [esp + 0x10]
push 0xd
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c9ac6
lea esp, [esp]
lea ecx, [esp + 0x10]
push 0xd
push ecx
mov byte [eax], 0x7e
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9ab0
lea edx, [esp + 0x10]
push 0x3d
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4c9af6
lea esp, [esp]
mov byte [eax], 0x7e
lea eax, [esp + 0x10]
push 0x3d
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c9ae0
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x7ec]
test eax, eax
jne 0x4c9b0a
mov eax, 0x5e6c98
mov ecx, dword [esp + 0x7f8]
push ecx
push ebp
push ebx
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x7d0
ret