Function at 0x405a90
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x42c588
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x64]
push edi
mov edi, dword [esp + 0x6c]
xor ebx, ebx
mov dword [edi], ebx
mov dword [ebp], ebx
mov eax, dword [0x43e7f8]
cmp eax, ebx
je 0x405acf
mov dword [0x43e7f8], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x43e7f8
push 0x438c18
push 0x17
push ebx
push 0x42f8e4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [0x43e7f8]
cmp eax, ebx
jne 0x405b04
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret
cmp eax, ebx
mov dword [esp + 0x6c], ebx
je 0x405b1b
mov edx, dword [eax]
lea ecx, [esp + 0x6c]
push ecx
push 0x42f804
push eax
call dword [edx]
lea ecx, [esp + 0x10]
mov dword [esp + 0x60], ebx
call fcn.00419ff0
push 0x4315e4
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 1
call fcn.0041a190
push 0x431364
lea ecx, [esp + 0x14]
call fcn.0041a1b0
mov eax, dword [0x43e7f8]
lea ecx, [esp + 0x10]
mov dword [0x43e83c], 0x18
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x10]
cmp eax, ebx
jge 0x405b9e
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.00419fe0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405b8a
mov edx, dword [eax]
push eax
call dword [edx + 8]
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret
mov eax, dword [0x43e5dc]
mov edx, dword [esp + 0x6c]
push str.Grabber
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jge 0x405bee
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.00419fe0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405bda
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret
push esi
mov dword [esp + 0x10], ebx
mov eax, dword [0x43e5a8]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x43e5d4]
mov edx, dword [eax]
push ebx
push ebx
push ebx
push 0x4300f4
push 1
push ecx
push eax
mov byte [esp + 0x84], 2
call dword [edx + 0x10]
mov eax, dword [0x43e5c8]
lea ecx, [esp + 0x6c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, dword [esp + 0x6c]
mov ecx, dword [0x43f500]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x43eb20
mov eax, dword [edx + 0x44]
mov dword [0x43e840], ecx
push ebx
push 0x438bd8
mov edx, dword [eax + 0x34]
push str.annie
mov dword [0x43e834], edx
mov eax, dword [eax + 0x38]
mov dword [0x43e838], eax
call esi
push 0x43eb20
push ebx
push 0x438be4
push str.annie
mov byte [0x43e84c], al
call esi
mov byte [0x43e84d], al
mov eax, dword [0x43f374]
cmp eax, ebx
pop esi
je 0x405cac
mov dword [0x43e850], 0x500
mov dword [0x43e854], 0x400
mov dword [0x43e858], 1
mov eax, dword [0x43e7f8]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x43e7f8]
push ebx
push eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [0x43e7f8]
push 1
push 0x43e800
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [esp + 0x68]
push edx
call fcn.0041a4b0
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x60], 1
mov dword [ebp], eax
mov eax, dword [esp + 0xc]
cmp eax, ebx
mov dword [edi], ebx
je 0x405cfc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.00419fe0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405d1f
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x58]
pop edi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret