Function at 0x405220
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00430fe0
mov eax, dword [0x45f640]
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, 0x1066a8b3
imul edi
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3e6f678
add ecx, edx
mov ebp, dword [0x45dbe0]
mov eax, 0x4f2cca89
imul edi
sar edx, 0x18
add ecx, edx
mov esi, edx
mov eax, 0x4c3a114b
imul edi
sar edx, 0x18
shr esi, 0x1f
add esi, ecx
add esi, edx
mov ecx, edx
mov eax, ebp
imul eax, eax, 0xac2519
mov ebx, dword [0x45dbd8]
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45dbe4]
sub ecx, eax
mov eax, 0x974409b3
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x1066a8b3
imul ebx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xcfdc5805
imul edi
add edx, edi
mov edi, dword [0x45dbdc]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
sub esi, eax
imul edx, edx, 0x20e865f
mov eax, ecx
imul eax, eax, 0x362805a
add esi, edx
add esi, eax
mov eax, 0xc41087d7
imul edi
add edx, edi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
imul ebx, ebx, 0x5390766
mov dword [0x45dbc8], ecx
mov edi, dword [0x45dbe4]
add esi, ebx
mov ebx, dword [esp + 0x17f0]
sub esi, edi
sub esi, 0x3e6f678
test ebx, ebx
mov dword [0x45dbd0], esi
je 0x405695
mov edi, ebx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405354
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405695
mov edi, dword [esp + 0x14]
test edi, edi
je 0x405695
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405376
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405695
mov edx, dword [0x45dbd4]
imul ecx, ecx, 0x293e68d
mov edi, dword [0x45dbe8]
mov eax, 0x39604aed
imul edi, edi, 0x3e6f678
imul edx
sub edx, dword [0x45dbd4]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
add eax, ecx
mov ecx, dword [0x45dbe8]
mov edi, eax
mov eax, 0x4f2cca89
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x83228937
imul ebp
add edx, ebp
imul ebp, ebp, 0x3e78532
sar edx, 0x19
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
add eax, ebp
mov dword [esp + 0x10], eax
mov eax, 0x7c780d21
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0x18
mov edi, edx
add eax, edx
shr edi, 0x1f
add edi, eax
lea eax, [esp + 0xfe8]
mov dword [0x45dbd8], edi
sub eax, ebx
mov edi, edi
mov cl, byte [ebx]
mov byte [eax + ebx], cl
inc ebx
test cl, cl
jne 0x405420
lea ecx, [esp + 0xfe8]
push ecx
call fcn.00404fb0
imul edi, edi, 0x35bbff4
mov ecx, dword [0x45dbe8]
mov edx, dword [0x45dbdc]
add esi, ecx
imul edx, edx, 0x3e6f678
imul esi, esi, 0x276937b
sub esi, edx
mov eax, 0x2ee68aa5
imul ecx
mov ecx, dword [0x45dbcc]
add esi, edi
sar edx, 0x17
mov edi, edx
add esi, edx
mov eax, 0xcfdc5805
imul ecx
add edx, ecx
mov ecx, dword [0x45dbd4]
add esp, 4
imul ecx, ecx, 0x20e865f
sar edx, 0x19
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
shr edi, 0x1f
add eax, edx
push 0x800
add edi, esi
lea edx, [esp + 0x7f0]
push edx
sub edi, eax
mov eax, dword [esp + 0x20]
push 0x44de89
push eax
sub edi, ecx
push str.GameType1
mov dword [0x45dbe0], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4054d1
sub eax, edx
mov dword [esp + 0x10], eax
je 0x405630
mov eax, dword [0x45dbd0]
mov ecx, dword [0x45dbd8]
mov edx, dword [0x45dbe4]
lea esi, [ecx + eax]
imul edx, edx, 0x3e6f678
imul eax, eax, 0x293e68d
mov ecx, dword [0x45dbc8]
imul esi, esi, 0x33bbc84
sub esi, edx
sub esi, eax
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov edi, edx
add esi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x4c3a114b
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
shr edi, 0x1f
add edi, esi
sub edi, eax
mov eax, 0x83228937
imul ecx
add edx, ecx
sar edx, 0x19
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 [0x45dbe8], ecx
call fcn.004100b0
mov ebx, eax
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x405630
mov ecx, dword [0x45dbd4]
mov esi, dword [0x45dbcc]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, esi
imul edx, edx, 0x33bbc84
add ebp, edx
mov eax, 0x2ee68aa5
imul esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
sub ebp, eax
imul edx, edx, 0x20e865f
mov eax, dword [0x45dbdc]
imul eax, eax, 0x362805a
add ebp, edx
add ebp, eax
mov eax, 0xc41087d7
imul esi
add edx, esi
sar edx, 0x1a
mov esi, edx
add ebp, edx
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + edi*4 + 0x18]
shr esi, 0x1f
add esi, ebp
push edx
lea eax, [esp + 0xfec]
sub esi, ecx
push eax
mov dword [str._r_____r____], esi
call fcn.004313f0
add esp, 8
test eax, eax
jne 0x4056b0
inc edi
cmp edi, ebx
jl 0x405583
mov ecx, dword [0x45dbdc]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x5f666e7
mov eax, ecx
imul eax, eax, 0x33bbc84
add esi, edx
add esi, eax
mov eax, 0x83228937
imul ecx
mov eax, dword [0x45dbe0]
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbd8]
imul edx, edx, 0x362805a
sub esi, ecx
add esi, eax
lea eax, [edx + esi - 0x3e6f678]
mov dword [0x45dbd4], eax
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043079d
add esp, 0x17dc
ret
mov ecx, dword [0x45dbd4]
mov esi, dword [0x45dbe4]
imul esi, esi, 0x3e6f678
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add esi, edx
mov edi, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x33bbc84
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45dbcc]
add edi, edx
mov eax, 0x83228937
imul esi
mov eax, dword [0x45dbe8]
add edx, esi
imul eax, eax, 0x20e865f
sar edx, 0x19
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
sub esi, eax
mov eax, 0x974409b3
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, 0x276937b
mov dword [0x45dbcc], ecx
mov eax, 1
jmp 0x405697