Function at 0x407470
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a910
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfe4
mov eax, dword [0x45e540]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x820], eax
mov ebx, dword [0x45cbd4]
mov eax, 0xa3c4e0d7
imul ebx
mov eax, dword [0x45cbdc]
add edx, ebx
imul eax, eax, 0x63e546
sar edx, 0x16
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [0x45cbcc]
imul edx, edx, 0x5643ad
add eax, edx
mov dword [ebp - 0x81c], eax
mov ecx, dword [ebp + 0xc]
mov eax, 0x1b2eb4bf
imul ebx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x818], ecx
mov ecx, dword [ebp - 0x81c]
sub ecx, eax
mov eax, 0x1b2eb4bf
imul dword [0x45cbcc]
sar edx, 0x14
mov eax, ecx
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x7a2fd6e1
imul dword [0x45cbcc]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x2900b7f9
imul ebx
mov eax, dword [0x45cbe0]
sar edx, 0x14
imul eax, eax, 0x5643ad
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0x41d422
add ebx, edx
add ebx, eax
mov eax, 0x4f7fd81
imul dword [0x45cbcc]
mov edi, dword [0x45cbe8]
imul edi, edi, 0x53439e
sar edx, 0x11
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 + 0x41fb8b]
mov eax, dword [ebp - 0x820]
test eax, eax
mov dword [0x45cbcc], ecx
je 0x407ad4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4075b0
sub eax, edx
mov dword [ebp - 0x81c], eax
je 0x407ad4
mov eax, dword [ebp - 0x818]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44ce89
push eax
push 0x44d160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45cbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
lea edi, [ebx + esi]
imul esi, esi, 0x640b17
imul edi, edi, 0x63e546
mov edx, ecx
imul edx, edx, 0x5643ad
add edi, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
sar edx, 0x16
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
add eax, esi
mov esi, dword [0x45cbe0]
mov edi, eax
mov eax, 0x4f7fd81
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea eax, [ebp - 0x814]
lea edi, [edi + esi - 0x41d422]
lea edx, [eax + 1]
mov dword [0x45cbd4], edi
mov dword [ebp - 0x818], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407666
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x818], eax
je 0x407a72
mov edx, dword [0x45cbcc]
imul ecx, ecx, 0x41d422
imul esi, esi, 0x85c28b
mov eax, dword [0x45cbd0]
lea edi, [eax + edx]
mov eax, 0x2900b7f9
imul edi, edi, 0x8616f6
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
add edi, esi
mov esi, edx
add edi, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
shr esi, 0x1f
sar edx, 0x16
add esi, edi
mov ecx, edx
add esi, edx
lea edx, [ebp - 0x814]
push edx
shr ecx, 0x1f
lea eax, [ebp - 0xff0]
add ecx, esi
push 0x1f4
push eax
mov dword [0x45cbdc], ecx
call fcn.0040fbd0
add esp, 0xc
mov dword [ebp - 0x818], eax
xor edi, edi
lea ecx, [ecx]
cmp edi, dword [ebp - 0x818]
jge 0x407a60
mov ecx, dword [0x45cbd4]
mov edx, dword [0x45cbc8]
lea esi, [edx + ecx]
mov ecx, dword [str._r_____r____]
imul esi, esi, 0x670b79
mov eax, 0x3e13b50f
imul ecx
imul ecx, ecx, 0x640b17
sar edx, 0x14
add esi, edx
mov ebx, edx
mov edx, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x45cbd8]
sub ebx, eax
mov eax, 0x7a2fd6e1
imul esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x820]
sub ebx, eax
add ebx, ecx
mov ecx, dword [ebp + edi*4 - 0xff0]
push ecx
push edx
mov dword [0x45cbe4], ebx
call fcn.00430960
add esp, 8
test eax, eax
je 0x407a5a
mov esi, dword [0x45cbc8]
mov ecx, dword [0x45cbd0]
imul esi, esi, 0x41d422
mov eax, 0x2900b7f9
imul dword [0x45cbe4]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3e38df13
imul ecx
sar edx, 0x14
add esi, edx
mov edi, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x32d358
shr edi, 0x1f
add edi, esi
sub edi, edx
mov ebx, dword [0x45cbd4]
mov eax, 0x5ef6c237
imul ecx
sar edx, 0x15
add edi, edx
mov esi, edx
mov eax, 0x3d3e7a09
imul ecx
sar edx, 0x15
mov ecx, edx
shr esi, 0x1f
add esi, edi
add esi, edx
mov eax, 0xa3c4e0d7
imul ebx
add edx, ebx
sar edx, 0x16
shr ecx, 0x1f
add ecx, esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x2900b7f9
imul ebx
mov eax, dword [0x45cbe4]
sar edx, 0x14
imul eax, eax, 0x41d422
mov ebx, edx
mov edi, dword [0x45cbe8]
shr ebx, 0x1f
imul edi, edi, 0x53439e
add ebx, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x5643ad
add ebx, eax
add ebx, edx
mov edx, dword [0x45cbcc]
mov eax, 0x4f7fd81
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add eax, ebx
sub eax, edi
sub eax, edx
lea edx, [eax + esi + 0x41fb8b]
mov eax, dword [0x5605ec]
inc eax
cmp eax, 5
mov dword [0x45cbc8], ecx
mov dword [0x45cbcc], edx
mov dword [0x5605ec], eax
jg 0x4079cb
cmp dword [ebp + 0x10], 1
jne 0x4079cb
mov ebx, dword [0x45cbd8]
imul ecx, ecx, 0x63e546
mov eax, 0x3e13b50f
imul dword [0x45cbd0]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3e38df13
imul ebx
imul ebx, ebx, 0x96af7c
sar edx, 0x14
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x45cbdc]
add eax, ebx
mov dword [ebp - 0x818], eax
mov ebx, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul ecx
imul ecx, ecx, 0x63e546
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
sub edx, eax
sub edx, ebx
mov ebx, dword [0x45cbcc]
mov eax, ebx
imul eax, eax, 0x5643ad
add ecx, eax
lea edx, [edx + edi - 0x41d422]
mov dword [0x45cbd0], edx
mov eax, 0x1b2eb4bf
imul dword [0x45cbd4]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x1b2eb4bf
imul ebx
sar edx, 0x14
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [ebp - 0x818], eax
mov eax, 0x7a2fd6e1
imul ebx
mov eax, dword [ebp - 0x818]
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add eax, esi
add eax, edi
mov dword [str._r_____r____], eax
mov eax, dword [0x5709c8]
mov edx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [edx + 0x30]
mov ecx, dword [0x45cbc8]
mov esi, dword [0x45cbe8]
imul ecx, ecx, 0x640b17
mov eax, 0xa1093dc9
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, esi
mov eax, 0x6262bd7d
imul edi, edi, 0x41d422
imul esi
sar edx, 0x15
mov esi, edx
shr esi, 0x1f
sub ebx, edi
add ebx, edx
add esi, ebx
add esi, ecx
mov ecx, dword [0x45cbd4]
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45cbe0]
mov eax, 0x4f7fd81
imul ecx
imul ecx, ecx, 0x670b79
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
add eax, ecx
mov dword [0x45cbd8], eax
mov eax, 1
jmp 0x407ad6
inc edi
jmp 0x407710
mov edi, dword [0x45cbd4]
mov ecx, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov edx, dword [0x45cbd0]
imul ecx, ecx, 0x41d422
imul edi, edi, 0x53439e
mov eax, dword [0x45cbe8]
imul ebx, ebx, 0x85c28b
lea esi, [edx + eax]
mov edx, dword [0x45cbcc]
imul esi, esi, 0x41fb8b
mov eax, 0x3e13b50f
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x7a2fd6e1
imul dword [0x45cbe8]
sub esi, ecx
sub esi, edi
sar edx, 0x16
add esi, ebx
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
mov dword [0x45cbe0], ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042fd0d
mov esp, ebp
pop ebp
ret