Function at 0x405310
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00432190
mov eax, dword [0x460640]
xor eax, esp
mov dword [esp + 0x17d8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x17f4]
mov dword [esp + 0x14], eax
mov eax, 0x1ec1ffc5
imul dword [0x45ebd0]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, dword [0x45ebe0]
mov ecx, ebx
imul ecx, ecx, 0x16c72
mov esi, eax
sub esi, ecx
mov ecx, dword [0x45ebd8]
imul ecx, ecx, 0xbae55
add esi, ecx
mov ecx, dword [0x45ebe4]
mov eax, 0xaf53e355
imul ecx
add edx, ecx
sar edx, 0x13
add esi, edx
mov edi, edx
mov eax, 0x4adacc0f
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebdc]
shr edi, 0x1f
add edi, esi
sub edi, eax
mov eax, 0x441d07d
imul edx
sar edx, 0xe
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
mov edi, dword [0x45ebe8]
mov eax, 0x98f19603
imul edi
add edx, edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebc4]
imul edx, edx, 0xd63fb
mov ebp, edi
imul ebp, ebp, 0x6e773
sub ebp, eax
sub ebp, edx
mov eax, 0x7d19681
imul dword [0x45ebd0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xaf53e355
imul dword [0x45ebd8]
add edx, dword [0x45ebd8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebx
imul ecx, ecx, 0xdae0a
mov dword [0x45ebc8], esi
add eax, ebp
lea ecx, [ecx + eax - 0xbae55]
mov dword [0x45ebd0], ecx
mov ecx, dword [esp + 0x17f0]
test ecx, ecx
je 0x40576e
mov ebp, ecx
lea edx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x405447
sub ebp, edx
mov dword [esp + 0x10], ebp
je 0x40576e
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x40576e
lea edx, [ebp + 1]
lea ebx, [ebx]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x405470
sub ebp, edx
mov dword [esp + 0x10], ebp
je 0x40576e
mov eax, 0x4a28aa57
imul dword [0x45ebc4]
sar edx, 0x11
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x1ec1ffc5
imul edi
sar edx, 0x10
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, edi
imul edx, edx, 0xbae55
sub eax, edx
mov ebp, eax
mov eax, 0x64ddc525
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, dword [0x45ebcc]
mov edx, esi
imul eax, eax, 0xc032b
imul edx, edx, 0xa26ed
add ebp, edx
sub ebp, eax
mov eax, 0x2a9f6a15
imul ebx
sar edx, 0x11
mov ebx, edx
add ebp, edx
shr ebx, 0x1f
add ebx, ebp
lea ebp, [esp + 0xfe8]
mov dword [0x45ebd8], ebx
sub ebp, ecx
mov al, byte [ecx]
mov byte [ecx + ebp], al
inc ecx
test al, al
jne 0x405504
lea ecx, [esp + 0xfe8]
push ecx
call fcn.004050a0
imul esi, esi, 0x6e773
imul ebx, ebx, 0xf08a4
mov ecx, dword [0x45ebd0]
mov edx, dword [0x45ebd4]
mov ebp, ecx
sub ebp, edx
imul ebp, ebp, 0x82f7d
mov eax, 0x7af682a5
imul edi
add ebp, esi
sar edx, 0x12
mov esi, edx
add ebp, edx
mov eax, 0x7d19681
imul ecx
mov ecx, dword [0x45ebcc]
add esp, 4
imul ecx, ecx, 0xbae55
sar edx, 0xe
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr esi, 0x1f
shr eax, 0x1f
add eax, edx
push 0x800
add esi, ebp
lea edx, [esp + 0x7f0]
push edx
sub esi, eax
mov eax, dword [esp + 0x20]
push 0x44ee89
sub esi, ecx
push eax
add esi, ebx
push str.GameType1
mov dword [0x45ebe0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4055b0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x405707
mov ecx, dword [0x45ebd8]
mov edx, dword [0x45ebd0]
mov eax, dword [0x45ebd4]
lea esi, [ecx + edx]
imul eax, eax, 0xbae55
mov edx, ecx
imul esi, esi, 0x852b6
imul edx, edx, 0xa26ed
sub esi, eax
add esi, edx
mov edx, dword [0x45ebc8]
mov eax, 0x64ddc525
imul edx
sar edx, 0x12
mov edi, edx
add esi, edx
mov eax, 0x441d07d
imul ecx
mov ecx, dword [0x45ebdc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
shr edi, 0x1f
add edi, esi
sub edi, eax
mov eax, 0x2a9f6a15
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x7e8]
push edx
lea eax, [esp + 0x1c]
sub edi, ecx
push 0x1f4
push eax
mov dword [0x45ebe8], edi
call fcn.004104f0
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x405707
mov ecx, dword [0x45ebcc]
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x13
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x13
mov ebp, edx
add ebx, edx
mov eax, 0x7af682a5
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebe0]
imul edx, edx, 0x852b6
shr ebp, 0x1f
add ebp, ebx
sub ebp, eax
sub ebp, edx
mov eax, 0x64ddc525
imul ecx
mov ecx, dword [0x45ebdc]
imul ecx, ecx, 0x14957d
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add ebp, edx
mov edx, dword [esp + esi*4 + 0x18]
add eax, ebp
add eax, ecx
mov dword [0x45ebc4], eax
push edx
lea eax, [esp + 0xfec]
push eax
call fcn.004325a0
add esp, 8
test eax, eax
jne 0x405789
inc esi
cmp esi, edi
jl 0x405660
mov esi, dword [0x45ebc4]
mov ecx, dword [0x45ebc8]
imul esi, esi, 0x1b5c14
mov edx, dword [0x45ebe8]
imul ecx, ecx, 0x852b6
imul edx, edx, 0xa26ed
sub esi, ecx
mov ecx, dword [0x45ebdc]
add esi, edx
mov eax, 0x64ddc525
imul ecx
sar edx, 0x12
add esi, edx
mov edi, edx
mov eax, 0x2a9f6a15
imul ecx
mov ecx, dword [0x45ebe4]
sar edx, 0x11
mov eax, edx
shr edi, 0x1f
shr eax, 0x1f
add eax, edx
add edi, esi
sub edi, eax
lea edx, [edi + ecx + 0xbae55]
mov dword [0x45ebd4], edx
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043194d
add esp, 0x17dc
ret
mov ecx, dword [0x45ebd8]
mov esi, dword [0x45ebc4]
mov eax, 0x98f19603
imul esi, esi, 0x6e773
imul ecx
add edx, ecx
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45ebc8]
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebe0]
sar edx, 0x13
add esi, edx
mov edi, edx
mov eax, 0x7af682a5
imul ecx
mov ecx, dword [0x45ebdc]
sar edx, 0x12
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov eax, 0x7d19681
imul ecx
mov ecx, dword [0x45ebd4]
shr esi, 0x1f
add esi, edi
sar edx, 0xe
add esi, edx
mov edi, edx
mov eax, 0xaf53e355
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd0]
shr edi, 0x1f
add edi, esi
sar edx, 0x13
add edi, edx
mov esi, edx
mov eax, 0x4adacc0f
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
shr esi, 0x1f
add eax, edx
add esi, edi
sub esi, eax
mov dword [0x45ebcc], esi
mov eax, 1
jmp 0x405770