Function at 0x407650
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44b260
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfe4
mov eax, dword [0x45f540]
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 esi, dword [0x45dbd4]
mov eax, 0xca9db4d5
imul esi
mov eax, dword [0x45dbdc]
imul eax, eax, 0xdbb5
add edx, esi
mov dword [ebp - 0x81c], eax
sar edx, 0x10
mov ecx, dword [ebp + 0xc]
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x818], ecx
mov ecx, dword [ebp - 0x81c]
sub ecx, eax
mov eax, 0xbf1fa759
imul dword [0x45dbcc]
add edx, dword [0x45dbcc]
sar edx, 0x10
mov eax, ecx
add eax, edx
mov ecx, edx
mov edx, dword [0x45dbcc]
shr ecx, 0x1f
add ecx, eax
mov eax, edx
imul eax, eax, 0x14289
add ecx, eax
mov eax, 0x7f55e343
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x9524e185
imul esi
mov eax, dword [0x45dbe4]
add edx, esi
imul eax, eax, 0x3f76
sar edx, 0xf
mov esi, edx
mov ebx, dword [0x45dbe8]
shr esi, 0x1f
imul ebx, ebx, 0x156ac
add esi, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x14289
add esi, edx
add esi, eax
mov eax, 0x72c3c0b5
imul dword [0x45dbcc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add ecx, edi
add eax, esi
add ecx, ebx
sub eax, ebx
sub eax, ecx
mov dword [str._r_____r____], ecx
lea ecx, [eax + edi + 0x11aa4]
mov eax, dword [ebp - 0x820]
test eax, eax
mov dword [0x45dbcc], ecx
je 0x407cf5
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407794
sub eax, edx
mov dword [ebp - 0x81c], eax
je 0x407cf5
mov eax, dword [ebp - 0x818]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44de89
push eax
push 0x44e160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45dbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45dbd8]
mov eax, 0xca9db4d5
imul ecx
lea edi, [ebx + esi]
imul esi, esi, 0x14373
imul edi, edi, 0xdbb5
add edx, ecx
sar edx, 0x10
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edx, ecx
imul edx, edx, 0x14289
add eax, esi
add eax, edx
mov edi, dword [0x45dbe0]
mov dword [ebp - 0x818], eax
mov eax, 0x72c3c0b5
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
sub edx, eax
lea esi, [edx + edi - 0x3f76]
lea eax, [ebp - 0x814]
lea edx, [eax + 1]
mov dword [0x45dbd4], esi
mov dword [ebp - 0x818], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407854
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x818], eax
je 0x407c8b
mov esi, dword [0x45dbcc]
imul ecx, ecx, 0x3f76
imul edi, edi, 0x8af5
mov eax, dword [0x45dbd0]
lea ebx, [eax + esi]
mov eax, 0x9524e185
imul ebx, ebx, 0x10156
imul esi
add edx, esi
mov esi, dword [0x45dbe4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, eax
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
lea ecx, [ebp - 0x814]
push ecx
lea edx, [ebp - 0xff0]
add eax, edi
push 0x1f4
push edx
mov dword [0x45dbdc], eax
call fcn.004101c0
mov edi, dword [ebp - 0x820]
add esp, 0xc
mov dword [ebp - 0x818], eax
xor esi, esi
jmp 0x407910
cmp esi, dword [ebp - 0x818]
jge 0x407c79
mov eax, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
lea ebx, [ecx + eax]
mov ecx, dword [0x45dbe4]
imul ebx, ebx, 0x8ec3
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
mov ecx, dword [0x45dbd8]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebx, eax
mov eax, edx
imul eax, eax, 0x14373
add ebx, eax
mov eax, 0x39f7b4f
imul edx
sar edx, 0xa
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x7f55e343
imul ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp + esi*4 - 0xff0]
push edx
sub ebx, ecx
push edi
mov dword [0x45dbe4], ebx
call fcn.004312b0
add esp, 8
test eax, eax
je 0x407c73
mov edi, dword [0x45dbe4]
mov esi, dword [0x45dbe0]
mov ecx, dword [0x45dbd0]
imul esi, esi, 0x5556
mov eax, 0x9524e185
imul edi
add edx, edi
imul edi, edi, 0x3f76
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x32cc2d1b
imul ecx
sar edx, 0xe
add esi, edx
mov ebx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr ebx, 0x1f
add ebx, esi
add ebx, edx
mov eax, 0x8116582f
imul ecx
add edx, ecx
sar edx, 0xd
add ebx, edx
mov esi, edx
mov eax, 0x3af417
imul ecx
mov eax, dword [0x45dbe8]
imul eax, eax, 0x156ac
sar edx, 5
mov dword [ebp - 0x820], eax
mov ecx, edx
shr esi, 0x1f
add esi, ebx
add esi, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45dbd4]
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x9524e185
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x14289
add eax, edx
mov edx, dword [0x45dbcc]
add eax, edi
mov edi, eax
mov eax, 0x72c3c0b5
imul edx
sar edx, 0xe
add edi, edx
mov eax, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, edi
sub eax, dword [ebp - 0x820]
sub eax, edx
lea edx, [eax + ebx + 0x11aa4]
mov eax, dword [0x5615ec]
inc eax
mov dword [0x45dbc8], ecx
mov dword [0x45dbcc], edx
mov dword [0x5615ec], eax
cmp eax, 5
jg 0x407bee
cmp dword [ebp + 0x10], 1
jne 0x407bee
mov eax, dword [0x45dbd8]
imul ecx, ecx, 0xdbb5
imul eax, eax, 0x156e6
add ecx, eax
mov edi, dword [0x45dbdc]
mov eax, 0xbf1fa759
imul edi
add edx, edi
imul edi, edi, 0xdbb5
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x8116582f
imul dword [0x45dbd8]
add edx, dword [0x45dbd8]
sar edx, 0xd
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [ebp - 0x818], eax
mov eax, 0x39f7b4f
imul dword [0x45dbd0]
mov eax, dword [ebp - 0x818]
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
sub eax, dword [0x45dbe4]
mov ecx, dword [ebp - 0x820]
lea edx, [eax + ecx - 0x3f76]
mov dword [0x45dbd0], edx
mov eax, 0xbf1fa759
imul esi
add edx, esi
mov esi, dword [0x45dbcc]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
add edi, edx
mov edx, esi
imul edx, edx, 0x14289
shr eax, 0x1f
add eax, edi
add eax, edx
mov dword [ebp - 0x818], eax
mov eax, 0x7f55e343
imul esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
sub edx, eax
mov eax, dword [0x5719c8]
add edx, ebx
add edx, ecx
mov dword [str._r_____r____], edx
mov ecx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [ecx + 0x30]
mov esi, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
mov edi, dword [0x45dbe8]
imul ecx, ecx, 0x14373
mov eax, 0x2fd0003
imul edi
sar edx, 0xa
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
add ebx, ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x32cc2d1b
imul edi
imul edi, edi, 0x3f76
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45dbe0]
mov eax, 0x72c3c0b5
imul ecx
imul ecx, ecx, 0x8ec3
sar edx, 0xe
sub ebx, edi
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov dword [0x45dbd8], eax
mov eax, 1
jmp 0x407cf7
inc esi
jmp 0x407910
mov esi, dword [0x45dbd4]
mov ecx, dword [0x45dbdc]
mov ebx, dword [0x45dbd8]
mov edi, dword [0x45dbe8]
imul ecx, ecx, 0x3f76
imul esi, esi, 0x156ac
mov edx, dword [0x45dbd0]
imul ebx, ebx, 0x8af5
lea eax, [edx + edi]
imul eax, eax, 0x11aa4
sub eax, esi
sub eax, ecx
mov ecx, dword [0x45dbcc]
mov dword [ebp - 0x818], eax
mov eax, 0x39f7b4f
imul ecx
mov ecx, dword [ebp - 0x818]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x7f55e343
imul edi
sar edx, 0xf
add ecx, ebx
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov dword [0x45dbe0], eax
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.0043065d
mov esp, ebp
pop ebp
ret