Function at 0x4051b0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00430ea0
mov eax, dword [0x45f540]
xor eax, esp
mov dword [esp + 0x17d8], eax
mov eax, dword [esp + 0x17e4]
mov dword [esp + 4], eax
push ebx
push ebp
mov ebp, dword [0x45dbe4]
mov eax, 0x9524e185
imul ebp
add edx, ebp
sar edx, 0xf
mov ecx, edx
push esi
mov esi, dword [0x45dbe0]
imul esi, esi, 0x5556
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
push edi
mov edi, dword [0x45dbd0]
mov eax, 0x32cc2d1b
imul edi
sar edx, 0xe
add esi, edx
mov ecx, edx
mov eax, 0x8116582f
imul edi
add edx, edi
sar edx, 0xd
shr ecx, 0x1f
add ecx, esi
add ecx, edx
mov esi, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr esi, 0x1f
add esi, ecx
add esi, edx
mov eax, 0x3af417
imul edi
sar edx, 5
add esi, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45dbdc]
mov eax, ecx
imul eax, eax, 0xdbb5
mov dword [esp + 0x10], eax
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov ebx, dword [0x45dbe8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov esi, edx
mov edx, dword [0x45dbd8]
mov eax, edx
imul eax, eax, 0x156e6
add esi, eax
mov eax, ebx
imul eax, eax, 0x156ac
add esi, eax
mov eax, 0x8116582f
imul edx
add edx, dword [0x45dbd8]
sar edx, 0xd
mov eax, esi
mov esi, edx
mov dword [0x45dbc8], ecx
shr esi, 0x1f
add eax, edx
add esi, eax
mov eax, 0x39f7b4f
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ebp
mov ebp, dword [esp + 0x17f0]
sub esi, 0x3f76
test ebp, ebp
mov dword [0x45dbd0], esi
je 0x405635
mov edi, ebp
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4052f0
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405635
mov edi, dword [esp + 0x14]
test edi, edi
je 0x405635
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405312
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405635
mov eax, 0x2fd0003
imul ecx, ecx, 0x14373
imul ebx
sar edx, 0xa
mov edi, dword [0x45dbd4]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbd4]
mov dword [esp + 0x10], eax
mov eax, 0xca9db4d5
imul edx
add edx, edi
sar edx, 0x10
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, 0x32cc2d1b
imul ebx
mov eax, dword [esp + 0x10]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ebx
imul edx, edx, 0x3f76
sub eax, ecx
mov ecx, dword [0x45dbe0]
sub eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x72c3c0b5
imul ecx
imul ecx, ecx, 0x8ec3
mov eax, dword [esp + 0x10]
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add eax, edx
add edi, eax
add edi, ecx
lea eax, [esp + 0xfe8]
mov dword [0x45dbd8], edi
sub eax, ebp
mov cl, byte [ebp]
mov byte [eax + ebp], cl
inc ebp
test cl, cl
jne 0x4053c4
lea eax, [esp + 0xfe8]
push eax
call fcn.00404f60
imul edi, edi, 0x8af5
mov ecx, dword [0x45dbd4]
mov edx, dword [0x45dbdc]
imul ecx, ecx, 0x156ac
add esi, ebx
imul edx, edx, 0x3f76
imul esi, esi, 0x11aa4
sub esi, ecx
mov ecx, dword [0x45dbcc]
sub esi, edx
mov eax, 0x39f7b4f
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x7f55e343
imul ebx
mov eax, dword [esp + 0x18]
add esp, 4
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sar edx, 0xf
add esi, edi
push 0x800
mov ecx, edx
add esi, edx
lea edx, [esp + 0x7f0]
push edx
push 0x44de89
shr ecx, 0x1f
push eax
add ecx, esi
push str.GameType1
mov dword [0x45dbe0], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405470
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4055ce
mov eax, dword [0x45dbd0]
mov ecx, dword [0x45dbd8]
lea esi, [ecx + eax]
imul eax, eax, 0x14373
mov ecx, dword [0x45dbc8]
imul esi, esi, 0x14289
sub esi, eax
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov edi, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x3f76
shr edi, 0x1f
add edi, esi
sub edi, edx
mov eax, 0x72c3c0b5
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xe
mov esi, edx
add edi, edx
mov eax, 0x3af417
imul ecx
sar edx, 5
mov eax, edx
lea ecx, [esp + 0x7e8]
shr esi, 0x1f
shr eax, 0x1f
push ecx
add eax, edx
add esi, edi
lea edx, [esp + 0x1c]
sub esi, eax
push 0x1f4
push edx
mov dword [0x45dbe8], esi
call fcn.004101c0
mov ebx, eax
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x4055ce
mov ecx, dword [0x45dbcc]
mov esi, dword [0x45dbdc]
mov eax, 0xbf1fa759
imul esi, esi, 0xdbb5
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x45dbd4]
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x156ac
sub ebp, eax
add ebp, edx
mov eax, 0xca9db4d5
imul esi
add edx, esi
mov eax, ecx
imul eax, eax, 0x14289
sar edx, 0x10
mov esi, edx
add ebp, edx
shr esi, 0x1f
add esi, ebp
add esi, eax
mov eax, 0x7f55e343
imul ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + edi*4 + 0x18]
push edx
lea eax, [esp + 0xfec]
sub esi, ecx
push eax
mov dword [str._r_____r____], esi
call fcn.004312b0
add esp, 8
test eax, eax
jne 0x405650
inc edi
cmp edi, ebx
jl 0x405520
mov eax, dword [str._r_____r____]
mov ecx, dword [0x45dbd8]
lea esi, [eax + ecx]
imul eax, eax, 0x14373
mov ecx, dword [0x45dbdc]
imul esi, esi, 0xdbb5
add esi, eax
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov edi, edx
mov edx, ecx
imul edx, edx, 0x14289
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0x72c3c0b5
imul ecx
mov ecx, dword [0x45dbe0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea edx, [edi + ecx - 0x3f76]
mov dword [0x45dbd4], edx
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043065d
add esp, 0x17dc
ret
mov ecx, dword [0x45dbd4]
mov eax, 0x9524e185
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x156ac
mov esi, eax
sub esi, edx
mov eax, 0xca9db4d5
imul ecx
mov eax, dword [0x45dbe0]
add edx, ecx
imul eax, eax, 0x14289
mov ecx, dword [0x45dbe4]
sar edx, 0x10
imul ecx, ecx, 0x3f76
mov edi, edx
shr edi, 0x1f
add esi, edx
add edi, esi
add edi, eax
add edi, ecx
mov ecx, dword [0x45dbcc]
mov eax, 0x72c3c0b5
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [str._r_____r____]
add eax, edi
sub eax, edx
add eax, 0x11aa4
mov dword [0x45dbcc], eax
mov eax, 1
jmp 0x405637