Function at 0x407480
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a4e0
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 ecx, dword [0x45ccd4]
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
mov esi, edx
mov edi, dword [0x45cccc]
shr esi, 0x1f
add esi, edx
mov eax, 0x950cb67f
imul edi
add edx, edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x84dd7
sub edx, eax
mov dword [ebp - 0x818], edx
mov eax, 0x9baa0995
imul ecx
mov eax, ecx
add edx, eax
mov eax, dword [ebp - 0x818]
sar edx, 0x13
mov ebx, dword [0x45cce8]
mov ecx, edx
imul ebx, ebx, 0x8a702
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov dword [ebp - 0x818], eax
mov ecx, dword [0x45ccdc]
mov eax, 0x9baa0995
imul ecx, ecx, 0x8276a
imul edi
add edx, edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
add eax, ebx
add eax, edx
add ecx, eax
mov eax, dword [0x45cce4]
imul eax, eax, 0x3ef21
mov dword [ebp - 0x818], eax
mov eax, 0x69f239fb
imul edi
mov eax, dword [ebp - 0x818]
sar edx, 0x10
add eax, edx
mov edi, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x84dd7
shr edi, 0x1f
add edi, eax
add edi, edx
mov eax, 0x3ecaa423
imul dword [0x45ccd4]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add ecx, esi
sub eax, ebx
sub eax, ecx
mov dword [str._r_____r____], ecx
lea ecx, [eax + esi + 0x54963]
mov eax, dword [ebp + 8]
test eax, eax
mov dword [0x45cccc], ecx
je 0x407ad5
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4075c0
sub eax, edx
mov dword [ebp - 0x818], eax
je 0x407ad5
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, 0x69f239fb
imul ecx
lea edi, [ebx + esi]
imul esi, esi, 0x85c24
sar edx, 0x10
imul edi, edi, 0x8276a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
add edi, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0x84dd7
shr eax, 0x1f
add eax, edi
mov edi, dword [0x45cce0]
add esi, edi
add esi, eax
lea esi, [edx + esi - 0x3ef21]
lea eax, [ebp - 0x814]
lea edx, [eax + 1]
mov dword [0x45ccd4], esi
mov dword [ebp - 0x818], edx
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407670
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x818], eax
je 0x407a6e
mov esi, dword [0x45cccc]
imul ecx, ecx, 0x3ef21
imul edi, edi, 0xa0dd9
mov eax, dword [0x45ccd0]
lea ebx, [eax + esi]
imul ebx, ebx, 0x6dec5
add ebx, ecx
mov ecx, dword [0x45cce4]
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x9baa0995
imul ecx
add edx, ecx
sar edx, 0x13
mov ecx, edx
add ebx, edx
mov eax, 0x3ecaa423
imul esi
sar edx, 0x11
shr ecx, 0x1f
mov eax, edx
add ecx, ebx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, edi
mov dword [0x45ccdc], ecx
lea ecx, [ebp - 0x814]
push ecx
lea edx, [ebp - 0xfe8]
push 0x1f4
push edx
call fcn.0040fd50
add esp, 0xc
mov edi, eax
xor esi, esi
cmp esi, edi
jge 0x407a5c
mov eax, dword [0x45ccd4]
mov ecx, dword [0x45ccc8]
lea ebx, [ecx + eax]
mov ecx, dword [0x45ccd8]
imul ebx, ebx, 0x26a94
mov eax, 0x950cb67f
imul ecx
add edx, ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [str._r_____r____]
mov edx, ecx
imul edx, edx, 0x85c24
add ebx, edx
mov eax, 0x60d8eff
imul ecx
mov ecx, dword [0x45cce4]
sar edx, 0xd
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x9baa0995
imul ecx
add edx, ecx
mov ecx, dword [ebp + esi*4 - 0xfe8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 8]
push ecx
sub ebx, eax
push edx
mov dword [0x45cce4], ebx
call fcn.00430910
add esp, 8
test eax, eax
je 0x407a56
mov ecx, dword [0x45ccd0]
mov esi, dword [0x45ccc8]
mov eax, 0x10449d67
imul esi, esi, 0x3ef21
imul ecx
sar edx, 0xe
add esi, edx
mov edi, edx
mov ebx, dword [0x45cce4]
mov eax, 0x3da8152f
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45cce0]
add edi, edx
add eax, edi
mov edx, esi
imul edx, edx, 0x1c83d
add eax, edx
mov edi, eax
mov eax, 0x3ecaa423
imul ebx
imul ebx, ebx, 0x3ef21
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xcbb2b9d
imul ecx
sar edx, 0xf
add edi, edx
mov ecx, edx
mov eax, 0x1e9f4e3
imul dword [0x45ccd4]
mov eax, dword [0x45cce8]
imul eax, eax, 0x8a702
sar edx, 0xc
mov dword [ebp + 8], eax
shr ecx, 0x1f
add ecx, edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45cccc]
mov eax, 0x69f239fb
imul edx
sar edx, 0x10
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov edx, esi
imul edx, edx, 0x84dd7
add eax, edx
mov ebx, eax
mov eax, 0x3ecaa423
imul dword [0x45ccd4]
sar edx, 0x11
add ebx, edx
mov eax, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ebx
sub eax, dword [ebp + 8]
sub eax, edx
lea edx, [eax + edi + 0x54963]
mov eax, dword [0x5606ec]
inc eax
cmp eax, 5
mov dword [0x45ccc8], ecx
mov dword [0x45cccc], edx
mov dword [0x5606ec], eax
jg 0x4079d0
cmp dword [ebp + 0x10], 1
jne 0x4079d0
mov esi, dword [0x45ccd8]
imul ecx, ecx, 0x8276a
mov eax, 0x10449d67
imul esi
imul esi, esi, 0xd2812
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x60d8eff
imul dword [0x45ccd0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, esi
mov esi, dword [0x45ccdc]
mov eax, 0x9baa0995
imul esi
add edx, esi
imul esi, esi, 0x8276a
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [0x45cce4]
add ebx, ecx
mov ecx, dword [ebp + 8]
sub ebx, eax
lea edx, [ebx + ecx - 0x3ef21]
mov ecx, dword [0x45cccc]
mov dword [0x45ccd0], edx
mov eax, 0x950cb67f
imul ecx
add edx, ecx
mov ebx, ecx
sar edx, 0x12
imul ebx, ebx, 0x84dd7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x9baa0995
imul dword [0x45ccd4]
add edx, dword [0x45ccd4]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x9baa0995
imul ecx
mov eax, dword [0x570ac8]
add edx, ecx
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, dword [ebp + 8]
add ecx, ebx
add esi, ecx
add esi, edi
mov dword [str._r_____r____], esi
mov edx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [edx + 0x30]
mov esi, dword [0x45cce0]
mov ecx, dword [0x45ccc8]
mov edi, dword [0x45cce8]
imul ecx, ecx, 0x85c24
mov eax, 0x69f239fb
imul esi
imul esi, esi, 0x26a94
sar edx, 0x10
mov ebx, edi
imul ebx, ebx, 0x3ef21
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
add eax, esi
add eax, ecx
mov ebx, eax
mov eax, 0x1e9f4e3
imul dword [0x45ccd4]
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3da8152f
imul edi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, ecx
sub ebx, eax
mov eax, 0x76595943
imul edi
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
mov dword [0x45ccd8], ecx
mov eax, 1
jmp 0x407ad7
inc esi
jmp 0x407715
mov esi, dword [0x45ccd4]
mov ecx, dword [0x45ccdc]
mov ebx, dword [0x45ccd8]
mov edi, dword [0x45cce8]
imul ecx, ecx, 0x3ef21
imul esi, esi, 0x8a702
mov edx, dword [0x45ccd0]
imul ebx, ebx, 0xa0dd9
lea eax, [edx + edi]
imul eax, eax, 0x54963
sub eax, ecx
mov ecx, dword [0x45cccc]
mov dword [ebp + 8], eax
mov eax, 0x950cb67f
imul edi
mov eax, dword [ebp + 8]
add edx, edi
sar edx, 0x12
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, 0x60d8eff
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, esi
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.0042fcc1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret