Function at 0x406190
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4438e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfdc
mov eax, dword [0x456fc0]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, dword [0x45569c]
mov eax, 0x948af151
imul esi
mov edi, dword [0x45568c]
add edx, esi
sar edx, 0x13
mov ebx, edi
imul ebx, ebx, 0x6e7be
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov esi, dword [0x455690]
mov eax, 0x3b1784cb
imul dword [0x455694]
mov ecx, dword [0x4556a8]
sar edx, 0x11
imul ecx, ecx, 0xcecf4
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0xcccc28f7
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
mov dword [str._r_____r____], ebx
mov ebx, dword [0x4556a0]
mov eax, 0x30f1b28f
imul ebx, ebx, 0x6e7be
imul edi
sar edx, 0x10
add ebx, edx
mov edi, edx
mov eax, 0x3b1784cb
imul esi
shr edi, 0x1f
sar edx, 0x11
add edi, ebx
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [0x455694]
add eax, edi
mov edi, dword [ebp + 8]
sub eax, ecx
sub eax, edx
add eax, 0xbae2b
test edi, edi
mov dword [0x45568c], eax
je 0x40668b
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406283
sub eax, edx
mov dword [ebp + 8], eax
je 0x40668b
mov edx, dword [ebp + 0xc]
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
lea ecx, [ebp - 0x814]
push ecx
push 0x445dd9
push edx
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45568c]
mov esi, dword [0x455698]
mov edx, dword [0x45569c]
imul esi, esi, 0x5715a
mov eax, ecx
imul eax, eax, 0x6e7be
mov ebx, dword [str._r_____r____]
add esi, eax
mov eax, 0x30f1b28f
imul edx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x8aa1b
sub esi, eax
add esi, dword [0x4556a4]
lea esi, [edx + esi - 0x205c4]
lea eax, [ebp - 0x814]
lea edx, [eax + 1]
mov dword [0x455694], esi
mov dword [ebp + 8], edx
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x406320
sub eax, dword [ebp + 8]
mov dword [ebp + 8], eax
je 0x40665e
mov ebx, dword [0x455690]
mov eax, 0x1784740b
imul ebx, ebx, 0xdc98b
imul ecx
imul ecx, ecx, 0x8a933
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
mov eax, 0xcccc28f7
imul esi
mov ecx, esi
imul ecx, ecx, 0x205c4
add edx, esi
sar edx, 0x13
add ebx, ecx
mov eax, edx
lea ecx, [ebp - 0x814]
push ecx
add ebx, edx
shr eax, 0x1f
lea edx, [ebp - 0xfe8]
add eax, ebx
push 0x1f4
push edx
mov dword [0x45569c], eax
call fcn.0040c080
add esp, 0xc
mov dword [ebp + 8], eax
xor esi, esi
mov edi, edi
cmp esi, dword [ebp + 8]
jge 0x406652
mov ecx, dword [0x45569c]
mov ebx, dword [0x455688]
mov eax, 0x948af151
imul ebx, ebx, 0x53aff
imul ecx
add edx, ecx
imul ecx, ecx, 0x8aa1b
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
mov ecx, dword [0x45568c]
mov eax, 0x3b1784cb
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x4556a4]
mov eax, 0xcccc28f7
imul ecx
add edx, ecx
mov ecx, dword [ebp + esi*4 - 0xfe8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
sub ebx, eax
push edi
mov dword [0x4556a4], ebx
call fcn.00429d20
add esp, 8
test eax, eax
je 0x40664c
mov ecx, dword [0x4556a4]
mov ebx, dword [0x45569c]
mov eax, 0x1784740b
imul ecx
mov ecx, dword [0x4556a0]
mov esi, ecx
sar edx, 0xf
imul esi, esi, 0xfff23675
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3b1db3af
imul ebx
mov edi, dword [0x4556a8]
sar edx, 0x11
add esi, edx
mov eax, edx
mov edx, dword [0x455690]
shr eax, 0x1f
imul edx, edx, 0x205c4
add eax, esi
mov esi, dword [str._r_____r____]
sub eax, edx
add eax, esi
mov esi, dword [0x455688]
add esi, eax
mov eax, edi
imul eax, eax, 0xcecf4
mov dword [ebp + 8], eax
mov eax, ecx
mov ecx, dword [0x45568c]
imul eax, eax, 0x6e7be
mov dword [ebp - 0x818], eax
mov eax, 0x30f1b28f
imul ecx
mov ecx, dword [ebp - 0x818]
sar edx, 0x10
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [ebp - 0x818], eax
mov eax, 0x3b1784cb
imul dword [0x455690]
mov eax, dword [ebp - 0x818]
sar edx, 0x11
add eax, edx
mov ecx, edx
mov edx, dword [0x455694]
shr ecx, 0x1f
add ecx, eax
sub ecx, dword [ebp + 8]
mov eax, dword [0x55936c]
sub ecx, edx
add ecx, 0xbae2b
inc eax
cmp eax, 5
mov dword [0x455688], esi
mov dword [0x45568c], ecx
mov dword [0x55936c], eax
jg 0x4065dd
cmp dword [ebp + 0x10], 1
jne 0x4065dd
mov eax, 0x57ab2ce3
imul esi, esi, 0x5715a
imul edi, edi, 0xa0008
imul dword [0x455690]
imul ecx, ecx, 0x6e7be
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0xcccc28f7
imul ebx
add edx, ebx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
add esi, edi
sub esi, eax
sub esi, edx
mov eax, 0x948af151
imul ebx
add edx, ebx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3b1784cb
imul dword [0x455694]
sar edx, 0x11
add ecx, edx
mov edi, edx
sub esi, 0x205c4
mov eax, 0xcccc28f7
imul esi
mov eax, dword [0x569740]
add edx, esi
shr edi, 0x1f
add edi, ecx
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp + 8]
sub edi, ecx
add edi, edx
mov dword [0x455690], esi
mov dword [str._r_____r____], edi
mov edx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [edx + 0x30]
mov edi, dword [0x4556a8]
mov ecx, dword [0x455698]
mov eax, 0x9e71fdc9
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x944b09c1
imul edi
add edx, edi
imul edi, edi, 0x205c4
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x4556a0]
imul eax, eax, 0x53aff
add ecx, eax
mov eax, 0x3b1784cb
imul dword [0x455694]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, edi
mov dword [0x455698], ecx
mov eax, 1
jmp 0x40668d
inc esi
jmp 0x4063a0
mov ebx, dword [str._r_____r____]
mov ecx, dword [0x45568c]
mov esi, dword [0x455698]
imul ebx, ebx, 0xbae2b
mov eax, 0xa854d31d
imul esi, esi, 0x64985
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
add ecx, ebx
mov dword [0x4556a0], ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042909d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret