Function at 0x404f7f
Capabilities:
Get file size
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
xor ebx, ebx
mov eax, ecx
push ebx
push 1
push 3
push ebx
push 1
push ebx
push eax
mov dword [ebp - 0x1c], eax
mov edi, 0x1388
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x404fea
push ebx
push esi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileSize]
push esi
mov edi, eax
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
cmp edi, 0x200000
jb 0x404fea
mov ecx, 0xe88
call fcn.0040d995
push 1
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
xor eax, eax
jmp 0x405160
lea eax, [edi + edi]
mov dword [ebp - 0x14], ebx
mov ecx, eax
mov dword [ebp - 0xc], eax
call fcn.0040ebd3
mov esi, eax
mov dword [ebp - 4], esi
test esi, esi
jne 0x405019
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
jmp 0x404fe3
mov ecx, dword [ebp - 0xc]
call fcn.0040ebd3
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
test eax, eax
jne 0x405049
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
lea ecx, [ebp - 4]
call fcn.0040eb2f
jmp 0x404fe3
mov ecx, esi
call fcn.0040ed63
mov ecx, esi
test eax, eax
je 0x40505e
mov byte [ecx], bl
inc ecx
sub eax, 1
jne 0x405056
push dword [ebp - 0x1c]
push edi
push esi
push 0x401218
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_0.dll_GetPrivateProfileSectionW]
lea ecx, [edi - 2]
mov dword [ebp - 0x18], eax
cmp eax, ecx
jne 0x4050e8
mov esi, dword [ebp - 0xc]
lea ecx, [ebp - 4]
add esi, 0x800
add edi, 0x400
mov dword [ebp - 0xc], esi
call fcn.0040eb2f
lea ecx, [ebp - 8]
call fcn.0040eb2f
mov ecx, esi
call fcn.0040ebd3
mov ecx, dword [ebp - 0xc]
mov esi, eax
mov dword [ebp - 4], esi
call fcn.0040ebd3
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
test esi, esi
je 0x4050c4
test eax, eax
je 0x4050c4
cmp edi, 0xffff
jne 0x40505e
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
lea ecx, [ebp - 4]
call fcn.0040eb2f
lea ecx, [ebp - 8]
jmp 0x405042
mov ecx, esi
call fcn.0040e3f2
xor ecx, ecx
mov word [esi + eax*2], cx
call fcn.0040f178
mov edx, eax
mov dword [ebp - 0xc], edx
test edx, edx
je 0x4050c4
cmp dword [ebp - 0x18], ebx
jbe 0x40514c
mov edi, dword [ebp - 0x10]
mov ecx, ebx
mov edx, ebx
mov ax, word [esi + ecx*2]
mov word [edi + edx*2], ax
inc edx
cmp word [esi + ecx*2], bx
jne 0x405140
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov word [edi + edx*2 + 2], ax
mov edx, edi
push ebx
call fcn.0040f1fd
mov ecx, edi
call fcn.0040e3f2
test eax, eax
je 0x405165
mov ecx, dword [ebp - 0x14]
mov edx, ebx
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x18]
jb 0x40510f
mov edx, dword [ebp - 0xc]
mov ebx, edx
lea ecx, [ebp - 4]
call fcn.0040eb2f
lea ecx, [ebp - 8]
call fcn.0040eb2f
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
push 8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
push 0x7c
pop ecx
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
push 2
call fcn.00411dc9
pop ecx
mov ecx, eax
call fcn.0040d79d
jmp 0x40514e