Function at 0x405604
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41d68e
call fcn.004128c4
sub esp, 0x294
mov eax, dword [0x4280c8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2a0], ebx
push str.localhost
push 0x429c28
mov dword [ebp - 4], ebx
call fcn.00410ee1
test eax, eax
pop ecx
pop ecx
je 0x40565d
push 0x41fe14
push dword [ebp + 8]
call fcn.00405c4c
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.00402528
mov eax, dword [ebp + 8]
jmp 0x4058ff
push esi
push edi
call fcn.0040c080
mov esi, eax
cmp esi, ebx
je 0x40566f
cmp dword [ebp + 0x10], ebx
je 0x405679
mov dword [0x428f9c], 0xa
mov eax, dword [0x4291ac]
mov edi, 0x4291ac
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x29c], eax
mov byte [ebp - 4], 1
call fcn.0040a211
neg al
sbb eax, eax
and eax, 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
push eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
push eax
push 0x429a20
push dword [0x4290f8]
lea eax, [ebp - 0x29c]
push eax
call fcn.004023ad
add esp, 0x1c
cmp esi, ebx
je 0x4056ea
cmp dword [ebp + 0x10], ebx
je 0x4056ea
push 0x420df4
lea eax, [ebp - 0x29c]
push eax
call fcn.00404e83
jmp 0x405717
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.0040be27
pop ecx
pop ecx
mov byte [ebp - 4], 2
push dword [ebp + 0x10]
lea esi, [ebp - 0x29c]
call fcn.00405ce5
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.00402528
mov eax, dword [0x4291ac]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 3
push dword [0x42a460]
lea eax, [ebp + 0x10]
push str.minitype_d
push eax
call fcn.00405c39
mov edi, dword [ebp + 0x10]
add esp, 0xc
push edi
lea esi, [ebp - 0x29c]
call fcn.00405ce5
push str.dycfgver
mov eax, esi
push eax
call fcn.00404e83
lea eax, [ebp - 0x2a0]
push eax
call fcn.0040bd0b
pop ecx
mov byte [ebp - 4], 4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov eax, esi
call fcn.00404fef
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
call fcn.00402528
push str.filterword
mov eax, esi
push eax
call fcn.00404e83
lea eax, [ebp - 0x2a0]
push eax
call fcn.0040bd99
pop ecx
mov byte [ebp - 4], 5
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov eax, esi
call fcn.00404fef
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
call fcn.00402528
cmp word [0x429fd8], bx
je 0x4057ef
push dword [0x4290f4]
mov eax, esi
push eax
call fcn.00404e83
push 0x429fd8
mov eax, esi
push eax
call fcn.00404e83
push 0x104
lea eax, [ebp - 0x298]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x298]
push 0x5c
push eax
call fcn.00410545
pop ecx
pop ecx
push dword [0x4290e4]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x298]
push eax
push 0x40
lea eax, [ebp - 0x90]
push eax
push 0x420df4
push dword [0x4290ec]
push dword [0x4290e8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [0x4290f0]
lea eax, [ebp - 0x29c]
push eax
call fcn.00404e83
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.00404e83
push 0x4215f4
lea eax, [ebp - 0x29c]
push eax
call fcn.00404e83
lea eax, [ebp - 0x2a0]
push eax
call fcn.00405331
pop ecx
mov byte [ebp - 4], 6
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x29c]
call fcn.00404fef
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
call fcn.00402528
push 0x4215ec
push 0x4215e8
lea eax, [ebp - 0x29c]
push eax
call fcn.00404b45
mov esi, dword [ebp - 0x29c]
add esi, 0xfffffff0
mov eax, esi
call fcn.00404f0d
mov ebx, dword [ebp + 8]
add eax, 0x10
mov dword [ebx], eax
lea eax, [edi - 0x10]
call fcn.00402528
mov eax, esi
call fcn.00402528
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.00402528
pop edi
mov eax, ebx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.004120cb
leave
ret 0xc