Function at 0x405070
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.004306c0
mov eax, dword [0x45e540]
xor eax, esp
mov dword [esp + 0x17d8], eax
mov eax, dword [esp + 0x17e4]
mov dword [esp + 4], eax
push ebx
push ebp
push esi
mov esi, dword [0x45cbd0]
mov eax, 0x99335f19
imul esi
add edx, esi
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x4d49d1e9
imul esi
sar edx, 0x11
add ecx, edx
mov ebp, dword [0x45cbe0]
push edi
mov edi, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x69fe2
shr edi, 0x1f
add edi, ecx
add edi, edx
mov eax, 0x3b8e0831
imul esi
sar edx, 0x11
add edi, edx
mov ecx, edx
mov eax, ebp
imul eax, eax, 0x50c98
mov ebx, dword [0x45cbe8]
shr ecx, 0x1f
add ecx, edi
sub ecx, eax
mov eax, 0x662e995b
imul dword [0x45cbe4]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ebx
imul eax, eax, 0x857ee
mov dword [esp + 0x10], eax
mov edi, dword [0x45cbd8]
mov eax, 0x9a8b8787
imul esi
add edx, esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x4d49d1e9
imul edi
imul edi, edi, 0xf08ec
mov eax, dword [esp + 0x10]
sar edx, 0x11
add eax, edx
mov esi, edx
mov edx, dword [0x45cbdc]
shr esi, 0x1f
add esi, eax
mov eax, 0x220de0d
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x45cbc8], ecx
add esi, edi
mov edi, dword [0x45cbe4]
mov edx, ecx
imul edx, edx, 0xa0576
add esi, edx
sub esi, edi
mov edi, dword [esp + 0x17f0]
sub esi, 0x69fe2
test edi, edi
mov dword [0x45cbd0], esi
je 0x4054dd
lea edx, [edi + 1]
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x4051b0
sub edi, edx
mov dword [esp + 0x10], edi
je 0x4054dd
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4054dd
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4051d2
sub edi, edx
mov dword [esp + 0x10], edi
je 0x4054dd
mov eax, 0x7abb0ab
imul ecx, ecx, 0xa0437
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x63b1cbb5
imul ebp
imul ebp, ebp, 0xa4579
mov eax, dword [esp + 0x10]
sar edx, 0x12
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, ebx
imul eax, eax, 0x69fe2
add edi, ebp
sub edi, eax
mov eax, 0x3b8e0831
imul ebx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbd4]
sub edi, eax
mov eax, 0x331da7cd
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [esp + 0x17f0]
add edi, ecx
lea ebp, [esp + 0xfe8]
mov dword [0x45cbd8], edi
sub ebp, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + ebp], cl
inc eax
test cl, cl
jne 0x405270
lea ecx, [esp + 0xfe8]
push ecx
call fcn.00404e40
imul edi, edi, 0xd5e3b
lea ecx, [ebx + esi]
mov eax, 0x98eb62a3
imul ecx, ecx, 0x6a03b
imul ebx
add edx, ebx
sar edx, 0x13
add ecx, edx
mov esi, edx
mov edx, dword [0x45cbd4]
imul edx, edx, 0x857ee
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45cbcc]
add esi, edi
sub esi, edx
mov eax, 0x9a8b8787
imul ecx
add edx, ecx
mov ecx, dword [0x45cbdc]
add esp, 4
imul ecx, ecx, 0x69fe2
sar edx, 0x12
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 0x44ce89
push eax
sub esi, ecx
push str.GameType1
mov dword [0x45cbe0], esi
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 0x405320
sub eax, edx
mov dword [esp + 0x10], eax
je 0x405479
mov ecx, dword [0x45cbd0]
mov edx, dword [0x45cbd8]
mov esi, dword [str._r_____r____]
lea edi, [edx + ecx]
imul ecx, ecx, 0xa0437
mov eax, 0x99335f19
imul edi, edi, 0x898dd
imul esi
add edx, esi
mov esi, dword [0x45cbc8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x63b1cbb5
imul esi
sar edx, 0x12
mov ebx, edx
add edi, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0x69fe2
shr ebx, 0x1f
add ebx, edi
sub ebx, edx
mov eax, 0x331da7cd
imul esi
sar edx, 0x11
sub ebx, ecx
mov eax, edx
lea ecx, [esp + 0x7e8]
push ecx
add ebx, edx
shr eax, 0x1f
lea edx, [esp + 0x1c]
add eax, ebx
push 0x1f4
push edx
mov dword [0x45cbe8], eax
call fcn.0040fc00
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x405479
mov ecx, dword [0x45cbcc]
mov ebx, dword [0x45cbe8]
mov eax, 0x98eb62a3
imul ebx, ebx, 0x857ee
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, ecx
imul edx, edx, 0x898dd
add ebx, edx
mov eax, 0x220de0d
imul ecx
mov ecx, dword [0x45cbd4]
sar edx, 0xd
mov ebp, edx
add ebx, edx
mov eax, 0x220de0d
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0xa0576
shr ebp, 0x1f
add ebp, ebx
sub ebp, eax
add ebp, edx
mov eax, 0x331da7cd
imul ecx
mov ecx, dword [esp + esi*4 + 0x18]
sar edx, 0x11
mov eax, edx
add ebp, edx
shr eax, 0x1f
push ecx
lea edx, [esp + 0xfec]
add eax, ebp
push edx
mov dword [str._r_____r____], eax
call fcn.00430ad0
add esp, 8
test eax, eax
jne 0x4054f8
inc esi
cmp esi, edi
jl 0x4053d0
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
mov esi, dword [0x45cbdc]
lea edi, [ecx + edx]
imul ecx, ecx, 0xa0437
mov eax, 0x63b1cbb5
imul edi, edi, 0xa0576
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x898dd
sub edi, eax
add ecx, dword [0x45cbe0]
add edi, edx
mov eax, 0x331da7cd
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, edi
lea ecx, [eax + ecx - 0x69fe2]
mov dword [0x45cbd4], ecx
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 [0x45cbcc]
mov esi, dword [0x45cbe8]
mov eax, 0x63b1cbb5
imul esi, esi, 0x857ee
imul ecx
mov ecx, dword [0x45cbe4]
sar edx, 0x12
imul ecx, ecx, 0x69fe2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x898dd
mov edi, eax
sub edi, esi
add edi, ecx
mov ecx, dword [0x45cbd4]
add edi, edx
mov eax, 0x662e995b
imul ecx
sar edx, 0x12
add edi, edx
mov esi, edx
mov eax, 0x331da7cd
imul ecx
sar edx, 0x11
shr esi, 0x1f
add esi, edi
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
add eax, esi
sub eax, edx
add eax, 0x6a03b
mov dword [0x45cbcc], eax
mov eax, 1
jmp 0x4054df