Function at 0x405b60
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x42c718
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 [0x43f828]
cmp eax, ebx
je 0x405b9f
mov dword [0x43f828], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x43f828
push 0x439c48
push 0x17
push ebx
push 0x4308e4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [0x43f828]
cmp eax, ebx
jne 0x405bd4
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 0x405beb
mov edx, dword [eax]
lea ecx, [esp + 0x6c]
push ecx
push 0x430804
push eax
call dword [edx]
lea ecx, [esp + 0x10]
mov dword [esp + 0x60], ebx
call fcn.0041a170
push 0x4325e4
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 1
call fcn.0041a310
push 0x432364
lea ecx, [esp + 0x14]
call fcn.0041a330
mov eax, dword [0x43f828]
lea ecx, [esp + 0x10]
mov dword [0x43f86c], 0x18
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x10]
cmp eax, ebx
jge 0x405c6e
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.0041a160
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405c5a
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 [0x43f60c]
mov edx, dword [esp + 0x6c]
push str.Grabber
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jge 0x405cbe
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.0041a160
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405caa
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 [0x43f5d8]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x43f604]
mov edx, dword [eax]
push ebx
push ebx
push ebx
push 0x4310f4
push 1
push ecx
push eax
mov byte [esp + 0x84], 2
call dword [edx + 0x10]
mov eax, dword [0x43f5f8]
lea ecx, [esp + 0x6c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, dword [esp + 0x6c]
mov ecx, dword [0x440530]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x43fb50
mov eax, dword [edx + 0x44]
mov dword [0x43f870], ecx
push ebx
push str.Flip
mov edx, dword [eax + 0x34]
push str.annie
mov dword [0x43f864], edx
mov eax, dword [eax + 0x38]
mov dword [0x43f868], eax
call esi
push 0x43fb50
push ebx
push str.Mirror
push str.annie
mov byte [0x43f87c], al
call esi
mov byte [0x43f87d], al
mov eax, dword [0x4403a4]
cmp eax, ebx
pop esi
je 0x405d7c
mov dword [0x43f880], 0x500
mov dword [0x43f884], 0x400
mov dword [0x43f888], 1
mov eax, dword [0x43f828]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x43f828]
push ebx
push eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [0x43f828]
push 1
push 0x43f830
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [esp + 0x68]
push edx
call fcn.0041a630
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 0x405dcc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], bl
call fcn.0041a160
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0xffffffff
cmp eax, ebx
je 0x405def
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