Function at 0x405090
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17d8
call fcn.00430340
mov eax, dword [0x45e640]
mov dword [esp + 0x17d4], eax
mov eax, 0x71625345
imul dword [0x45cce4]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
push ebx
push ebp
push esi
mov esi, dword [0x45ccd0]
mov eax, 0xd8a5df
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push edi
mov edi, eax
mov eax, 0x7f411e53
imul esi
sar edx, 8
mov ebx, edx
sub edi, ecx
add edi, edx
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0xe1
shr ecx, 0x1f
add ecx, ebx
mov ebx, dword [0x45cce0]
add ecx, edx
mov edx, dword [0x45ccdc]
mov edi, dword [0x45ccd8]
mov eax, ebx
imul eax, eax, 0x61
add ecx, eax
mov eax, 0x4f576647
imul edx
sar edx, 8
mov ebp, dword [0x45cce8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x33a
sub edx, eax
mov eax, ebp
imul eax, eax, 0x21e
add edx, eax
mov eax, ecx
imul eax, eax, 0x242
add edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x59493e15
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x91a2b3c5
imul edi
add edx, edi
sar edx, 7
mov esi, edx
mov dword [0x45ccc8], ecx
shr esi, 0x1f
mov eax, dword [esp + 0x10]
mov edi, dword [0x45cce4]
add eax, edx
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x17ec]
sub esi, 0xe1
test edi, edi
mov dword [0x45ccd0], esi
je 0x405500
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4051c3
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405500
mov edi, dword [esp + 0x17f0]
test edi, edi
je 0x405500
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4051e8
sub edi, edx
mov dword [esp + 0x10], edi
je 0x405500
mov edx, dword [0x45ccd4]
mov eax, 0x38e38e39
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xf1d48bd
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, 0x7f411e53
imul ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, ebp
imul eax, eax, 0xe1
lea ecx, [ecx + ecx*8]
shl ecx, 6
add edx, ecx
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0xd20d20d3
imul ebx
mov eax, dword [esp + 0x10]
add edx, ebx
imul ebx, ebx, 0x9c
sar edx, 7
mov edi, edx
shr edi, 0x1f
add eax, edx
add edi, eax
mov eax, dword [esp + 0x17ec]
add edi, ebx
lea ecx, [esp + 0xfe4]
mov dword [0x45ccd8], edi
sub ecx, eax
nop
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x405290
lea ecx, [esp + 0xfe4]
push ecx
call fcn.00404e50
imul edi, edi, 0x25d
mov edx, dword [0x45ccd4]
lea ecx, [esi + ebp]
imul edx, edx, 0x21e
imul ecx, ecx, 0x16f
add ecx, edi
sub ecx, edx
mov eax, 0x93459be7
imul ebp
add edx, ebp
sar edx, 8
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45cccc]
mov eax, 0x59493e15
imul ecx
mov ecx, dword [0x45ccdc]
add esp, 4
imul ecx, ecx, 0xe1
sar edx, 7
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
add eax, edx
push 0x800
lea edx, [esp + 0x7ec]
push edx
sub esi, eax
mov eax, dword [esp + 0x17fc]
push 0x44ce59
push eax
sub esi, ecx
push str.GameType1
mov dword [0x45cce0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e4]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405340
sub eax, edx
mov dword [esp + 0x10], eax
je 0x40549c
mov ecx, dword [0x45ccd0]
mov edx, dword [0x45ccd8]
lea esi, [edx + ecx]
mov edx, dword [str._r_____r____]
imul esi, esi, 0x203
mov eax, 0xd8a5df
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
lea ecx, [ecx + ecx*8]
shl ecx, 6
sub esi, ecx
mov ecx, dword [0x45ccc8]
mov eax, 0x38e38e39
imul ecx
sar edx, 7
mov edi, edx
add esi, edx
mov edx, dword [0x45cce4]
imul edx, edx, 0xe1
shr edi, 0x1f
add edi, esi
sub edi, edx
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
lea ecx, [esp + 0x7e4]
push ecx
add edi, edx
shr eax, 0x1f
lea edx, [esp + 0x18]
add eax, edi
push 0x1f4
push edx
mov dword [0x45cce8], eax
call fcn.0040fc90
mov ebx, eax
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x40549c
nop
mov ecx, dword [0x45cccc]
mov edi, dword [0x45ccd4]
mov eax, 0x4f576647
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x4f576647
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x38e38e39
imul edi
sar edx, 7
mov edi, edx
add ebp, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x242
shr edi, 0x1f
add edi, ebp
add edi, edx
mov edx, dword [0x45cce8]
mov eax, ecx
imul edx, edx, 0x21e
imul eax, eax, 0x203
add edi, eax
add edi, edx
mov eax, 0x93459be7
imul ecx
add edx, ecx
mov ecx, dword [esp + esi*4 + 0x14]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
lea edx, [esp + 0xfe8]
sub edi, eax
push edx
mov dword [str._r_____r____], edi
call fcn.00430750
add esp, 8
test eax, eax
jne 0x405519
inc esi
cmp esi, ebx
jl 0x4053f0
mov ecx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov eax, 0x38e38e39
imul esi, esi, 0x482
imul ecx
sar edx, 7
add esi, edx
mov edi, edx
mov edx, dword [0x45ccd8]
imul edx, edx, 0x242
mov eax, ecx
imul eax, eax, 0x203
shr edi, 0x1f
add edi, esi
add edi, edx
add edi, eax
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cce0]
sub edi, ecx
lea eax, [edi + edx - 0xe1]
mov dword [0x45ccd4], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x17d4]
call fcn.0042fb01
add esp, 0x17d8
ret
mov ecx, dword [0x45ccd4]
mov eax, 0x71625345
imul ecx
sar edx, 8
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x38e38e39
imul ecx
mov eax, dword [0x45cce8]
mov ecx, dword [0x45cce0]
imul eax, eax, 0x21e
sar edx, 7
imul ecx, ecx, 0x203
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
sub edi, eax
add edi, ecx
mov ecx, dword [0x45cccc]
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
mov ecx, dword [0x45cce4]
imul ecx, ecx, 0xe1
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [str._r_____r____]
add eax, edi
add eax, ecx
mov ecx, dword [esp + 0x17e4]
pop edi
sub eax, edx
add eax, 0x16f
pop esi
pop ebp
mov dword [0x45cccc], eax
mov eax, 1
pop ebx
call fcn.0042fb01
add esp, 0x17d8
ret