Function at 0x405300
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.004324f0
mov eax, dword [0x460640]
xor eax, esp
mov dword [esp + 0x17d8], eax
push ebx
push ebp
push esi
push edi
mov ecx, dword [0x45ebdc]
mov eax, dword [esp + 0x17f4]
mov dword [esp + 0x14], eax
mov eax, 0x6cf6585f
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x16
imul ecx, ecx, 0x74cc7d
mov ebx, dword [0x45ebe0]
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, ecx
mov ecx, dword [0x45ebe4]
mov eax, 0x8c4682e9
imul ecx
add edx, ecx
imul ecx, ecx, 0x88c9aa
sar edx, 0x16
add esi, edx
mov ebp, edx
mov eax, 0xef8db9b
imul ebx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebp, 0x1f
add ebp, esi
sub ebp, eax
mov edi, dword [0x45ebd0]
mov eax, 0xc4d1d103
imul edi
add edx, edi
sar edx, 0x16
add ebp, edx
mov esi, edx
mov edx, ebx
imul edx, edx, 0xe3db2
shr esi, 0x1f
add esi, ebp
mov ebp, dword [0x45ebc4]
sub esi, edx
imul ebp, ebp, 0xff7a148d
mov eax, 0x7a5789fb
imul dword [0x45ebe8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xc83bcf21
imul edi
add edx, edi
mov edi, dword [0x45ebd8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x8c4682e9
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
add ebp, edx
shr eax, 0x1f
add eax, ebp
mov ebp, dword [0x45ebe8]
mov dword [0x45ebc8], esi
add ecx, ebx
mov edx, ebp
imul edx, edx, 0x450d9b
add ecx, eax
lea eax, [edx + ecx - 0x74cc7d]
mov ecx, dword [esp + 0x17f0]
test ecx, ecx
mov dword [0x45ebd0], eax
je 0x405763
mov edi, ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405436
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405763
mov edi, dword [esp + 0x14]
test edi, edi
je 0x405763
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405458
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405763
mov eax, 0xa16eca11
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, esi
imul edi, edi, 0x657dbd
sub edi, eax
mov edx, ebp
imul edx, edx, 0x74cc7d
sub edi, edx
mov eax, 0xc4d1d103
imul ebp
add edx, ebp
sar edx, 0x16
add edi, edx
mov eax, edx
mov edx, dword [0x45ebcc]
imul edx, edx, 0x781723
shr eax, 0x1f
add eax, edi
sub eax, edx
mov edi, eax
mov eax, 0x886e3a8d
imul ebx
add edx, ebx
sar edx, 0x16
add edi, edx
mov ebx, edx
mov eax, 0x76a21d75
imul dword [0x45ebc4]
shr ebx, 0x1f
add ebx, edi
sar edx, 0x15
mov edi, edx
add ebx, edx
shr edi, 0x1f
add edi, ebx
lea edx, [esp + 0xfe8]
mov dword [0x45ebd8], edi
mov eax, ecx
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4054f4
lea eax, [esp + 0xfe8]
push eax
call fcn.004050b0
imul edi, edi, 0x965d2c
imul esi, esi, 0x450d9b
mov ecx, dword [0x45ebd0]
mov edx, dword [0x45ebd4]
mov ebx, ecx
sub ebx, edx
mov eax, 0xc83bcf21
imul ebx, ebx, 0x51d30d
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebcc]
imul edx, edx, 0x74cc7d
add ebx, edi
sub ebx, ecx
sub ebx, edx
mov eax, 0x312cd50d
imul ebp
add esp, 4
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sar edx, 0x14
push 0x800
mov eax, edx
lea ecx, [esp + 0x7f0]
push ecx
shr eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x20]
push 0x44ee89
add eax, ebx
push edx
add eax, esi
push str.GameType1
mov dword [0x45ebe0], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4055a0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4056f6
mov ecx, dword [0x45ebd8]
mov eax, dword [0x45ebd0]
mov esi, dword [0x45ebc8]
lea edi, [ecx + eax]
mov eax, 0xa16eca11
imul edi, edi, 0x533e66
imul esi
add edx, esi
sar edx, 0x16
mov ebx, edx
add edi, edx
mov esi, dword [0x45ebdc]
mov eax, 0x6cf6585f
imul ecx
imul ecx, ecx, 0x657dbd
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebd4]
imul edx, edx, 0x74cc7d
shr ebx, 0x1f
add ebx, edi
sub ebx, eax
sub ebx, edx
mov eax, 0x886e3a8d
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
lea ecx, [esp + 0x7e8]
push ecx
lea edx, [esp + 0x1c]
push 0x1f4
push edx
mov dword [0x45ebe8], ebx
call fcn.00410680
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x4056f6
mov ecx, dword [0x45ebcc]
mov eax, 0x7a5789fb
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x7a5789fb
imul ecx
mov eax, dword [0x45ebdc]
mov ecx, dword [0x45ebd4]
imul eax, eax, 0xcdd745
sar edx, 0x16
mov ebp, edx
add ebx, edx
shr ebp, 0x1f
add ebp, ebx
add ebp, eax
mov eax, 0x312cd50d
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebe0]
imul edx, edx, 0x533e66
sub ebp, eax
sub ebp, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
mov ecx, dword [esp + esi*4 + 0x18]
sar edx, 0x16
mov eax, edx
add ebp, edx
shr eax, 0x1f
push ecx
lea edx, [esp + 0xfec]
add eax, ebp
push edx
mov dword [0x45ebc4], eax
call fcn.00432900
add esp, 8
test eax, eax
jne 0x40577e
inc esi
cmp esi, edi
jl 0x405652
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebc8]
mov eax, 0x7791c573
imul esi, esi, 0x533e66
imul ecx
sub edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebc4]
imul edx, edx, 0x1119354
mov ebp, dword [0x45ebe4]
mov edi, eax
sub edi, esi
mov esi, dword [0x45ebe8]
add edi, edx
imul esi, esi, 0x657dbd
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add esi, ebp
add eax, edx
add esi, edi
lea ecx, [eax + esi + 0x74cc7d]
mov dword [0x45ebd4], ecx
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00431cad
add esp, 0x17dc
ret
mov ecx, dword [0x45ebd8]
mov eax, 0x7a5789fb
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x7a5789fb
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x45ebdc]
mov eax, 0xc83bcf21
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd4]
sub edi, esi
sar edx, 0x16
add edi, edx
mov esi, edx
mov eax, 0x8c4682e9
imul ecx
add edx, ecx
mov ecx, dword [0x45ebe0]
shr esi, 0x1f
add esi, edi
sar edx, 0x16
add esi, edx
mov edi, edx
mov eax, 0x312cd50d
imul ecx
mov ecx, dword [0x45ebd0]
shr edi, 0x1f
add edi, esi
sar edx, 0x14
add edi, edx
mov esi, edx
mov eax, 0xef8db9b
imul ecx
mov ecx, dword [0x45ebc4]
sar edx, 0x13
imul ecx, ecx, 0x450d9b
shr esi, 0x1f
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, edi
sub esi, eax
add esi, ecx
mov dword [0x45ebcc], esi
mov eax, 1
jmp 0x405765