Function at 0x405110
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.004309b0
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]
push edi
mov edi, dword [0x45cbe4]
mov eax, 0x993c2c11
imul edi
add edx, edi
sar edx, 0x19
mov ecx, edx
mov ebp, dword [0x45cbe0]
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3bfa58a9
imul esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, ecx
mov eax, 0x342745e1
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
mov ecx, ebp
imul ecx, ecx, 0x14e459e
add ebx, ecx
add ebx, edx
add eax, ebx
mov ebx, eax
mov eax, 0x206151bf
imul esi
sar edx, 0x15
add ebx, edx
mov ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov edx, dword [0x45cbdc]
mov eax, 0x315a5211
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbd8]
mov ebx, dword [0x45cbe8]
imul edx, edx, 0x52fe876
sub edx, eax
mov eax, ecx
imul eax, eax, 0x3575d9d
add edx, eax
mov eax, ebx
imul eax, eax, 0x5335ef4
add edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x3b012ec7
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, 0x206151bf
mov dword [esp + 0x10], edx
imul dword [0x45cbd8]
mov dword [0x45cbc8], ecx
mov eax, dword [esp + 0x10]
sar edx, 0x15
mov esi, edx
shr esi, 0x1f
add eax, edx
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x17f0]
sub esi, 0xfcfe96
test edi, edi
mov dword [0x45cbd0], esi
je 0x405590
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405250
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405590
mov edi, dword [esp + 0x14]
test edi, edi
je 0x405590
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x405272
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405590
mov eax, 0xc4e5d61
imul ecx, ecx, 0x4ebb783
imul ebx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbd4]
mov dword [esp + 0x10], eax
mov eax, 0x680c7cd1
imul edx
sar edx, 0x19
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, 0x342745e1
imul ebx
mov eax, dword [esp + 0x10]
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x74b32761
imul ebp
imul ebp, ebp, 0x23193db
mov eax, dword [esp + 0x10]
sar edx, 0x18
add eax, edx
mov edi, edx
mov edx, ebx
imul edx, edx, 0xfcfe96
shr edi, 0x1f
add edi, eax
mov eax, dword [esp + 0x17f0]
add edi, ebp
sub edi, edx
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 0x405320
lea eax, [esp + 0xfe8]
push eax
call fcn.00404ed0
imul edi, edi, 0x222559d
mov ecx, dword [0x45cbd4]
add esi, ebx
imul ecx, ecx, 0x5335ef4
imul esi, esi, 0x456b154
sub esi, ecx
mov ecx, dword [0x45cbcc]
mov eax, 0x3b012ec7
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, edi
sub esi, eax
mov eax, 0x83740ec5
imul ebx
add edx, ebx
sar edx, 0x19
mov ecx, edx
add esi, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0xfcfe96
add esp, 4
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr ecx, 0x1f
push 0x800
add ecx, esi
sub ecx, edx
lea eax, [esp + 0x7f0]
push eax
mov dword [0x45cbe0], ecx
mov ecx, dword [esp + 0x20]
push 0x44ce85
push ecx
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
jmp 0x4053d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053d0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x40552b
mov ecx, dword [0x45cbd0]
mov edx, dword [0x45cbd8]
lea esi, [edx + ecx]
imul ecx, ecx, 0x4ebb783
mov edx, dword [str._r_____r____]
imul esi, esi, 0x4e899b9
mov eax, 0x3bfa58a9
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ecx
mov ecx, dword [0x45cbc8]
mov eax, 0x680c7cd1
imul ecx
sar edx, 0x19
mov edi, edx
add esi, edx
mov eax, 0x74b32761
imul ecx
sar edx, 0x18
shr edi, 0x1f
mov ecx, edx
add edi, esi
add edi, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, edi
sub ecx, edx
lea eax, [esp + 0x7e8]
push eax
mov dword [0x45cbe8], ecx
lea ecx, [esp + 0x1c]
push 0x1f4
push ecx
call fcn.0040ff20
mov ebx, eax
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x40552b
nop
mov ecx, dword [0x45cbcc]
mov edi, dword [0x45cbd4]
mov eax, 0x315a5211
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x315a5211
imul edi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
sub ebp, eax
imul edx, edx, 0x3575d9d
mov eax, dword [0x45cbe8]
imul eax, eax, 0x5335ef4
add ebp, edx
add ebp, eax
mov eax, 0x680c7cd1
imul edi
sar edx, 0x19
mov edi, edx
add ebp, edx
mov edx, ecx
imul edx, edx, 0x4e899b9
shr edi, 0x1f
add edi, ebp
add edi, edx
mov eax, 0x83740ec5
imul ecx
add edx, ecx
mov ecx, dword [esp + esi*4 + 0x18]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
lea edx, [esp + 0xfec]
sub edi, eax
push edx
mov dword [str._r_____r____], edi
call fcn.00430dc0
add esp, 8
test eax, eax
jne 0x4055ab
inc esi
cmp esi, ebx
jl 0x405480
mov eax, dword [str._r_____r____]
mov ecx, dword [0x45cbd8]
lea esi, [eax + ecx]
imul eax, eax, 0x4ebb783
mov ecx, dword [0x45cbdc]
imul esi, esi, 0x3575d9d
add esi, eax
mov eax, 0x680c7cd1
imul ecx
sar edx, 0x19
add esi, edx
mov edi, edx
mov edx, ecx
imul edx, edx, 0x4e899b9
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0x74b32761
imul ecx
mov ecx, dword [0x45cbe0]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea edx, [edi + ecx - 0xfcfe96]
mov dword [0x45cbd4], edx
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043016d
add esp, 0x17dc
ret
mov ecx, dword [0x45cbd4]
mov eax, 0x993c2c11
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe8]
imul edx, edx, 0x5335ef4
mov esi, eax
sub esi, edx
mov eax, 0x680c7cd1
imul ecx
mov eax, dword [0x45cbe0]
mov ecx, dword [0x45cbcc]
imul eax, eax, 0x4e899b9
sar edx, 0x19
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x74b32761
imul ecx
sar edx, 0x18
add edi, edx
mov ecx, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, edi
add ecx, edx
sub ecx, dword [str._r_____r____]
add ecx, 0x456b154
mov dword [0x45cbcc], ecx
mov eax, 1
jmp 0x405592