Function at 0x5f34274c
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push ebx
push esi
mov esi, dword [sym.imp.msvcrt.dll_malloc]
push edi
push 0x208
mov dword [ebp - 0x10], 1
call esi
mov dword [ebp - 8], eax
mov dword [esp], 0x104
call esi
mov ebx, 0x100
push ebx
mov dword [ebp - 0xc], eax
call esi
push ebx
mov dword [ebp - 4], eax
call esi
mov edi, dword [sym.imp.msvcrt.dll_free]
xor ecx, ecx
add esp, 0xc
cmp dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
je 0x5f342958
cmp dword [ebp - 0xc], ecx
je 0x5f342952
cmp dword [ebp - 4], ecx
je 0x5f342952
cmp eax, ecx
je 0x5f342952
push dword [ebp + 8]
push dword [ebp - 8]
call dword [sym.imp.msvcrt.dll__msize]
pop ecx
push eax
push dword [ebp - 8]
mov edi, 0x5f342014
push edi
push 0x5f341ffc
push 0x5f341f88
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x5f3427fa
mov eax, dword [ebp + 0xc]
and dword [eax], 0
jmp 0x5f342930
push dword [ebp - 0xc]
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_CharToOemW]
push ebx
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
jne 0x5f34282b
mov eax, dword [ebp + 0xc]
and dword [eax], 0
and dword [ebp - 0x10], 0
jmp 0x5f342930
lea eax, [ebp - 0x98]
push 0x5f341ff8
push eax
call dword [sym.imp.msvcrt.dll_fopen]
mov dword [ebp + 8], eax
xor eax, eax
cmp dword [ebp + 8], eax
pop ecx
pop ecx
jne 0x5f342856
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ebp - 0x10], eax
jmp 0x5f342930
push dword [ebp + 8]
mov dword [ebp - 0x18], eax
push ebx
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_fgets]
add esp, 0xc
test eax, eax
je 0x5f342926
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5f34287a
sub eax, edx
cmp eax, 8
jbe 0x5f342900
cmp dword [ebp - 0x18], 0
jne 0x5f3428bc
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
push 0xc
je 0x5f34289f
call esi
pop ecx
mov dword [edi], eax
jmp 0x5f3428a7
call esi
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edi, eax
test edi, edi
je 0x5f34291a
push 0x200
call esi
test eax, eax
pop ecx
mov dword [edi + 4], eax
je 0x5f34291a
and dword [edi], 0
lea eax, [edi + 8]
push eax
push dword [ebp - 0x14]
push 0x5f341fe8
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0x10
cmp eax, 2
je 0x5f3428f0
mov eax, dword [edi + 4]
and word [eax], 0
or dword [edi + 8], 0xffffffff
mov dword [ebp - 0x18], 1
jmp 0x5f342900
push dword [edi + 4]
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_OemToCharW]
and dword [ebp - 0x18], 0
push dword [ebp + 8]
push ebx
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x5f342874
jmp 0x5f342926
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
and dword [ebp - 0x10], 0
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
push dword [ebp - 8]
mov esi, dword [sym.imp.msvcrt.dll_free]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp - 4]
call esi
push dword [ebp - 0x14]
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x10
jmp 0x5f342986
push dword [ebp - 8]
call edi
pop ecx
cmp dword [ebp - 0xc], 0
je 0x5f342964
push dword [ebp - 0xc]
call edi
pop ecx
cmp dword [ebp - 4], 0
je 0x5f342970
push dword [ebp - 4]
call edi
pop ecx
cmp dword [ebp - 0x14], 0
je 0x5f34297c
push dword [ebp - 0x14]
call edi
pop ecx
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8