Function at 0x406fc0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449a60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfdc
mov eax, dword [0x45d320]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov ecx, dword [0x45b9b4]
mov edi, dword [0x45b9ac]
mov eax, 0x7e3fea57
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x8a6a1641
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov ebx, eax
mov eax, 0x9eea7d1d
imul edi
add edx, edi
sar edx, 0x16
add ebx, edx
mov esi, dword [0x45b9c0]
mov eax, edx
imul esi, esi, 0x427252
shr eax, 0x1f
add eax, ebx
mov ebx, dword [0x45b9c8]
mov dword [ebp - 0x818], eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
mov ecx, ebx
add eax, esi
imul ecx, ecx, 0x8b0f0c
add eax, edx
add ecx, eax
mov eax, 0x76294c27
imul edi
sar edx, 0x15
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x9eea7d1d
imul ebx
add edx, ebx
sar edx, 0x16
add edi, edx
mov ebx, edx
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
shr ebx, 0x1f
sar edx, 0x16
add ebx, edi
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ecx
mov dword [str._r_____r____], ecx
lea ecx, [eax + esi + 0x26e3e3]
mov eax, dword [ebp + 8]
test eax, eax
mov dword [0x45b9ac], ecx
je 0x407605
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4070d2
sub eax, edx
mov dword [ebp - 0x818], eax
je 0x407605
mov eax, dword [ebp + 0xc]
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44bdb5
push eax
push str.GameType1
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov esi, dword [0x45b9b8]
mov ebx, dword [0x45b9a8]
imul ebx, ebx, 0x427252
mov ecx, esi
imul ecx, ecx, 0x78665a
add ebx, ecx
mov ecx, dword [0x45b9bc]
mov eax, 0x76294c27
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c4]
mov edi, dword [0x45b9c8]
sub ebx, eax
imul edi, edi, 0x458786
mov eax, 0x9eea7d1d
imul edx
add edx, dword [0x45b9c4]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x671938
add eax, edi
add eax, ebx
mov ebx, dword [0x45b9c0]
add edx, eax
lea eax, [edx + ebx - 0x346bb5]
mov dword [0x45b9b4], eax
lea eax, [ebp - 0x814]
lea edx, [eax + 1]
mov dword [ebp - 0x818], edx
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4071a0
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x818], eax
je 0x4075a4
mov edx, dword [0x45b9ac]
imul ecx, ecx, 0x346bb5
imul ebx, ebx, 0x533b61
mov eax, 0x8814777b
imul edx
add edx, dword [0x45b9ac]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9b0]
sub ecx, eax
mov eax, edx
imul eax, eax, 0x40e326
add ecx, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
add ecx, ebx
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
add ebx, edi
mov eax, edx
add ebx, ecx
shr eax, 0x1f
lea ecx, [ebp - 0x814]
push ecx
add eax, edx
lea edx, [ebp - 0xfe8]
add eax, ebx
push 0x1f4
push edx
mov dword [0x45b9bc], eax
call fcn.0040f170
mov edi, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 0x818], eax
xor esi, esi
jmp 0x407250
cmp esi, dword [ebp - 0x818]
jge 0x407598
mov ecx, dword [0x45b9b8]
mov ebx, dword [0x45b9a8]
mov eax, 0x7e3fea57
imul ebx, ebx, str.LresultFromObject
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c4]
sub ebx, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x671938
sub ebx, eax
add ebx, edx
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
mov ecx, dword [0x45b9b4]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x9eea7d1d
imul ecx
mov eax, dword [ebp + esi*4 - 0xfe8]
add edx, ecx
sar edx, 0x16
mov ecx, edx
add ebx, edx
mov edx, dword [0x45b9c8]
imul edx, edx, 0x458786
shr ecx, 0x1f
add ecx, ebx
push eax
add ecx, edx
push edi
mov dword [0x45b9c4], ecx
call fcn.0042fea0
add esp, 8
test eax, eax
je 0x407592
mov edi, dword [0x45b9c4]
mov eax, 0x9c46284d
imul edi
add edx, edi
sar edx, 0x15
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45b9a8]
imul edx, edx, 0x346bb5
add ebx, edx
mov eax, 0x8814777b
imul edi
add edx, edi
mov edi, dword [0x45b9c0]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov esi, dword [0x45b9c8]
mov edx, edi
imul edx, edx, 0x40e326
sub ebx, edx
mov eax, 0xc4d8f4f
imul dword [0x45b9b0]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
imul ecx, ecx, 0x458786
add eax, ecx
mov dword [ebp + 8], eax
mov eax, 0x9eea7d1d
imul dword [0x45b9a8]
add edx, dword [0x45b9a8]
mov eax, dword [ebp + 8]
sar edx, 0x16
add eax, ebx
mov dword [ebp - 0x818], ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
mov eax, edi
imul eax, eax, 0x427252
mov dword [ebp + 8], eax
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45b9ac]
mov eax, 0x76294c27
imul edx
sar edx, 0x15
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x9eea7d1d
imul dword [str._r_____r____]
add edx, dword [str._r_____r____]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [str._r_____r____]
add eax, edi
sub eax, edx
mov edx, dword [ebp + 8]
add eax, ebx
lea edi, [eax + edx + 0x26e3e3]
mov eax, dword [0x55f3cc]
mov dword [0x45b9a8], ecx
mov dword [0x45b9ac], edi
inc eax
cmp eax, 5
mov dword [0x55f3cc], eax
jg 0x407514
cmp dword [ebp + 0x10], 1
jne 0x407514
imul ecx, ecx, 0x78665a
imul esi, esi, 0x8b0f0c
mov eax, 0x69527c69
imul dword [0x45b9b0]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, dword [0x45b9bc]
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [str._r_____r____]
mov edx, dword [ebp - 0x818]
imul eax, eax, 0x45ab1c
add ecx, eax
sub ecx, dword [0x45b9c4]
add ecx, edx
mov eax, 0x7e3fea57
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [ecx + ebx - 0x346bb5]
mov ebx, eax
mov dword [0x45b9b0], ecx
mov ecx, dword [0x45b9b4]
mov eax, 0x8a6a1641
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov ebx, eax
mov eax, 0x9eea7d1d
imul edi
add edx, edi
sar edx, 0x16
mov edi, edx
add ebx, edx
mov eax, 0x9eea7d1d
imul ecx
mov eax, dword [ebp + 8]
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shr edi, 0x1f
add ecx, eax
mov eax, dword [0x56f7a8]
add edi, ebx
add ecx, edi
add esi, ecx
mov dword [str._r_____r____], esi
mov edx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [edx + 0x30]
mov edi, dword [0x45b9ac]
mov esi, dword [0x45b9c8]
mov eax, 0x1ed25ed3
imul edi, edi, str.LresultFromObject
imul esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov ecx, esi
imul ecx, ecx, 0x111bd1
add edi, ecx
mov ecx, dword [0x45b9b4]
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
mov ecx, dword [0x45b9c0]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
add edi, edx
mov ecx, edx
mov eax, 0x1d74861
imul esi
shr ecx, 0x1f
sar edx, 0xf
add ecx, edi
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov dword [0x45b9b8], eax
mov eax, 1
jmp 0x407607
inc esi
jmp 0x407250
mov ecx, dword [0x45b9bc]
mov esi, dword [0x45b9b8]
mov edx, dword [0x45b9ac]
imul esi, esi, 0x533b61
mov eax, 0x96ad8397
imul edx
mov ebx, ecx
imul ebx, ebx, 0x346bb5
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov edi, dword [0x45b9c8]
add eax, esi
imul edi, edi, 0x458786
mov ebx, eax
mov eax, dword [0x45b9b4]
imul eax, eax, 0x1ea3a3
sub ebx, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
add ecx, edi
mov dword [0x45b9c0], ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042f231
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret