Function at 0x4051c0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00431bb0
mov eax, dword [0x460640]
xor eax, esp
mov dword [esp + 0x17d8], eax
mov eax, dword [esp + 0x17e4]
mov dword [esp + 4], eax
push ebx
mov ebx, dword [0x45ebe0]
mov eax, 0x78d1ad69
imul ebx
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebx
imul ecx, ecx, 0x5c7bb4
sub ecx, eax
push ebp
push esi
push edi
mov edi, dword [0x45ebd0]
mov eax, 0x46d65f19
imul edi
sar edx, 0x1a
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45ebd8]
imul ecx, ecx, 0x7e501e9
add esi, ecx
mov ecx, dword [0x45ebdc]
mov eax, 0x4c8f4365
imul ecx
mov ecx, dword [0x45ebe4]
sar edx, 0x1c
add esi, edx
mov ebp, edx
mov eax, 0x81b5a619
imul ecx
add edx, ecx
imul ecx, ecx, 0x21e6e566
sar edx, 0x1a
shr ebp, 0x1f
add ebp, esi
add ebp, edx
mov esi, edx
mov eax, 0x3dbc891d
imul edi
sar edx, 0x1b
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
shr esi, 0x1f
add esi, ebp
mov ebp, dword [0x45ebe8]
mov eax, 0xe98e437f
imul ebp
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x2d9fc474
sub eax, edi
add eax, edx
add eax, ecx
mov ecx, ebp
imul ecx, ecx, 0x34652235
add eax, ecx
mov ecx, dword [0x45ebd8]
mov dword [esp + 0x10], eax
mov eax, 0x81b5a619
imul ecx
add edx, ecx
sar edx, 0x1a
mov edi, edx
mov dword [0x45ebc8], esi
shr edi, 0x1f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x17f0]
add eax, edx
add edi, eax
sub edi, ebx
sub edi, 0x7e501e9
test ecx, ecx
mov dword [0x45ebd0], edi
je 0x40563c
mov eax, ecx
lea edx, [eax + 1]
mov dword [esp + 0x10], edx
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x405300
sub eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
je 0x40563c
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40563c
lea edx, [eax + 1]
mov dword [esp + 0x10], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x405328
sub eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
je 0x40563c
mov eax, 0x1a129787
imul esi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x2746608a
sub edx, eax
mov eax, dword [0x45ebcc]
imul eax, eax, 0x21e710c2
add edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x1e3444b9
imul ebx
mov ebx, dword [esp + 0x10]
sar edx, 0x1a
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x46d65f19
imul ebp
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x9c59c36b
imul dword [str._r_____r____]
add edx, dword [str._r_____r____]
mov eax, dword [esp + 0x10]
sar edx, 0x1d
add eax, edx
mov ebx, edx
mov edx, ebp
imul edx, edx, 0x7e501e9
shr ebx, 0x1f
add ebx, eax
sub ebx, edx
lea eax, [esp + 0xfe8]
mov dword [0x45ebd8], ebx
sub eax, ecx
lea esp, [esp]
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x4053e0
lea eax, [esp + 0xfe8]
push eax
call fcn.00404f90
imul esi, esi, 0x34652235
imul ebx, ebx, 0x3580338c
mov ecx, dword [0x45ebd4]
mov eax, 0x3dbc891d
imul edi
add ecx, edi
imul ecx, ecx, 0x212c5ae6
sar edx, 0x1b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x4eb7d3f9
imul ebp
sar edx, 0x1c
sub ecx, esi
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov ecx, dword [0x45ebcc]
imul ecx, ecx, 0x7e501e9
add esp, 4
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
sub eax, ecx
add eax, ebx
lea edx, [esp + 0x7f0]
push edx
mov dword [0x45ebe0], eax
mov eax, dword [esp + 0x20]
push 0x44ee89
push eax
push str.GameType1
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 0x405482
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4055d8
mov ecx, dword [0x45ebd8]
mov edx, dword [0x45ebd0]
lea esi, [edx + ecx]
mov edx, dword [0x45ebc8]
imul esi, esi, 0xe74a505
mov eax, ecx
imul eax, eax, 0x2746608a
sub esi, eax
mov eax, 0x1a129787
imul edx
sar edx, 0x1a
add esi, edx
mov edi, edx
mov edx, dword [0x45ebdc]
mov eax, 0x1e3444b9
imul edx
sar edx, 0x1a
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
mov edx, dword [0x45ebd4]
imul edx, edx, 0x7e501e9
shr esi, 0x1f
add esi, edi
sub esi, edx
mov eax, 0x4c8f4365
imul ecx
sar edx, 0x1c
mov eax, edx
lea ecx, [esp + 0x7e8]
shr eax, 0x1f
push ecx
add eax, edx
lea edx, [esp + 0x1c]
sub esi, eax
push 0x1f4
push edx
mov dword [0x45ebe8], esi
call fcn.00410230
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x4055d8
mov ecx, dword [0x45ebcc]
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x1671bc81
imul ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebdc]
imul edx, edx, 0x564c079b
sub ebx, ecx
mov ecx, dword [0x45ebd4]
add ebx, edx
mov eax, 0x1a129787
imul ecx
mov eax, dword [0x45ebe0]
imul eax, eax, 0xe74a505
sar edx, 0x1a
mov ebp, edx
add ebx, edx
shr ebp, 0x1f
add ebp, ebx
add ebp, eax
mov eax, 0x4eb7d3f9
imul ecx
sar edx, 0x1c
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + esi*4 + 0x18]
push edx
lea eax, [esp + 0xfec]
sub ebp, ecx
push eax
mov dword [str._r_____r____], ebp
call fcn.00431fc0
add esp, 8
test eax, eax
jne 0x405657
inc esi
cmp esi, edi
jl 0x405533
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebe8]
mov eax, 0x1a129787
imul esi, esi, 0x2746608a
imul ecx
sar edx, 0x1a
add esi, edx
mov edi, edx
mov eax, 0x1e3444b9
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x1a
imul ecx, ecx, 0xe74a505
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, dword [0x45ebe4]
mov edx, dword [str._r_____r____]
imul edx, edx, 0x43cdcacc
shr edi, 0x1f
add edi, esi
sub edi, eax
add ecx, edi
lea eax, [edx + ecx - 0x7e501e9]
mov dword [0x45ebd4], eax
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043136d
add esp, 0x17dc
ret
mov ecx, dword [0x45ebdc]
mov eax, 0x3dbc891d
imul ecx
sar edx, 0x1b
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
mov ecx, dword [0x45ebd8]
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebd0]
sar edx, 0x1a
add esi, edx
mov edi, edx
mov eax, 0x78d1ad69
imul ecx
mov ecx, dword [str._r_____r____]
imul ecx, ecx, 0x34652235
sar edx, 0x1c
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
add esi, ecx
mov ecx, dword [0x45ebe0]
mov eax, 0x4eb7d3f9
imul ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x81b5a619
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
mov dword [0x45ebcc], ecx
mov eax, 1
jmp 0x40563e