Function at 0x404a90
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17d8
call fcn.004297f0
mov eax, dword [0x457000]
mov dword [esp + 0x17d4], eax
push ebx
push ebp
push esi
push edi
mov ecx, dword [0x4556a4]
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov ebx, dword [0x45569c]
mov eax, 0x151d07eb
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x4556a0]
mov edx, ecx
imul edx, edx, 0x31
sub eax, edx
mov edx, dword [0x455690]
mov ebp, dword [str._r_____r____]
mov esi, edx
imul esi, esi, 0x39
sub eax, esi
mov esi, dword [0x455688]
add eax, ebp
add esi, eax
mov edi, dword [0x4556a8]
lea eax, [edi + edi*2]
shl eax, 4
mov ebp, eax
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x2aaaaaab
imul ebx
mov ebx, dword [esp + 0x17ec]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
lea edx, [esi + esi*8]
lea eax, [ebp + edx*4]
sub eax, ecx
sub eax, 0x39
test ebx, ebx
mov dword [0x455688], esi
mov dword [0x455690], eax
je 0x404dcf
mov esi, ebx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x404b64
sub esi, edx
mov dword [esp + 0x10], esi
je 0x404dcf
mov ebp, dword [esp + 0x17f0]
test ebp, ebp
je 0x404dcf
mov esi, ebp
lea edx, [esi + 1]
jmp 0x404b90
mov al, byte [esi]
inc esi
test al, al
jne 0x404b90
sub esi, edx
mov dword [esp + 0x10], esi
je 0x404dcf
mov eax, 0xb13b13b1
imul ecx, ecx, 0x2a
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
mov esi, edi
mov edi, eax
imul esi, esi, 0x39
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
sub edi, esi
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455698]
sub edi, eax
mov eax, 0x78787879
imul edx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add edi, edx
add esi, edi
add esi, ecx
lea ecx, [esp + 0xfe4]
mov dword [0x455698], esi
mov eax, ebx
sub ecx, ebx
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x404c05
lea ecx, [esp + 0xfe4]
push ecx
call fcn.004048f0
imul esi, esi, 0x17
mov ecx, dword [0x45568c]
mov eax, 0x94f2095
imul ecx
mov ecx, dword [str._r_____r____]
add esp, 4
imul ecx, ecx, 0x37
sar edx, 1
mov eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr eax, 0x1f
push 0x800
add eax, edx
lea edx, [esp + 0x7ec]
push edx
push 0x445e1d
sub esi, eax
push ebp
add esi, ecx
push str.GameType1
mov dword [0x4556a0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404c78
sub eax, edx
mov dword [esp + 0x10], eax
je 0x404d8a
mov ecx, dword [0x455698]
mov eax, 0x30c30c31
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x151d07eb
imul ecx
mov eax, dword [0x455690]
sar edx, 3
imul eax, eax, 0x34
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0x43
sub esi, ecx
lea ecx, [esp + 0x7e4]
push ecx
sub esi, edx
lea edx, [esp + 0x18]
add esi, eax
push 0x1f4
push edx
mov dword [0x4556a8], esi
call fcn.0040c010
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x404d8a
mov edi, edi
mov ecx, dword [0x455694]
mov ebx, dword [0x45568c]
mov eax, 0x66666667
imul ebx, ebx, 0x34
imul ecx
mov eax, dword [0x4556a8]
sar edx, 2
mov ecx, eax
mov ebp, edx
add ebx, edx
shl ecx, 4
add ecx, eax
shr ebp, 0x1f
add ebp, ebx
add ebp, ecx
mov ecx, dword [0x455690]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [0x45569c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x5397829d
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + esi*4 + 0x14]
push edx
lea eax, [esp + 0xfe8]
sub ebp, ecx
push eax
mov dword [str._r_____r____], ebp
call fcn.00429320
add esp, 8
test eax, eax
jne 0x404de8
inc esi
cmp esi, edi
jl 0x404d00
mov ecx, dword [0x45568c]
mov eax, dword [0x455698]
imul ecx, ecx, 0x34
lea edx, [eax + eax*8]
lea esi, [ecx + edx*4]
mov ecx, dword [0x45569c]
mov eax, 0x30c30c31
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [str._r_____r____]
lea ecx, [eax + eax*4]
add esi, dword [0x4556a4]
lea edx, [esi + ecx*2 - 0x39]
mov dword [0x455694], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x17d4]
call fcn.00428ee1
add esp, 0x17d8
ret
mov ecx, dword [0x45568c]
mov eax, 0x30c30c31
imul ecx
mov ecx, dword [0x4556a0]
mov eax, dword [0x4556a8]
imul ecx, ecx, 0x34
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, eax
shl edx, 4
add edx, eax
add esi, ecx
mov ecx, dword [0x455690]
sub esi, edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x17e4]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [0x455694]
add eax, esi
pop edi
sub eax, edx
add eax, 0x37
pop esi
pop ebp
mov dword [0x45568c], eax
mov eax, 1
pop ebx
call fcn.00428ee1
add esp, 0x17d8
ret