Function at 0x409f3c
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41ae6a
call fcn.00411544
mov eax, 0x1188
call fcn.00411720
push ebx
push esi
mov esi, ecx
push edi
push esi
push 0x452
lea ecx, [ebp - 0x2c]
call fcn.00401754
and dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00401797
test eax, eax
je 0x40a380
cmp dword [0x423ea8], 0
jne 0x40a380
and byte [ebp - 0x994], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x993]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.0040a416
test eax, eax
je 0x409faf
push 0x4230e4
jmp 0x409fb5
push dword [esi + 0x2cb8]
lea eax, [ebp - 0x994]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ebx, [esi + 0x141c]
xor edi, edi
lea ecx, [ebp - 0x994]
lea eax, [esi + 0x1010]
cmp dword [ebx], edi
push ecx
jne 0x409ff4
push dword [esi + 0xc]
push eax
push ebx
push 0x65
push 0xbba
push dword [esi + 0x2cd0]
call fcn.00405a45
jmp 0x40a014
push edi
push eax
lea eax, [ebp - 0x10]
push eax
push 0x65
push 0xbba
push dword [esi + 0x2cd0]
call fcn.00405a45
mov ecx, dword [ebx]
mov dword [0x4244d4], ecx
cmp eax, edi
jne 0x40a380
cmp dword [0x424d84], edi
jne 0x40a0c4
cmp dword [esi + 0x1418], edi
jne 0x40a0c4
and byte [ebp - 0x594], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x593]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x594]
mov ecx, esi
push eax
push dword [0x4244d4]
call fcn.0040a8f9
test eax, eax
jne 0x40a129
lea eax, [ebp - 0x594]
xor edi, edi
push eax
push edi
mov ecx, esi
call fcn.0040a8f9
test eax, eax
jne 0x40a12b
mov ecx, esi
call fcn.0040a416
test eax, eax
je 0x40a09d
push edi
mov ecx, esi
push dword [0x41b634]
call fcn.0040a5a4
jmp 0x40a0c0
push dword [0x41b634]
lea eax, [ebp - 0x594]
push 0x42497c
push eax
call fcn.0040c475
lea eax, [ebp - 0x594]
push eax
call fcn.0040c5ad
test eax, eax
jne 0x40a12b
mov dword [ebp - 0x10], edi
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push dword [0x4244d4]
call fcn.0040cab9
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x40a152
lea eax, [ebp - 0x194]
push eax
push dword [0x4244d4]
call fcn.0040cd10
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x424d80], eax
lea ecx, [ebp - 0x194]
push ecx
push eax
call fcn.0040bd91
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.0040178c
xor eax, eax
jmp 0x40a390
xor edi, edi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x594]
push eax
call fcn.00401087
cmp eax, edi
jne 0x40a0c4
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0040a9d7
mov dword [ebp - 0x10], eax
jmp 0x40a0c7
lea edi, [esi + 0xc10]
push 0x400
push 0
push edi
call fcn.00410ec0
push 0xa
push edi
push dword [ebx]
call fcn.0041239c
push dword [0x41f980]
push edi
call fcn.00410fc0
mov ecx, dword [esi + 0x28b4]
add esp, 0x20
call fcn.0040b498
test ax, ax
je 0x40a1af
cmp dword [esi + 0x1010], 1
jbe 0x40a1af
cmp dword [esi + 0x1420], 5
je 0x40a1af
mov ecx, esi
call fcn.0040a595
test eax, eax
je 0x40a380
cmp dword [ebp - 0x10], 0
mov edi, 0x3e8
jne 0x40a200
push 0x423eb8
push 0x3e9
push dword [0x41b63c]
push dword [0x41b630]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 4
mov edi, eax
call fcn.004110c7
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x40a1f4
mov ecx, eax
call fcn.00405378
jmp 0x40a1f6
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0x2898], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x2898]
push edi
push esi
push dword [esi + 0x2cd0]
call fcn.004053a4
lea eax, [ebp - 0xd94]
push 0x400
push eax
push 0x44e
call fcn.0040be05
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0xd94]
push eax
call edi
test eax, eax
je 0x40a275
mov ebx, 0x41f16c
lea eax, [ebp - 0xd94]
push ebx
push eax
call fcn.00412030
pop ecx
test eax, eax
pop ecx
je 0x40a275
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call edi
test eax, eax
je 0x40a275
push ebx
push dword [ebp - 0x10]
call fcn.00412030
pop ecx
test eax, eax
pop ecx
jne 0x40a28b
mov eax, 0x486
push eax
mov dword [0x424d80], eax
call fcn.0040bd91
pop ecx
jmp 0x40a380
lea eax, [ebp - 0x90]
push eax
push 1
pop ebx
push ebx
call fcn.0040cda2
pop ecx
lea eax, [ebp - 0x90]
pop ecx
push eax
lea eax, [esi + 0x410]
push eax
lea eax, [ebp - 0xd94]
push eax
lea eax, [ebp - 0x1194]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x1194]
mov ecx, esi
push eax
call fcn.0040a3f3
mov ecx, dword [esi + 0x2898]
mov edi, 0x3e8
push edi
call fcn.00405614
test eax, eax
je 0x40a2ec
mov esi, ebx
jmp 0x40a382
push esi
push 0x44f
lea ecx, [ebp - 0x20]
call fcn.00408de6
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00408e29
test eax, eax
je 0x40a374
cmp dword [0x423ea8], 0
jne 0x40a374
mov ecx, esi
call fcn.0040a735
test eax, eax
je 0x40a374
mov ecx, dword [esi + 0x2898]
push edi
call fcn.00405614
test eax, eax
jne 0x40a3b9
push esi
push 0x451
lea ecx, [ebp - 0x78]
call fcn.0040673a
mov ecx, dword [esi + 0x2898]
push edi
mov byte [ebp - 4], 3
call fcn.00405614
test eax, eax
jne 0x40a3ad
cmp dword [0x423ea8], eax
jne 0x40a3ad
lea ecx, [ebp - 0x78]
call fcn.00406797
test eax, eax
jne 0x40a39f
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0040678c
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00408e1e
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040178c
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x2cdc], eax
call fcn.00405402
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0040678c
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00408e1e
jmp 0x40a2e5