Function at 0x405fc0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444970
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfdc
mov eax, dword [0x458190]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov ebx, dword [0x45681c]
mov eax, 0x49f9945f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x818], eax
mov eax, 0x302debc5
imul dword [0x456824]
mov eax, dword [ebp - 0x818]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, eax
mov eax, 0x3e12562b
imul dword [0x456824]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x99b19d5b
imul ebx
add edx, ebx
sar edx, 0xf
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x302debc5
imul dword [0x456838]
mov esi, dword [0x456838]
imul esi, esi, 0xe0dd
mov edi, dword [0x456830]
imul edi, edi, 0xa8da
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, dword [ebp + 8]
add ecx, edi
add ecx, esi
sub eax, esi
sub eax, ecx
test ebx, ebx
mov dword [str._r_____r____], ecx
lea ecx, [eax + edi + 0xaaa7]
mov dword [0x45681c], ecx
je 0x4064a8
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4060b0
sub eax, edx
mov dword [ebp + 8], eax
je 0x4064a8
mov eax, dword [ebp + 0xc]
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x446e15
push eax
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45682c]
mov eax, 0x99b19d5b
imul ecx
add edx, ecx
mov edi, dword [0x456818]
sar edx, 0xf
imul edi, edi, 0xa8da
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov esi, dword [0x456830]
imul edx, edx, 0x15410
sub edx, eax
mov eax, dword [0x456828]
imul eax, eax, 0x398f
add eax, esi
add eax, edx
lea edi, [edi + eax - 0x1558c]
lea eax, [ebp - 0x814]
lea edx, [eax + 1]
mov dword [0x456824], edi
mov dword [ebp + 8], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x406148
sub eax, dword [ebp + 8]
mov dword [ebp + 8], eax
je 0x40646e
mov edi, dword [0x456820]
imul ecx, ecx, 0x1558c
imul esi, esi, 0x8ed2
mov eax, edi
imul eax, eax, 0xdd7b
add eax, ecx
mov ecx, dword [0x45681c]
mov dword [ebp + 8], eax
mov eax, 0x47298a5
imul ecx
mov ecx, dword [ebp + 8]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3e12562b
imul edi
sar edx, 0xe
add ecx, esi
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [ebp - 0x814]
push ecx
lea edx, [ebp - 0xfe8]
push 0x1f4
push edx
mov dword [0x45682c], eax
call fcn.0040ca10
add esp, 0xc
mov edi, eax
xor esi, esi
nop
cmp esi, edi
jge 0x406462
mov ecx, dword [0x456828]
mov eax, 0x49f9945f
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0xd534
sub edx, eax
mov eax, ecx
imul eax, eax, 0x15410
add edx, eax
mov dword [ebp + 8], edx
mov eax, 0x302debc5
imul ecx
mov eax, dword [ebp + 8]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, dword [0x456834]
mov dword [ebp + 8], eax
mov eax, 0x3e12562b
imul ecx
mov ecx, dword [ebp + 8]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov dword [0x456834], ecx
mov ecx, dword [ebp + esi*4 - 0xfe8]
push ecx
push ebx
call fcn.0042adb0
add esp, 8
test eax, eax
je 0x40645c
mov ecx, dword [0x456834]
mov edi, dword [0x456830]
mov eax, 0x2ff8513b
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x1558c
mov ebx, eax
mov esi, edi
imul edi, edi, 0xa8da
imul esi, esi, 0xdd7b
sub ebx, esi
add ebx, edx
mov eax, 0x47298a5
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x395bd985
imul dword [0x456820]
sar edx, 0xd
add ebx, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, ebx
mov ebx, dword [0x45681c]
mov esi, dword [0x456838]
mov eax, 0x99b19d5b
imul esi, esi, 0xe0dd
imul ebx
add edx, ebx
sar edx, 0xf
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x302debc5
imul dword [0x456838]
sar edx, 0xe
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, dword [str._r_____r____]
sub eax, esi
sub eax, ebx
lea edx, [eax + edi + 0xaaa7]
mov eax, dword [0x55a22c]
inc eax
cmp eax, 5
mov dword [0x456818], ecx
mov dword [0x45681c], edx
mov dword [0x55a22c], eax
jg 0x4063ed
cmp dword [ebp + 0x10], 1
jne 0x4063ed
imul ecx, ecx, 0x398f
imul ebx, ebx, 0x107f4
mov eax, 0x18008403
imul dword [0x456820]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
mov eax, 0x3e12562b
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, ebx
sub ecx, dword [0x456834]
mov eax, 0x49f9945f
imul dword [0x45681c]
sub ecx, 0x1558c
mov dword [0x456820], ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
mov ecx, dword [0x456824]
mov eax, 0x302debc5
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov ebx, eax
mov eax, 0x3e12562b
imul ecx
mov eax, dword [0x56a608]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
add ebx, edi
add ebx, esi
mov dword [str._r_____r____], ebx
mov edx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [edx + 0x30]
mov esi, dword [0x456838]
mov eax, 0x246e57b5
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, dword [0x45681c]
imul eax, eax, 0xd534
mov ecx, esi
imul ecx, ecx, 0x1558c
sub edi, ecx
mov ecx, dword [0x456824]
add edi, eax
mov eax, 0x302debc5
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x61082f49
imul esi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov dword [0x456828], edi
mov eax, 1
jmp 0x4064aa
inc esi
jmp 0x4061d0
mov edi, dword [0x456824]
mov ecx, dword [0x45682c]
imul ecx, ecx, 0x1558c
imul edi, edi, 0xffffc9ca
sub edi, ecx
mov ecx, dword [0x45681c]
mov eax, 0x18008403
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x456828]
imul eax, eax, 0x8ed2
add edi, eax
mov dword [0x456830], edi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042a141
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret