Function at 0x406277
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x427c0f
call fcn.0041b8d0
sub esp, 0x450
and byte [ebp - 0x45c], 0
and byte [ebp - 0x254], 0
push esi
push edi
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x45b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x253]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x3028
lea ecx, [ebp - 0x2c]
stosb byte es:[edi], al
call fcn.004133d0
and dword [ebp - 4], 0
and byte [ebp - 0x358], 0
xor eax, eax
push 0x40
pop ecx
lea edi, [ebp - 0x357]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x358]
sub ecx, eax
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x4062ea
mov eax, dword [ebp - 0x28]
test eax, eax
mov esi, 0x401650
jne 0x406302
mov eax, esi
push eax
lea eax, [ebp - 0x358]
push eax
call fcn.00413a76
lea eax, [ebp - 0x358]
push 0
push eax
call fcn.0041c2eb
test eax, eax
pop ecx
pop ecx
je 0x40632a
xor esi, esi
jmp 0x40652c
push ebx
mov edi, 0x301a
push edi
lea ecx, [ebp - 0x3c]
call fcn.004133d0
mov ebx, eax
mov byte [ebp - 4], 1
push edi
lea ecx, [ebp - 0x1c]
call fcn.004133d0
mov byte [ebp - 4], 2
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x406355
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
jne 0x40635e
mov eax, esi
lea edx, [ebp - 0x358]
push edx
mov ebx, 0x104
push ebx
lea edx, [ebp - 0x45c]
push edx
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.0041341e
and byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.0041341e
lea eax, [ebp - 0x45c]
push esi
push eax
call fcn.0041bbc4
test eax, eax
pop ecx
pop ecx
jne 0x4063ad
xor esi, esi
jmp 0x40652b
and byte [ebp - 0x150], 0
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x14f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x150]
push ebx
push eax
call fcn.0041c4ca
mov eax, dword [ebp - 0x28]
test eax, eax
pop ecx
pop ecx
jne 0x4063dc
mov eax, esi
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00413a76
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.0041c2eb
test eax, eax
pop ecx
pop ecx
je 0x40646f
push 0x3000
lea ecx, [ebp - 0x1c]
call fcn.004133d0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x406417
mov eax, esi
push ebx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0041ba87
mov eax, dword [ebp - 0x28]
add esp, 0xc
test eax, eax
jne 0x406431
mov eax, esi
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00413a76
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.0041c2eb
test eax, eax
pop ecx
pop ecx
je 0x406463
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.0041341e
jmp 0x4063a6
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.0041341e
mov edi, 0x301a
push edi
lea ecx, [ebp - 0x4c]
call fcn.004133d0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 4
push edi
lea ecx, [ebp - 0x3c]
call fcn.004133d0
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x40649d
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
jne 0x4064a6
mov eax, esi
lea edx, [ebp - 0x150]
push edx
push ebx
lea edx, [ebp - 0x254]
push edx
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3c]
call fcn.0041341e
and byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0041341e
lea eax, [ebp - 0x254]
push esi
push eax
call fcn.0041bbc4
test eax, eax
pop ecx
pop ecx
je 0x4063a6
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x254]
lea eax, [ebp - 0x254]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4064fe
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x45c]
push eax
call fcn.00406197
test eax, eax
je 0x406528
cmp eax, 1
jne 0x4063a6
xor esi, esi
inc esi
pop ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0041341e
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
leave
ret 8