Function at 0x42f090
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x45cadb
push eax
mov dword fs:[0], esp
sub esp, 0x90c
push ebp
mov ebp, dword [esp + 0x920]
test ebp, ebp
je 0x42f339
mov al, byte [0x473aa0]
push ebx
push esi
push edi
mov byte [esp + 0x14], al
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x15]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push ecx
call fcn.0042f4c0
mov edx, dword [0x471a34]
add esp, 4
mov dword [esp + 0x10], edx
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
mov dword [esp + 0x928], 0
call fcn.0044e649
push 0x47173c
push 0x46f79c
lea ecx, [esp + 0x18]
call fcn.0044aa26
push 0x471738
push 0x46f7a0
lea ecx, [esp + 0x18]
call fcn.0044aa26
mov cl, byte [0x473aa0]
xor eax, eax
mov byte [esp + 0x11c], cl
mov ecx, 0xff
lea edi, [esp + 0x11d]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edx
lea eax, [esp + 0x120]
push 0x400
push eax
mov eax, dword [esp + 0x1c]
push eax
push eax
push str.String
call ebx
mov al, byte [esp + 0x11c]
test al, al
je 0x42f1f3
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42f1a7
test cl, cl
je 0x42f1a3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42f1a7
add eax, 2
add esi, 2
test cl, cl
jne 0x42f183
xor eax, eax
jmp 0x42f1ac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42f1f3
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x10]
push eax
call fcn.0045101c
push 0x46f79c
push 0x47173c
lea ecx, [esp + 0x18]
call fcn.0044aa26
push 0x46f7a0
push 0x471738
lea ecx, [esp + 0x18]
call fcn.0044aa26
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.004509aa
mov edx, dword [ebp + 0x1c]
push 5
push edx
call dword [sym.imp.USER32.dll_GetWindow]
push eax
call fcn.0044dc53
mov ebp, eax
test ebp, ebp
je 0x42f322
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.0044e649
push 0x47173c
push 0x46f79c
lea ecx, [esp + 0x18]
call fcn.0044aa26
push 0x471738
push 0x46f7a0
lea ecx, [esp + 0x18]
call fcn.0044aa26
mov cl, byte [0x473aa0]
xor eax, eax
mov byte [esp + 0x51c], cl
mov ecx, 0xff
lea edi, [esp + 0x51d]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x520]
push 0x400
push eax
mov eax, dword [esp + 0x1c]
push eax
push eax
push str.String
call ebx
mov al, byte [esp + 0x51c]
test al, al
je 0x42f306
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x51c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42f2ba
test cl, cl
je 0x42f2b6
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42f2ba
add eax, 2
add esi, 2
test cl, cl
jne 0x42f296
xor eax, eax
jmp 0x42f2bf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42f306
lea eax, [esp + 0x51c]
lea ecx, [esp + 0x10]
push eax
call fcn.0045101c
push 0x46f79c
push 0x47173c
lea ecx, [esp + 0x18]
call fcn.0044aa26
push 0x46f7a0
push 0x471738
lea ecx, [esp + 0x18]
call fcn.0044aa26
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.004509aa
mov edx, dword [ebp + 0x1c]
push 2
push edx
call dword [sym.imp.USER32.dll_GetWindow]
push eax
call fcn.0044dc53
mov ebp, eax
test ebp, ebp
jne 0x42f20f
lea ecx, [esp + 0x10]
mov dword [esp + 0x924], 0xffffffff
call fcn.00450e93
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x910]
pop ebp
mov dword fs:[0], ecx
add esp, 0x918
ret