Function at 0x10001e63
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x1002f060]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
push 0x20
lea esi, [ebp - 0x24c]
mov dword [ebp - 0x234], eax
mov ebx, edx
call fcn.10015d40
mov eax, esi
call fcn.10015d20
xor esi, esi
mov dword [ebp - 0x238], eax
cmp dword [ebp + 0xc], esi
je 0x10001ed5
mov ecx, dword [ebp - 0x234]
push eax
call fcn.10001d09
test eax, eax
jne 0x10001ed5
lea eax, [ebp - 0x24c]
call fcn.10015d30
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.10017a76
leave
ret 0x10
mov ecx, dword [0x1003400c]
cmp ecx, esi
je 0x10001eb7
mov eax, dword [ebp - 0x234]
cmp dword [eax + 0x18], esi
je 0x10001eb7
mov eax, dword [0x10034010]
lea edx, [eax + 0x14]
mov dword [ebp - 0x240], esi
cmp edx, 0x104
jge 0x10002102
inc eax
push eax
push ecx
push ebx
mov dword [ebp - 0x23c], ebx
mov byte [ebx], 0
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [0x10034010]
mov esi, dword [ebp - 0x234]
add ebx, eax
mov edi, 0x103
mov dword [ebp - 0x244], ebx
sub edi, eax
call fcn.10015ba0
push dword [0x1003400c]
push edi
push ebx
push 0x10026ab8
push dword [ebp - 0x238]
push str.Session
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebx], 0
je 0x10001f6a
mov esi, dword [ebp - 0x23c]
call fcn.10004100
test eax, eax
jne 0x10001f6a
mov byte [ebx], al
cmp byte [ebx], 0
mov edi, str.Requested
jne 0x10002013
push dword [0x1003400c]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0xffffffffffffffff
push str.back
push edi
call esi
push dword [0x1003400c]
mov dword [ebp - 0x23c], eax
push 0
push str.front
push edi
call esi
test eax, eax
js 0x10002013
mov esi, eax
cmp eax, dword [ebp - 0x23c]
jge 0x10002013
push esi
lea eax, [ebp - 0x38]
push str.url_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [0x1003400c]
lea eax, [ebp - 0x230]
push 0x1f3
push eax
push 0x10026ab8
lea eax, [ebp - 0x38]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push dword [ebp - 0x238]
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10002009
inc esi
cmp esi, dword [ebp - 0x23c]
jl 0x10001fb2
jmp 0x10002013
mov dword [ebp - 0x240], 1
mov esi, dword [ebp - 0x234]
call fcn.10015bf0
cmp dword [ebp - 0x240], 0
jne 0x100020f9
cmp byte [ebx], 0
jne 0x100020f9
cmp dword [ebp + 0x10], 0
je 0x100020f9
call fcn.10015b40
push dword [0x1003400c]
push 0
push str.back
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov esi, eax
push esi
lea eax, [ebp - 0x38]
push str.url_d
push eax
call ebx
add esp, 0xc
push dword [0x1003400c]
lea eax, [ebp - 0x38]
push dword [ebp - 0x238]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push esi
lea eax, [ebp - 0x38]
push str.persist_d
push eax
call ebx
push 0xffffffffffffffff
lea ebx, [ebp - 0x38]
call fcn.10003057
push esi
mov eax, ebx
push str.notifyid_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push dword [ebp + 0x10]
call fcn.10003057
push esi
mov eax, ebx
push str.prog_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
xor eax, eax
cmp dword [ebp + 0x14], eax
setne al
push eax
call fcn.10003057
inc esi
push esi
mov ebx, str.back
call fcn.10003057
mov eax, dword [ebp - 0x234]
add esp, 0x34
call fcn.10015b90
mov eax, 0x10034110
call fcn.10015700
mov ebx, dword [ebp - 0x244]
xor eax, eax
cmp byte [ebx], al
setne al
jmp 0x10002110
push dword [ebp + 0x10]
push dword [ebp - 0x238]
call fcn.100010f2
mov esi, eax
jmp 0x10001eb7