Function at 0x405100
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00430a10
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
push esi
push edi
mov edi, dword [0x45dbd0]
mov eax, 0x6386b3b9
imul edi
mov eax, dword [0x45dbe0]
sar edx, 0x18
imul eax, eax, 0x1fc96d8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x2927ae2
add ecx, edx
sub ecx, eax
mov eax, 0x4bee9027
imul edi
sar edx, 0x18
add ecx, edx
mov esi, edx
mov eax, 0x187fbc47
imul edi
sar edx, 0x17
shr esi, 0x1f
add esi, ecx
add esi, edx
mov ecx, edx
mov ebx, dword [0x45dbd8]
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45dbe4]
mov eax, 0x8345522b
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x6386b3b9
imul ebx
imul ebx, ebx, 0x5e30a0c
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, dword [0x45dbe8]
mov esi, eax
mov eax, 0x31b1a317
imul edi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0x3409f8e
sub esi, eax
add esi, edx
mov edx, dword [0x45dbdc]
mov eax, 0x56f92285
imul edx
mov edi, dword [0x45dbe4]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x3e67c56
sub esi, eax
add esi, ebx
mov dword [0x45dbc8], ecx
add esi, edx
mov ebx, dword [esp + 0x17f0]
sub esi, edi
sub esi, 0x2927ae2
test ebx, ebx
mov dword [0x45dbd0], esi
je 0x405562
mov edi, ebx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x405230
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405562
mov edi, dword [esp + 0x14]
test edi, edi
je 0x405562
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405252
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405562
mov edx, dword [0x45dbd4]
imul ecx, ecx, 0x3e828c7
mov eax, 0x7cf2e973
imul edx
sub edx, dword [0x45dbd4]
sar edx, 0x19
mov edi, ebp
imul edi, edi, 0x2927ae2
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
add eax, ecx
mov ecx, dword [0x45dbe0]
mov edi, eax
mov eax, 0x3f96a7f5
imul ecx
imul ecx, ecx, 0x406a069
sar edx, 0x18
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x9d6ba841
imul ebp
mov eax, dword [esp + 0x10]
add edx, ebp
sar edx, 0x19
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, 0x4bee9027
imul ebp
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
lea eax, [esp + 0xfe8]
mov dword [0x45dbd8], edi
sub eax, ebx
mov cl, byte [ebx]
mov byte [eax + ebx], cl
inc ebx
test cl, cl
jne 0x4052f6
lea edx, [esp + 0xfe8]
push edx
call fcn.00404ea0
imul edi, edi, 0x539869b
mov eax, dword [0x45dbdc]
mov ecx, dword [0x45dbcc]
imul eax, eax, 0x2927ae2
add esi, ebp
imul esi, esi, 0x293659b
sub esi, eax
mov eax, 0x31b1a317
imul ecx
sar edx, 0x17
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x61b9fbc5
imul ebp
sub esi, ecx
mov ecx, dword [0x45dbd4]
imul ecx, ecx, 0x3409f8e
sar edx, 0x19
add esp, 4
mov eax, edx
shr eax, 0x1f
add esi, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add eax, esi
push 0x800
sub eax, ecx
add eax, edi
lea edx, [esp + 0x7f0]
push edx
mov dword [0x45dbe0], eax
mov eax, dword [esp + 0x20]
push 0x44de89
push eax
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053a0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4054fe
mov eax, dword [0x45dbd0]
mov ecx, dword [0x45dbd8]
mov edx, dword [0x45dbe4]
lea esi, [ecx + eax]
imul edx, edx, 0x2927ae2
imul eax, eax, 0x3e828c7
mov ecx, dword [0x45dbc8]
imul esi, esi, 0x35f16dd
sub esi, edx
sub esi, eax
mov eax, 0x830d168d
imul ecx
add edx, ecx
sar edx, 0x19
add esi, edx
mov edi, edx
mov eax, 0x3f96a7f5
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x18
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
mov eax, 0x187fbc47
imul ecx
sar edx, 0x17
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.0040fe20
mov ebx, eax
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x4054fe
mov ecx, dword [0x45dbcc]
mov esi, dword [0x45dbd4]
mov eax, 0x61b9fbc5
imul ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x830d168d
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x3409f8e
sub eax, ebp
add eax, edx
mov edx, ecx
imul edx, edx, 0x35f16dd
add eax, edx
mov ebp, eax
mov eax, 0x56f92285
imul ecx
sar edx, 0x19
mov ecx, edx
add ebp, edx
mov eax, 0x56f92285
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x3e67c56
shr ecx, 0x1f
add ecx, ebp
sub ecx, eax
mov eax, dword [esp + edi*4 + 0x18]
add ecx, edx
mov dword [str._r_____r____], ecx
push eax
lea ecx, [esp + 0xfec]
push ecx
call fcn.00430e20
add esp, 8
test eax, eax
jne 0x40557d
inc edi
cmp edi, ebx
jl 0x405450
mov ecx, dword [0x45dbdc]
mov eax, 0x830d168d
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov edi, dword [0x45dbe0]
mov eax, 0x3f96a7f5
imul ecx
imul ecx, ecx, 0x35f16dd
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub esi, eax
imul edx, edx, 0x7cea51d
mov eax, dword [0x45dbd8]
imul eax, eax, 0x3e67c56
add ecx, edi
add esi, edx
add ecx, esi
lea ecx, [eax + ecx - 0x2927ae2]
mov dword [0x45dbd4], ecx
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004301cd
add esp, 0x17dc
ret
mov ecx, dword [0x45dbd4]
mov esi, dword [0x45dbe4]
imul esi, esi, 0x2927ae2
mov eax, 0x830d168d
imul ecx
add edx, ecx
sar edx, 0x19
add esi, edx
mov edi, edx
mov edx, dword [0x45dbcc]
mov eax, 0x3f96a7f5
imul edx
mov eax, dword [0x45dbe0]
sar edx, 0x18
imul eax, eax, 0x35f16dd
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x3409f8e
shr esi, 0x1f
add esi, edi
sub esi, edx
add esi, eax
mov eax, 0x8345522b
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
add ecx, esi
sub ecx, edx
add ecx, 0x293659b
mov dword [0x45dbcc], ecx
mov eax, 1
jmp 0x405564