Function at 0x41c0e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fbb52
mov eax, dword fs:[0]
push eax
sub esp, 0x588
mov eax, dword [0x5732cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x588], edi
cmp ecx, eax
je 0x41c165
mov edx, dword [ebp - 0x594]
push edx
push ecx
push eax
push eax
call fcn.0041bb40
mov ebx, eax
mov eax, edi
mov edi, dword [eax + 0x24]
add esp, 0x10
mov esi, ebx
cmp ebx, edi
je 0x41c15a
nop
mov eax, dword [ebp - 0x588]
add eax, 0x2c
push esi
push eax
call fcn.0041baa0
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x41c140
mov eax, dword [ebp - 0x588]
mov dword [eax + 0x24], ebx
mov edi, eax
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
cmp ecx, eax
je 0x41c1b7
mov edx, dword [ebp - 0x594]
push edx
push ecx
push eax
push eax
call fcn.0041bb40
mov ebx, eax
mov eax, dword [ebp - 0x588]
mov edi, dword [eax + 0x34]
add esp, 0x10
mov esi, ebx
cmp ebx, edi
je 0x41c1ac
mov eax, dword [ebp - 0x588]
add eax, 0x3c
push esi
push eax
call fcn.0041baa0
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x41c192
mov eax, dword [ebp - 0x588]
mov dword [eax + 0x34], ebx
mov edi, eax
lea ecx, [ebp - 0x530]
push ecx
xor esi, esi
mov ecx, edi
mov word [edi + 0x1c], si
call fcn.0041bbd0
mov dword [ebp - 4], esi
push eax
mov ecx, edi
call fcn.00401960
push 0xffffffffffffffff
push esi
mov ebx, 0xf
push eax
lea ecx, [ebp - 0x54c]
mov dword [ebp - 0x538], ebx
mov dword [ebp - 0x53c], esi
mov byte [ebp - 0x54c], 0
call fcn.004019d0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x51c], 0x10
jb 0x41c219
mov edx, dword [ebp - 0x530]
push edx
call fcn.004db440
add esp, 4
push 0x11
push str.MozillaFirefox_
lea ecx, [ebp - 0x54c]
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 0x520], esi
mov byte [ebp - 0x530], 0
call fcn.00401b20
push 0xffffffffffffffff
push esi
push eax
mov ecx, edi
call fcn.004019d0
push 0xc
push 0x513f74
lea ecx, [ebp - 0x54c]
call fcn.00401b20
cmp dword [ebp - 0x538], 0x10
mov eax, dword [ebp - 0x54c]
jae 0x41c270
lea eax, [ebp - 0x54c]
push eax
mov ecx, edi
call fcn.0041b8d0
test al, al
je 0x41c76c
mov eax, dword [ebp - 0x54c]
xor esi, esi
cmp dword [ebp - 0x538], 0x10
jae 0x41c297
lea eax, [ebp - 0x54c]
push eax
push 0x400
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea ecx, [ebp - 0x514]
xor eax, eax
dec ecx
mov dword [ebp - 0x590], ecx
lea esp, [esp]
mov ecx, dword [ebp - 0x590]
cmp byte [ecx + eax + 1], 0
lea ebx, [eax + 1]
jne 0x41c369
cmp eax, esi
jle 0x41c365
lea ecx, [ebp + esi - 0x514]
mov eax, ecx
mov dword [ebp - 0x51c], 0xf
mov dword [ebp - 0x520], 0
mov byte [ebp - 0x530], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41c303
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x530]
call fcn.00401c40
mov byte [ebp - 4], 3
lea edx, [ebp - 0x530]
push edx
lea ecx, [edi + 0x40]
call fcn.0041c050
mov byte [ebp - 4], 2
cmp dword [ebp - 0x51c], 0x10
jb 0x41c348
mov eax, dword [ebp - 0x530]
push eax
call fcn.004db440
add esp, 4
mov dword [ebp - 0x51c], 0xf
mov dword [ebp - 0x520], 0
mov byte [ebp - 0x530], 0
jmp 0x41c367
je 0x41c376
mov esi, ebx
mov eax, ebx
cmp eax, 0x400
jl 0x41c2c0
mov esi, dword [edi + 0x40]
mov dword [ebp - 0x590], esi
cmp esi, dword [edi + 0x44]
je 0x41c76c
xor ebx, ebx
lea ebx, [ebx]
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x554], 0xf
mov dword [ebp - 0x558], ebx
mov byte [ebp - 0x568], 0
call fcn.004019d0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x554], 0x10
mov eax, dword [ebp - 0x568]
jae 0x41c3cf
lea eax, [ebp - 0x568]
push str.General
push eax
call fcn.004dc720
add esp, 8
test eax, eax
je 0x41c424
mov ecx, dword [ebp - 0x54c]
mov eax, 0x10
cmp dword [ebp - 0x538], eax
jae 0x41c3fa
lea ecx, [ebp - 0x54c]
cmp dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x568]
jae 0x41c40e
lea eax, [ebp - 0x568]
push ecx
push ebx
push str.StartWithLastProfile
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, ebx
setne cl
mov byte [edi + 0x1c], cl
cmp dword [ebp - 0x554], 0x10
mov eax, dword [ebp - 0x568]
jae 0x41c439
lea eax, [ebp - 0x568]
push str.Profile
push eax
call fcn.004dc720
add esp, 8
test eax, eax
je 0x41c727
mov ecx, dword [ebp - 0x54c]
mov eax, 0x10
cmp dword [ebp - 0x538], eax
jae 0x41c468
lea ecx, [ebp - 0x54c]
cmp dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x568]
jae 0x41c47c
lea eax, [ebp - 0x568]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ecx
push 0
push str.IsRelative
push eax
call esi
mov ecx, dword [ebp - 0x54c]
test eax, eax
mov eax, 0x10
setne bl
cmp dword [ebp - 0x538], eax
jae 0x41c4ab
lea ecx, [ebp - 0x54c]
cmp dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x568]
jae 0x41c4bf
lea eax, [ebp - 0x568]
push ecx
push 0
push str.Default
push eax
call esi
push 0x104
lea edx, [ebp - 0x114]
test eax, eax
push 0
push edx
setne byte [ebp - 0x589]
call fcn.004dba80
mov ecx, dword [ebp - 0x54c]
mov eax, 0x10
add esp, 0xc
cmp dword [ebp - 0x538], eax
jae 0x41c502
lea ecx, [ebp - 0x54c]
cmp dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x568]
jae 0x41c516
lea eax, [ebp - 0x568]
push ecx
push 0x400
lea ecx, [ebp - 0x114]
push ecx
push 0
push str.Path
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x51c], 0xf
mov dword [ebp - 0x520], 0
mov byte [ebp - 0x530], 0
mov byte [ebp - 4], 5
test bl, bl
je 0x41c627
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x584]
push edi
push eax
call fcn.00404600
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x530]
cmp ecx, esi
je 0x41c5f0
cmp dword [ebp - 0x51c], 0x10
jb 0x41c597
mov edx, dword [ebp - 0x530]
push edx
call fcn.004db440
add esp, 4
xor ebx, ebx
mov dword [ebp - 0x51c], 0xf
mov dword [ebp - 0x520], ebx
mov byte [ebp - 0x530], bl
cmp dword [esi + 0x14], 0x10
jae 0x41c5cc
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x530]
push esi
push eax
call fcn.004dc040
add esp, 0xc
jmp 0x41c5d6
mov ecx, dword [esi]
mov dword [ebp - 0x530], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x520], edx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x51c], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
jmp 0x41c5f2
xor ebx, ebx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x570], 0x10
jb 0x41c60e
mov ecx, dword [ebp - 0x584]
push ecx
call fcn.004db440
add esp, 4
mov dword [ebp - 0x570], 0xf
mov dword [ebp - 0x574], ebx
mov byte [ebp - 0x584], 0
jmp 0x41c64e
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41c630
sub eax, edx
push eax
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x530]
call fcn.00401c40
xor ebx, ebx
lea eax, [ebp - 0x530]
push eax
lea ecx, [edi + 0x30]
call fcn.0041c050
cmp byte [edi + 0x1d], 0
jne 0x41c6ec
cmp byte [edi + 0x1c], 0
je 0x41c6dd
cmp byte [ebp - 0x589], 0
je 0x41c6dd
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
cmp ecx, eax
je 0x41c6d4
mov edx, dword [ebp - 0x594]
push edx
push ecx
push eax
push eax
call fcn.0041bb40
mov ebx, eax
mov eax, dword [ebp - 0x588]
mov edi, dword [eax + 0x24]
add esp, 0x10
mov esi, ebx
cmp ebx, edi
je 0x41c6c7
add eax, 0x2c
mov dword [ebp - 0x594], eax
lea esp, [esp]
mov eax, dword [ebp - 0x594]
push esi
push eax
call fcn.0041baa0
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x41c6b0
mov eax, dword [ebp - 0x588]
mov dword [eax + 0x24], ebx
mov edi, eax
xor ebx, ebx
mov cl, byte [ebp - 0x589]
mov byte [edi + 0x1d], cl
lea edx, [ebp - 0x530]
push edx
lea ecx, [edi + 0x20]
call fcn.0041c050
mov byte [ebp - 4], 4
cmp dword [ebp - 0x51c], 0x10
jb 0x41c708
mov eax, dword [ebp - 0x530]
push eax
call fcn.004db440
add esp, 4
mov esi, dword [ebp - 0x590]
mov dword [ebp - 0x520], ebx
mov dword [ebp - 0x51c], 0xf
mov byte [ebp - 0x530], 0
xor ebx, ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x554], 0x10
jb 0x41c743
mov ecx, dword [ebp - 0x568]
push ecx
call fcn.004db440
add esp, 4
add esi, 0x1c
mov dword [ebp - 0x554], 0xf
mov dword [ebp - 0x558], ebx
mov byte [ebp - 0x568], 0
mov dword [ebp - 0x590], esi
cmp esi, dword [edi + 0x44]
jne 0x41c390
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x538], 0x10
jb 0x41c78b
mov edx, dword [ebp - 0x54c]
push edx
call fcn.004db440
add esp, 4
mov dword [ebp - 0x538], 0xf
mov dword [ebp - 0x53c], 0
mov byte [ebp - 0x54c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004db901
mov esp, ebp
pop ebp
ret