Function at 0x404c82
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x419276
call fcn.0040fbd0
sub esp, 0x2a8
mov eax, dword [0x4220b8]
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.00404b1e
pop ecx
pop ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x2a0]
cmp dword [eax - 0xc], ebx
je 0x405072
push esi
push edi
call fcn.00409a53
mov esi, eax
cmp esi, ebx
je 0x404cd2
cmp dword [ebp + 0xc], ebx
je 0x404cdc
mov dword [0x422c70], 0xa
mov eax, dword [0x422e4c]
mov edi, 0x422e4c
mov ecx, edi
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 dword [0x422dcc]
lea eax, [ebp - 0x29c]
push eax
call fcn.004023bd
add esp, 0x14
cmp esi, ebx
je 0x404d3b
cmp dword [ebp + 0xc], ebx
je 0x404d3b
push 0x41c980
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
jmp 0x404d66
lea eax, [ebp + 0xc]
push eax
call fcn.004098d9
pop ecx
mov byte [ebp - 4], 2
push dword [ebp + 0xc]
lea esi, [ebp - 0x29c]
call fcn.00405125
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
push str.dycfgver
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
lea eax, [ebp + 0xc]
push eax
call fcn.004097bd
pop ecx
mov byte [ebp - 4], 3
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x29c]
call fcn.00404909
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
push 0x41d024
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
lea eax, [ebp + 0xc]
push eax
call fcn.0040984b
pop ecx
mov byte [ebp - 4], 4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x29c]
call fcn.00404909
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
cmp word [0x423860], bx
je 0x404e10
push dword [0x422dc8]
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
push 0x423860
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
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.0040e14e
pop ecx
pop ecx
push dword [0x422db4]
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 0x41c980
push dword [0x422dbc]
push dword [0x422db8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [0x422dc4]
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.0040479d
push 0x41d01c
push 0x41d018
lea eax, [ebp - 0x29c]
push eax
call fcn.00405175
push dword [ebp - 0x29c]
push str.GetNewDownloadUrls_command__s_n
call fcn.00408fb4
mov eax, dword [0x422e4c]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2a4], eax
mov byte [ebp - 4], 5
mov eax, dword [0x422e4c]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 6
lea esi, [ebp - 0x2a4]
call fcn.00405099
lea eax, [ebp - 0x2b4]
push eax
call fcn.0040662b
mov byte [ebp - 4], 7
push dword [0x422c6c]
lea eax, [ebp - 0x2b4]
push 0x4234b0
call fcn.004066cb
test eax, eax
je 0x404f92
push str.GetNewDownloadUrls_connect_succeed._n
call fcn.00408fb4
push dword [0x422c70]
lea eax, [ebp + 0xc]
push dword [ebp - 0x29c]
push dword [0x422dc0]
push eax
call fcn.004023bd
add esp, 0x14
push dword [ebp + 0xc]
lea eax, [ebp - 0x2b4]
push 0x41cf80
call fcn.00406719
test eax, eax
je 0x404f92
push dword [ebp + 0xc]
push str.GetNewDownloadUrls_OpenRequest_succeed.__s_n
call fcn.00408fb4
pop ecx
pop ecx
push ebx
push ebx
push ebx
push ebx
lea esi, [ebp - 0x2b4]
call fcn.0040676f
test eax, eax
je 0x404f92
push str.GetNewDownloadUrls_SendRequest_succeed._n
call fcn.00408fb4
pop ecx
lea eax, [ebp - 0x2a4]
push eax
mov eax, esi
push eax
call fcn.004068aa
cmp dword [ebp - 0x2ac], ebx
je 0x404fac
push dword [ebp - 0x2ac]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x2ac], ebx
cmp dword [ebp - 0x2b0], ebx
je 0x404fc6
push dword [ebp - 0x2b0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x2b0], ebx
mov edi, dword [ebp - 0x2a4]
push edi
lea eax, [ebp + 0xc]
call fcn.004050d8
push dword [ebp + 0xc]
push str.GetNewDownloadUrls_Read__s_n
call fcn.00408fb4
pop ecx
pop ecx
push dword [ebp - 0x2a0]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040370f
test eax, eax
je 0x405027
cmp dword [0x422c70], 0x14
jle 0x405027
dec dword [0x422c70]
push 0x927c0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea esi, [ebp - 0x2b4]
mov byte [ebp - 4], 6
call fcn.0040669b
jmp 0x404ee2
lea esi, [ebp - 0x2b4]
mov byte [ebp - 4], 6
call fcn.0040669b
call fcn.00409e54
cmp dword [edi - 0xc], ebx
jne 0x405045
or ebx, 0xffffffff
jmp 0x40504f
mov eax, dword [ebp + 8]
call fcn.0040463e
mov ebx, eax
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.0040252d
lea eax, [edi - 0x10]
call fcn.0040252d
mov eax, dword [ebp - 0x29c]
add eax, 0xfffffff0
call fcn.0040252d
pop edi
pop esi
mov eax, dword [ebp - 0x2a0]
add eax, 0xfffffff0
call fcn.0040252d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
pop ebx
call fcn.0040f3d9
leave
ret 8