Function at 0x485400
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e73c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x848
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], edi
mov eax, dword [edi + 0x6c]
mov dword [ebp - 4], esi
cmp eax, ebx
je 0x4856ab
cmp eax, esi
jl 0x485455
cmp dword [edi + 0x5c], esi
jne 0x48544d
cmp dword [edi + 0x160], esi
je 0x485455
push eax
mov ecx, edi
call fcn.004856d0
mov dword [edi + 0x5c], esi
mov dword [edi + 0x160], esi
mov dword [edi + 0x6c], ebx
mov eax, dword [edi + 0x140]
push esi
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x1009
push eax
call esi
mov ecx, dword [edi + 0x140]
push 0
push 0
push 0x102f
push ecx
call esi
xor esi, esi
cmp ebx, esi
jl 0x4856ab
mov edx, dword [0x52251c]
mov dword [ebp + 8], edx
push esi
lea eax, [ebp - 0x14]
push ebx
push eax
lea ecx, [edi + 0x16c]
mov byte [ebp - 4], 1
call fcn.004be87a
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call fcn.004c58c0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004c5787
lea ecx, [ebp + 8]
lea edx, [ebp - 0x44]
push ecx
push 0x527034
push edx
call fcn.004c59b6
push 0x51cbec
push eax
lea eax, [ebp - 0x14]
mov bl, 3
push eax
mov byte [ebp - 4], bl
call fcn.004c5a1c
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.004c58c0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call fcn.004c5787
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.004c5787
mov ecx, dword [str.state]
mov dx, word [0x51c894]
mov eax, dword [str.name]
mov dword [ebp - 0x38], ecx
mov cl, byte [0x51c88c]
mov word [ebp - 0x34], dx
mov edx, dword [0x51c884]
mov dword [ebp - 0x24], eax
mov eax, dword [str.download]
mov byte [ebp - 0x20], cl
mov ecx, dword [0x51c87c]
mov dword [ebp - 0x40], edx
mov dl, byte [0x51c880]
mov dword [ebp - 0x54], eax
mov eax, dword [0x52251c]
mov dword [ebp - 0x32], esi
mov dword [ebp - 0x1f], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x50], ecx
mov byte [ebp - 0x4c], dl
mov dword [ebp - 0x4b], esi
mov ebx, 1
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test ebx, ebx
je 0x485693
lea ecx, [ebp - 0x33]
push 0xa
push ecx
push esi
call fcn.004b0136
lea edx, [ebp - 0x20]
push 0xa
push edx
push esi
call fcn.004b0136
lea eax, [ebp - 0x3d]
push 0xa
push eax
push esi
call fcn.004b0136
lea ecx, [ebp - 0x4c]
push 0xa
push ecx
push esi
call fcn.004b0136
mov edx, dword [ebp + 8]
add esp, 0x30
lea eax, [ebp - 0x38]
push edx
push 1
push eax
push 0x51c870
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x854]
push ecx
mov dword [ebp - 0x2c], eax
push 0x800
push edx
lea eax, [ebp - 0x40]
push 0
push eax
push 0x51c870
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebx, eax
test ebx, ebx
je 0x48568d
lea ecx, [ebp - 0x854]
push ecx
lea ecx, [ebp - 0x18]
call fcn.004c5910
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x854]
push edx
push 0x800
push eax
lea ecx, [ebp - 0x24]
push 0
push ecx
push 0x51c870
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0
push 0
push 0
lea edx, [ebp - 0x854]
push 0
add edi, 0x124
push edx
push esi
push 1
mov ecx, edi
call fcn.004be754
mov eax, dword [ebp - 0x2c]
mov ecx, edi
push eax
push esi
call fcn.004bf25e
mov ecx, dword [ebp - 0x18]
push ecx
push 1
push esi
mov ecx, edi
call fcn.004be84f
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x54]
push edx
push 0xffffffffffffffff
push eax
push 0x51c870
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
push 0
push 0
push 0
push 0
push 4
push 0
push esi
mov ecx, edi
call fcn.004be7d6
mov edi, dword [ebp - 0x28]
inc esi
jmp 0x485579
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.004c5787
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0
call fcn.004c5787
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4