Function at 0x404400
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41c540
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x425008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x42266b
lea ecx, [ebp - 0x28]
call fcn.00406280
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.00403cc0
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x40446a
mov byte [ebp - 0x5a], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406430
mov al, byte [ebp - 0x5a]
jmp 0x4046db
push str.profiles.ini
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.00405140
add esp, 0xc
mov byte [ebp - 4], 1
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x40]
call fcn.004062e0
push eax
push 0
push str.StartWithLastProfile
push 0x4227c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x4044d5
mov byte [ebp - 0x5b], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00406430
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406430
mov al, byte [ebp - 0x5b]
jmp 0x4046db
push 0x1000
call fcn.00409e37
add esp, 4
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x68], ecx
push 0x1000
push 0
mov edx, dword [ebp - 0x68]
push edx
call fcn.0040ae60
add esp, 0xc
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x40]
call fcn.004062e0
push eax
push 0x14
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
push edx
lea ecx, [ebp - 0x58]
call fcn.00406280
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7c]
call fcn.00402170
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x60]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40462e
push str.General
lea edx, [ebp - 0x58]
push edx
call fcn.004052c0
add esp, 8
movzx eax, al
test eax, eax
je 0x404601
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x7c]
call fcn.004048d0
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x40]
call fcn.004062e0
push eax
push 0
push str.Default
lea ecx, [ebp - 0x58]
call fcn.004062e0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x404601
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.004062e0
push eax
lea ecx, [ebp - 0x40]
call fcn.004062e0
push eax
call fcn.00404280
add esp, 0x10
mov byte [ebp - 0x5c], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7c]
call fcn.00404870
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00406430
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00406430
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406430
mov al, byte [ebp - 0x5c]
jmp 0x4046db
lea ecx, [ebp - 0x58]
call fcn.00404820
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
movsx ecx, byte [eax]
test ecx, ecx
je 0x404629
mov edx, dword [ebp - 0x60]
push edx
lea ecx, [ebp - 0x58]
call fcn.004047b0
jmp 0x40453c
lea ecx, [ebp - 0x7c]
call fcn.00404890
cmp eax, 1
jne 0x4046a1
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 0
lea ecx, [ebp - 0x7c]
call fcn.004048b0
mov ecx, eax
call fcn.004062e0
push eax
lea ecx, [ebp - 0x40]
call fcn.004062e0
push eax
call fcn.00404280
add esp, 0x10
mov byte [ebp - 0x61], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7c]
call fcn.00404870
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00406430
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00406430
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406430
mov al, byte [ebp - 0x61]
jmp 0x4046db
mov byte [ebp - 0x59], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7c]
call fcn.00404870
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00406430
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00406430
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406430
mov al, byte [ebp - 0x59]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00409e94
mov esp, ebp
pop ebp
ret