Function at 0x405100
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.004306c0
mov eax, dword [0x45e640]
xor eax, esp
mov dword [esp + 0x17d8], eax
mov eax, dword [esp + 0x17e4]
mov dword [esp + 4], eax
push ebx
mov ebx, dword [0x45cce4]
push ebp
push esi
push edi
mov edi, dword [0x45ccd0]
mov eax, 0x53f407b5
imul edi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xc09370e3
imul ebx
add edx, ebx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce0]
sub ecx, eax
imul edx, edx, 0x1481
sub ecx, edx
mov eax, 0x6f9f33f1
imul edi
mov eax, dword [0x45ccc8]
imul eax, eax, 0x1259
sar edx, 0xb
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
add esi, eax
mov eax, 0x2f1d432d
imul edi
sar edx, 9
add esi, edx
mov ecx, edx
mov edx, dword [0x45ccdc]
mov eax, 0x44fc3a35
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccd8]
mov ebp, edx
imul ebp, ebp, 0x1db0
sub ebp, eax
shr ecx, 0x1f
add ecx, esi
mov eax, ecx
imul eax, eax, 0x1545
add ebp, eax
mov eax, 0x6f9f33f1
imul edx
sar edx, 0xb
add ebp, edx
mov esi, edx
mov eax, 0x5df55b35
imul edi
sar edx, 0xa
shr esi, 0x1f
mov eax, edx
add esi, ebp
mov ebp, dword [0x45cce8]
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0xa74
sub esi, eax
add esi, edx
mov dword [0x45ccc8], ecx
sub esi, ebx
mov ebx, dword [esp + 0x17f0]
sub esi, 0x1259
test ebx, ebx
mov dword [0x45ccd0], esi
je 0x40555a
mov edi, ebx
lea edx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x405230
sub edi, edx
mov dword [esp + 0x10], edi
je 0x40555a
mov edi, dword [esp + 0x14]
test edi, edi
je 0x40555a
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405252
sub edi, edx
mov dword [esp + 0x10], edi
je 0x40555a
mov eax, 0x53f407b5
imul ecx, ecx, 0x161e
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccd4]
mov edi, eax
mov eax, 0xa366ff2f
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
add eax, ecx
mov ecx, ebp
imul ecx, ecx, 0x1259
sub eax, ecx
mov edi, eax
mov ecx, dword [0x45cce0]
mov eax, 0x61f60d03
imul ebp
sar edx, 0xa
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov dword [esp + 0x10], eax
mov eax, 0x6614bc37
imul ecx
imul ecx, ecx, 0xa08
mov eax, dword [esp + 0x10]
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add eax, edx
add edi, eax
add edi, ecx
lea ecx, [esp + 0xfe8]
mov dword [0x45ccd8], edi
mov eax, ebx
sub ecx, ebx
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x4052f2
lea edx, [esp + 0xfe8]
push edx
call fcn.00404eb0
imul edi, edi, 0xade
lea ecx, [esi + ebp]
imul ecx, ecx, 0xae6
mov eax, 0x4227fdad
imul ebp
sar edx, 0xb
add ecx, edx
mov esi, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x1259
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45cccc]
sub esi, edx
mov eax, 0x5df55b35
imul ecx
mov ecx, dword [0x45ccd4]
add esp, 4
imul ecx, ecx, 0xa74
sar edx, 0xa
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
add eax, edx
push 0x800
lea edx, [esp + 0x7f0]
push edx
sub esi, eax
mov eax, dword [esp + 0x20]
push 0x44ce59
add esi, edi
push eax
sub esi, ecx
push str.GameType1
mov dword [0x45cce0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053a0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4054f9
mov eax, dword [0x45ccd0]
mov ecx, dword [0x45ccd8]
lea esi, [ecx + eax]
imul eax, eax, 0x161e
mov ecx, dword [0x45ccc8]
imul esi, esi, 0x1865
sub esi, eax
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
mov edi, edx
add esi, edx
mov edx, dword [0x45cce4]
imul edx, edx, 0x1259
shr edi, 0x1f
add edi, esi
sub edi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x2f1d432d
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov ecx, edx
add edi, edx
lea edx, [esp + 0x7e8]
push edx
shr ecx, 0x1f
lea eax, [esp + 0x1c]
add ecx, edi
push 0x1f4
push eax
mov dword [0x45cce8], ecx
call fcn.0040feb0
mov ebx, eax
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x4054f9
mov edi, edi
mov ecx, dword [0x45cccc]
mov eax, 0x4227fdad
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x44fc3a35
imul ecx
imul ecx, ecx, 0x1865
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
sub ebp, edi
mov edi, dword [0x45ccd4]
mov eax, 0x44fc3a35
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x5c9900d1
imul edi
mov eax, dword [0x45cce8]
add ebp, ecx
imul eax, eax, 0xa74
sar edx, 0xb
mov ecx, edx
add ebp, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x1545
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
add ecx, eax
mov dword [str._r_____r____], ecx
mov ecx, dword [esp + esi*4 + 0x18]
push ecx
lea edx, [esp + 0xfec]
push edx
call fcn.00430ad0
add esp, 8
test eax, eax
jne 0x405575
inc esi
cmp esi, ebx
jl 0x405450
mov ecx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov edx, ecx
imul esi, esi, 0x2b63
imul edx, edx, 0x1865
add esi, edx
mov eax, 0x5c9900d1
imul ecx
mov eax, dword [0x45ccd8]
imul eax, eax, 0x1545
sar edx, 0xb
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cce0]
sub edi, ecx
lea eax, [edi + edx - 0x1259]
mov dword [0x45ccd4], eax
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042fe7d
add esp, 0x17dc
ret
mov ecx, dword [0x45ccd4]
mov esi, dword [0x45cce0]
imul esi, esi, 0x1865
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
add esi, edx
mov edi, edx
mov eax, 0xc09370e3
imul ecx
mov eax, dword [0x45cce4]
add edx, ecx
imul eax, eax, 0x1259
mov ecx, dword [0x45cce8]
sar edx, 0xc
imul ecx, ecx, 0xa74
shr edi, 0x1f
add edi, esi
mov esi, edx
shr esi, 0x1f
add edi, edx
add esi, edi
add esi, eax
sub esi, ecx
mov ecx, dword [0x45cccc]
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
add eax, esi
sub eax, edx
add eax, 0xae6
mov dword [0x45cccc], eax
mov eax, 1
jmp 0x40555c