Function at 0x404290
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17d8
call fcn.0042a980
mov eax, dword [0x458190]
mov dword [esp + 0x17d4], eax
mov ecx, dword [0x456830]
push ebx
imul ecx, ecx, 0xdd7b
push esi
mov esi, dword [0x456834]
mov eax, 0x2ff8513b
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, ecx
mov ecx, dword [0x456818]
imul ecx, ecx, 0x1558c
mov eax, 0x47298a5
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, ecx
sub ebx, eax
push edi
mov edi, dword [0x456820]
mov eax, 0x395bd985
imul edi
sar edx, 0xd
add ebx, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, ebx
mov eax, 0x18008403
imul edi
mov dword [0x456818], ecx
imul ecx, ecx, 0x398f
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
mov eax, 0x3e12562b
imul edx
mov edi, dword [esp + 0x17e8]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x107f4
sub ecx, eax
add ecx, edx
sub ecx, esi
sub ecx, 0x1558c
test edi, edi
mov dword [0x456820], ecx
je 0x4046af
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404372
sub eax, edx
mov dword [esp + 0xc], eax
je 0x4046af
mov ebx, dword [esp + 0x17ec]
test ebx, ebx
je 0x4046af
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4043a0
sub eax, edx
mov dword [esp + 0xc], eax
je 0x4046af
mov ecx, dword [0x456838]
mov eax, 0x246e57b5
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, dword [0x45681c]
mov edx, ecx
imul eax, eax, 0xd534
imul edx, edx, 0x1558c
sub esi, edx
mov edx, dword [0x456824]
add esi, eax
mov eax, 0x302debc5
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x61082f49
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
lea ecx, [esp + 0xfe0]
mov dword [0x456828], esi
mov eax, edi
sub ecx, edi
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x404420
lea edx, [esp + 0xfe0]
push edx
call fcn.004040e0
imul esi, esi, 0x8ed2
mov eax, dword [0x45682c]
mov edi, dword [0x456824]
imul eax, eax, 0x1558c
mov ecx, dword [0x45681c]
imul edi, edi, 0xffffc9ca
sub edi, eax
mov eax, 0x18008403
imul ecx
add esp, 4
sar edx, 0xc
mov ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
lea edx, [esp + 0x7e8]
push edx
push 0x446e15
sub edi, ecx
push ebx
add edi, esi
push str.GameType1
mov dword [0x456830], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4044a7
sub eax, edx
push ebp
mov dword [esp + 0x10], eax
je 0x4045c7
mov ecx, dword [0x45682c]
mov esi, dword [0x456834]
mov eax, 0x99b19d5b
imul esi, esi, 0x1558c
imul ecx
add edx, ecx
mov ecx, dword [0x456820]
sar edx, 0xf
imul ecx, ecx, 0xab36
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, esi
sub edi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x395bd985
imul ecx
sar edx, 0xd
mov eax, edx
lea ecx, [esp + 0x7e4]
shr eax, 0x1f
push ecx
add eax, edx
lea edx, [esp + 0x18]
sub edi, eax
push 0x1f4
push edx
mov dword [0x456838], edi
call fcn.0040ca10
mov edi, eax
add esp, 0xc
xor esi, esi
test edi, edi
jle 0x4045c7
jmp 0x404540
mov ecx, dword [0x45681c]
mov ebx, dword [0x456838]
mov eax, 0x49f9945f
imul ebx, ebx, 0xe0dd
imul ecx
mov ecx, dword [0x456824]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x302debc5
imul ecx
sar edx, 0xe
mov ebp, edx
add ebx, edx
mov edx, dword [0x456830]
imul edx, edx, 0xa8da
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov eax, 0x3e12562b
imul ecx
mov ecx, dword [esp + esi*4 + 0x14]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
lea edx, [esp + 0xfe8]
sub ebp, eax
push edx
mov dword [str._r_____r____], ebp
call fcn.0042adb0
add esp, 8
test eax, eax
jne 0x404635
inc esi
cmp esi, edi
jl 0x404540
mov ecx, dword [0x45682c]
mov eax, 0x99b19d5b
imul ecx
mov edi, dword [0x456830]
add edx, ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xf
imul ecx, ecx, 0x15410
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
sub ecx, eax
imul edx, edx, 0x398f
mov eax, dword [0x456818]
imul eax, eax, 0xa8da
add edx, edi
pop ebp
add edx, ecx
pop edi
lea ecx, [eax + edx - 0x1558c]
pop esi
mov dword [0x456824], ecx
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x17d4]
call fcn.0042a141
add esp, 0x17d8
ret
mov ecx, dword [0x45681c]
mov esi, dword [0x456838]
mov eax, 0x99b19d5b
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x302debc5
imul esi
mov edi, esi
imul edi, edi, 0xe0dd
sar edx, 0xe
sub ecx, edi
add ecx, edx
mov eax, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x456830]
imul ecx, ecx, 0xa8da
add eax, ecx
pop ebp
sub eax, edx
pop edi
add eax, 0xaaa7
pop esi
mov dword [0x45681c], eax
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x17d4]
call fcn.0042a141
add esp, 0x17d8
ret
mov ecx, dword [esp + 0x17e0]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.0042a141
add esp, 0x17d8
ret