Function at 0x405130
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17d8
call fcn.004305f0
mov eax, dword [0x45e640]
mov dword [esp + 0x17d4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [0x45ccd0]
mov eax, 0x5134ce4f
imul edi
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x64e1
add ecx, edx
mov eax, 0x9aba81d9
imul edi
add edx, edi
sar edx, 0xf
add ecx, edx
mov esi, edx
mov eax, 0x4e93cfed
imul dword [0x45cce4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45cce0]
sub esi, eax
imul ecx, ecx, 0x2a2d
mov ebp, dword [0x45ccd8]
add esi, ecx
mov eax, 0x1fd2221d
imul edi
sar edx, 0xd
add esi, edx
mov ebx, dword [0x45cce8]
mov ecx, edx
mov eax, 0x5134ce4f
imul ebp
imul ebp, ebp, 0x150d2
sar edx, 0xd
shr ecx, 0x1f
add ecx, esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ebx
imul edx, edx, 0xdaea
add esi, edx
mov edx, dword [0x45ccdc]
mov eax, 0x61494a93
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov edx, ecx
imul edx, edx, 0xd082
add esi, ebp
mov ebp, dword [esp + 0x17ec]
add esi, edx
mov eax, 0x79b0bfed
imul edi
mov edi, dword [0x45cce4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, edi
sub esi, 0x64e1
mov dword [0x45ccc8], ecx
mov dword [0x45ccd0], esi
test ebp, ebp
je 0x40559e
mov edi, ebp
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x405250
sub edi, edx
mov dword [esp + 0x10], edi
je 0x40559e
mov edi, dword [esp + 0x17f0]
test edi, edi
je 0x40559e
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405275
sub edi, edx
mov dword [esp + 0x10], edi
je 0x40559e
mov eax, 0x95af2ed3
imul ecx, ecx, 0xd65c
imul ebx
add edx, ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccd4]
mov edi, ebx
imul edi, edi, 0x64e1
sub eax, edi
mov edi, dword [0x45ccd4]
mov dword [esp + 0x10], eax
mov eax, 0x98dd629f
imul edx
add edx, edi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
add edx, ecx
mov dword [esp + 0x10], edx
mov eax, 0x9aba81d9
imul ebx
mov eax, dword [esp + 0x10]
add edx, ebx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, dword [0x45cce0]
mov dword [esp + 0x10], eax
mov eax, 0x8891a35
imul ecx
imul ecx, ecx, 0x3bfc
mov eax, dword [esp + 0x10]
sar edx, 9
mov edi, edx
shr edi, 0x1f
add eax, edx
add edi, eax
add edi, ecx
lea eax, [esp + 0xfe4]
mov dword [0x45ccd8], edi
sub eax, ebp
jmp 0x405330
mov cl, byte [ebp]
mov byte [eax + ebp], cl
inc ebp
test cl, cl
jne 0x405330
lea edx, [esp + 0xfe4]
push edx
call fcn.00404ee0
imul edi, edi, 0x10171
mov edx, dword [0x45ccdc]
mov eax, dword [0x45ccd4]
imul edx, edx, 0x64e1
lea ecx, [ebx + esi]
imul eax, eax, 0xdaea
imul ecx, ecx, 0x86a3
sub ecx, edx
sub ecx, eax
mov eax, 0x5cb3b92f
imul ebx
sar edx, 0xe
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45cccc]
mov eax, 0x79b0bfed
imul ecx
mov eax, dword [esp + 0x17f4]
add esp, 4
sar edx, 0xe
mov ecx, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
lea edx, [esp + 0x7ec]
push edx
push 0x44ce59
sub esi, ecx
push eax
add esi, edi
push str.GameType1
mov dword [0x45cce0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053e0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x40553c
mov eax, dword [0x45ccd0]
mov ecx, dword [0x45ccd8]
mov edx, dword [0x45cce4]
lea esi, [ecx + eax]
imul edx, edx, 0x64e1
imul eax, eax, 0xd65c
mov ecx, dword [0x45ccc8]
imul esi, esi, 0xd3c7
sub esi, edx
sub esi, eax
mov eax, 0x98dd629f
imul ecx
add edx, ecx
sar edx, 0xf
add esi, edx
mov edi, edx
mov eax, 0x8891a35
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 9
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
mov eax, 0x1fd2221d
imul ecx
sar edx, 0xd
mov eax, edx
lea ecx, [esp + 0x7e4]
shr esi, 0x1f
shr eax, 0x1f
push ecx
add eax, edx
add esi, edi
lea edx, [esp + 0x18]
sub esi, eax
push 0x1f4
push edx
mov dword [0x45cce8], esi
call fcn.0040fdf0
mov ebx, eax
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x40553c
mov ecx, dword [0x45ccd4]
mov esi, dword [0x45cce8]
mov eax, 0x98dd629f
imul esi, esi, 0xdaea
imul ecx
add edx, ecx
sar edx, 0xf
mov ebp, edx
add esi, edx
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x45cccc]
mov eax, esi
imul eax, eax, 0xd3c7
add ebp, eax
mov eax, 0x61494a93
imul esi
sar edx, 0xf
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x61494a93
imul ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0xd082
sub ebp, ecx
mov ecx, dword [esp + edi*4 + 0x14]
add ebp, edx
mov eax, 0x5cb3b92f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
lea edx, [esp + 0xfe8]
sub ebp, eax
push edx
mov dword [str._r_____r____], ebp
call fcn.00430a00
add esp, 8
test eax, eax
jne 0x4055b7
inc edi
cmp edi, ebx
jl 0x405490
mov ecx, dword [0x45ccdc]
mov eax, 0x98dd629f
imul ecx
mov eax, dword [0x45ccd8]
add edx, ecx
imul eax, eax, 0xd082
sar edx, 0xf
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul edx, edx, 0xd3c7
add esi, edx
add esi, eax
mov eax, 0x8891a35
imul ecx
mov eax, dword [0x45cce0]
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x1a6de
sub esi, ecx
add esi, eax
lea eax, [edx + esi - 0x64e1]
mov dword [0x45ccd4], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x17d4]
call fcn.0042fdb1
add esp, 0x17d8
ret
mov esi, dword [0x45cce4]
mov eax, dword [0x45cce8]
imul esi, esi, 0x64e1
mov ecx, dword [0x45ccd4]
imul eax, eax, 0xdaea
sub esi, eax
mov eax, 0x98dd629f
imul ecx
add edx, ecx
sar edx, 0xf
add esi, edx
mov edi, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0xd3c7
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0x4e93cfed
imul ecx
mov ecx, dword [0x45cccc]
sar edx, 0xe
add edi, edx
mov esi, edx
mov eax, 0x8891a35
imul ecx
mov ecx, dword [esp + 0x17e4]
shr esi, 0x1f
sar edx, 9
add esi, edi
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
add eax, esi
pop edi
sub eax, edx
add eax, 0x86a3
pop esi
pop ebp
mov dword [0x45cccc], eax
mov eax, 1
pop ebx
call fcn.0042fdb1
add esp, 0x17d8
ret