Function at 0x415b70
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2f1c
call fcn.00423310
mov eax, dword [0x439030]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov edi, ecx
push 0x206
push eax
mov word [ebp - 0x658], ax
lea eax, [ebp - 0x656]
push eax
call fcn.0041ba00
xor eax, eax
mov dword [edi + 0x1048], 0
push 0x1046
push eax
mov word [ebp - 0x2f08], ax
lea esi, [edi + 0x104c]
lea eax, [ebp - 0x2f06]
push eax
call fcn.0041ba00
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push edi
lea eax, [ebp - 0x2f08]
push str._s_tmp_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x658]
push eax
push str.usl.inf
lea eax, [ebp - 0x2f08]
push eax
call fcn.00416100
test eax, eax
je 0x4160ea
xor eax, eax
push 0xc6
push eax
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0xca]
push eax
call fcn.0041ba00
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0xcc]
add esp, 0xc
push str.config
push eax
call ebx
lea eax, [ebp - 0x658]
push eax
push 0
push str.count
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, 0x18
mov dword [ebp - 0x2f0c], eax
cmp eax, edx
mov ecx, eax
cmovg ecx, edx
mov dword [edi + 0x1048], ecx
test eax, eax
jle 0x4160ea
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x3ec], ax
lea eax, [ebp - 0x3ea]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x388], ax
lea eax, [ebp - 0x386]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x2c0], ax
lea eax, [ebp - 0x2be]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x324], ax
lea eax, [ebp - 0x322]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x25c], ax
lea eax, [ebp - 0x25a]
push eax
call fcn.0041ba00
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xc70], ax
lea eax, [ebp - 0xc6e]
push eax
call fcn.0041ba00
add esp, 0x48
xor eax, eax
mov word [ebp - 0x1ec0], ax
push 0x1046
push eax
lea eax, [ebp - 0x1ebe]
push eax
call fcn.0041ba00
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa68], ax
lea eax, [ebp - 0xa66]
push eax
call fcn.0041ba00
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xe78], ax
lea eax, [ebp - 0xe76]
push eax
call fcn.0041ba00
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x860], ax
lea eax, [ebp - 0x85e]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x130], ax
lea eax, [ebp - 0x12e]
push eax
call fcn.0041ba00
xor eax, eax
mov word [ebp - 0x194], ax
push 0x62
push eax
lea eax, [ebp - 0x192]
push eax
call fcn.0041ba00
add esp, 0x48
xor eax, eax
mov word [ebp - 0x1f8], ax
push 0x62
push eax
lea eax, [ebp - 0x1f6]
push eax
call fcn.0041ba00
xor eax, eax
push 0x62
push eax
mov word [ebp - 0x450], ax
lea eax, [ebp - 0x44e]
push eax
call fcn.0041ba00
mov eax, dword [ebp - 0x2f0c]
add esp, 0x18
xor edi, edi
test eax, eax
jle 0x4160d4
cmp eax, 0x18
jge 0x4160d4
push edi
lea eax, [ebp - 0x3ec]
push str.title_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x388]
push str.url_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x2c0]
push str.filename_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x324]
push str.param_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x25c]
push str.checkkey_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x130]
push str.cs1_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x48
lea eax, [ebp - 0x194]
push edi
push str.cs2_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x1f8]
push str.cs3_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp - 0x450]
push str.cs4_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x24
lea eax, [ebp - 0x658]
push eax
push 0x104
lea eax, [ebp - 0xc70]
push eax
push 0x431c1c
lea eax, [ebp - 0x3ec]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x658]
push eax
push 0x824
lea eax, [ebp - 0x1ec0]
push eax
push 0x431c1c
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x658]
push eax
push 0x104
lea eax, [ebp - 0xa68]
push eax
push 0x431c1c
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x658]
push eax
push 0x104
lea eax, [ebp - 0xe78]
push eax
push 0x431c1c
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x658]
push eax
push 0x104
lea eax, [ebp - 0x860]
push eax
push 0x431c1c
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x658]
push eax
push 0
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x2f14], eax
lea eax, [ebp - 0x658]
push eax
push 0
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x2f18], eax
lea eax, [ebp - 0x658]
push eax
push 0
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x2f10], eax
lea eax, [ebp - 0x658]
push eax
push 0
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x187c
mov dword [ebp - 0x2f1c], eax
call fcn.004182d8
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x4160c5
lea ecx, [ebp - 0xc70]
push ecx
push eax
call ebx
lea eax, [ebp - 0x1ec0]
push eax
mov eax, dword [esi]
add eax, 0x208
push eax
call ebx
lea eax, [ebp - 0xa68]
push eax
mov eax, dword [esi]
add eax, 0x1250
push eax
call ebx
lea eax, [ebp - 0xe78]
push eax
mov eax, dword [esi]
add eax, 0x1458
push eax
call ebx
lea eax, [ebp - 0x860]
push eax
mov eax, dword [esi]
add eax, 0x1660
push eax
call ebx
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2f14]
mov dword [eax + 0x1868], ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2f18]
mov dword [eax + 0x1870], ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2f10]
mov dword [eax + 0x186c], ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2f1c]
mov dword [eax + 0x1874], ecx
mov eax, dword [esi]
add esi, 4
mov dword [eax + 0x1878], 1
mov eax, dword [ebp - 0x2f0c]
inc edi
cmp edi, eax
jl 0x415df7
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041813f
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041813f
mov esp, ebp
pop ebp
ret