Function at 0x407510
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a5d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfdc
mov eax, dword [0x45e640]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov ebx, dword [0x45ccd4]
mov eax, 0x98dd629f
imul ebx
mov eax, dword [0x45cccc]
imul eax, eax, 0xd3c7
mov ecx, eax
add edx, ebx
sar edx, 0xf
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x61494a93
imul ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x61494a93
imul dword [0x45cccc]
sar edx, 0xf
mov eax, ecx
add eax, edx
mov ecx, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0xd082
shr ecx, 0x1f
add ecx, eax
add ecx, edx
mov eax, 0x5cb3b92f
imul dword [0x45cccc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce0]
sub ecx, eax
imul edx, edx, 0xd3c7
mov eax, dword [0x45cce4]
imul eax, eax, 0x64e1
add eax, edx
mov dword [ebp - 0x818], eax
mov eax, 0x4e93cfed
imul ebx
mov eax, dword [ebp - 0x818]
sar edx, 0xe
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x8891a35
imul dword [0x45cccc]
mov edi, dword [0x45cce8]
imul edi, edi, 0xdaea
sar edx, 9
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add ecx, esi
add ecx, edi
sub eax, edi
sub eax, ecx
mov dword [str._r_____r____], ecx
lea ecx, [eax + esi + 0x86a3]
mov eax, dword [ebp + 8]
test eax, eax
mov dword [0x45cccc], ecx
je 0x407b5b
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407637
sub eax, edx
mov dword [ebp - 0x818], eax
je 0x407b5b
mov eax, dword [ebp + 0xc]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44ce59
push eax
push 0x44d0f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45ccd8]
mov eax, 0x98dd629f
imul ecx
lea edi, [ebx + esi]
imul esi, esi, 0xd65c
imul edi, edi, 0xd082
add edx, ecx
sar edx, 0xf
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edx, ecx
imul edx, edx, 0xd3c7
add eax, esi
add eax, edx
mov esi, dword [0x45cce0]
mov edi, eax
mov eax, 0x8891a35
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea eax, [ebp - 0x814]
lea edi, [edi + esi - 0x64e1]
lea edx, [eax + 1]
mov dword [0x45ccd4], edi
mov dword [ebp - 0x818], edx
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4076f0
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x818], eax
je 0x407afd
mov edi, dword [0x45cccc]
imul ecx, ecx, 0x64e1
imul esi, esi, 0x10171
mov eax, dword [0x45ccd0]
lea ebx, [eax + edi]
imul ebx, ebx, 0xb0bd
add ebx, ecx
mov ecx, dword [0x45cce4]
mov eax, 0x98dd629f
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, eax
mov eax, 0x61494a93
imul ecx
sar edx, 0xf
mov ecx, edx
add ebx, edx
mov eax, 0x4e93cfed
imul edi
sar edx, 0xe
shr ecx, 0x1f
mov eax, edx
add ecx, ebx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
mov dword [0x45ccdc], ecx
lea ecx, [ebp - 0x814]
push ecx
lea edx, [ebp - 0xfe8]
push 0x1f4
push edx
call fcn.0040fdf0
add esp, 0xc
mov dword [ebp - 0x818], eax
xor edi, edi
lea esp, [esp]
cmp edi, dword [ebp - 0x818]
jge 0x407aeb
mov eax, dword [0x45ccd4]
mov ecx, dword [0x45ccc8]
lea ebx, [ecx + eax]
mov ecx, dword [0x45ccd8]
imul ebx, ebx, 0x3bfc
mov esi, dword [str._r_____r____]
mov eax, 0x98dd629f
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, esi
imul edx, edx, 0xd65c
add ebx, edx
mov edx, dword [0x45cce4]
mov eax, 0x61494a93
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x5cb3b92f
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x79b0bfed
imul esi
sar edx, 0xe
sub ebx, ecx
mov ecx, dword [ebp + edi*4 - 0xfe8]
mov eax, edx
add ebx, edx
mov edx, dword [ebp + 8]
shr eax, 0x1f
push ecx
add eax, ebx
push edx
mov dword [0x45cce4], eax
call fcn.00430a00
add esp, 8
test eax, eax
je 0x407ae5
mov ecx, dword [0x45ccd0]
mov esi, dword [0x45ccc8]
imul esi, esi, 0x64e1
mov eax, 0x5134ce4f
imul ecx
sar edx, 0xd
add esi, edx
mov edi, edx
mov eax, 0x9aba81d9
imul ecx
add edx, ecx
sar edx, 0xf
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov eax, 0x4e93cfed
imul dword [0x45cce4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x2a2d
mov ebx, dword [0x45ccd4]
shr esi, 0x1f
add esi, edi
sub esi, eax
add esi, edx
mov eax, 0x1fd2221d
imul ecx
sar edx, 0xd
add esi, edx
mov ecx, edx
mov eax, 0x98dd629f
imul ebx
mov eax, dword [0x45cce4]
add edx, ebx
imul eax, eax, 0x64e1
sar edx, 0xf
shr ecx, 0x1f
add ecx, esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0xd3c7
add eax, edx
mov dword [ebp + 8], eax
mov edi, dword [0x45cce8]
mov eax, 0x4e93cfed
imul edi, edi, 0xdaea
imul ebx
mov eax, dword [ebp + 8]
sar edx, 0xe
add eax, edx
mov ebx, edx
mov edx, dword [0x45cccc]
shr ebx, 0x1f
add ebx, eax
mov eax, 0x8891a35
imul edx
sar edx, 9
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, dword [str._r_____r____]
sub eax, edi
sub eax, ebx
lea ebx, [eax + esi + 0x86a3]
mov eax, dword [0x5606ec]
inc eax
cmp eax, 5
mov dword [0x45ccc8], ecx
mov dword [0x45cccc], ebx
mov dword [0x5606ec], eax
jg 0x407a55
cmp dword [ebp + 0x10], 1
jne 0x407a55
mov eax, 0x5134ce4f
imul ecx, ecx, 0xd082
imul dword [0x45ccd8]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [0x45ccd8]
imul eax, eax, 0x150d2
add edx, eax
add edx, ecx
mov dword [ebp + 8], edx
mov eax, 0x61494a93
imul dword [0x45ccdc]
mov eax, dword [ebp + 8]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, eax
mov eax, 0x79b0bfed
imul dword [0x45ccd0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
sub ecx, eax
sub ecx, edx
lea ecx, [ecx + edi - 0x64e1]
mov dword [0x45ccd0], ecx
mov eax, 0x61494a93
imul dword [0x45ccd4]
sar edx, 0xf
mov ecx, ebx
imul ecx, ecx, 0xd3c7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x61494a93
imul ebx
sar edx, 0xf
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, eax
mov eax, dword [0x45ccdc]
imul eax, eax, 0xd082
add ecx, eax
mov eax, 0x5cb3b92f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x570ac8]
add ecx, esi
add ecx, edi
mov dword [str._r_____r____], ecx
mov ecx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [ecx + 0x30]
mov ecx, dword [0x45ccc8]
mov esi, dword [0x45cce8]
imul ecx, ecx, 0xd65c
mov eax, 0x95af2ed3
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, esi
imul edi, edi, 0x64e1
sub ebx, edi
add ebx, ecx
mov ecx, dword [0x45ccd4]
mov eax, 0x98dd629f
imul ecx
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x9aba81d9
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, ecx
mov ecx, dword [0x45cce0]
sub ebx, eax
mov eax, 0x8891a35
imul ecx
imul ecx, ecx, 0x3bfc
sar edx, 9
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov dword [0x45ccd8], eax
mov eax, 1
jmp 0x407b5d
inc edi
jmp 0x4077a0
mov edi, dword [0x45ccd4]
mov ecx, dword [0x45ccdc]
mov ebx, dword [0x45ccd8]
mov edx, dword [0x45cce8]
imul ecx, ecx, 0x64e1
imul edi, edi, 0xdaea
mov eax, dword [0x45ccd0]
imul ebx, ebx, 0x10171
lea esi, [eax + edx]
imul esi, esi, 0x86a3
mov eax, 0x5cb3b92f
imul edx
sub esi, ecx
mov ecx, dword [0x45cccc]
sub esi, edi
sar edx, 0xe
add esi, edx
mov edi, edx
mov eax, 0x79b0bfed
imul ecx
sar edx, 0xe
shr edi, 0x1f
mov ecx, edx
shr ecx, 0x1f
add edi, esi
add ecx, edx
sub edi, ecx
add edi, ebx
mov dword [0x45cce0], edi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042fdb1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret