Function at 0x4d3fa0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x563654
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x918
mov eax, dword [0x5ca1c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x8e6], cl
xor eax, eax
lea ecx, [ebp - 0x8d0]
push 0xd
push str._applaunch_
mov edx, 0x596fe0
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e4], eax
mov byte [ebp - 0x8e5], al
call fcn.004947f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x910]
push 0x1c
push str.SOFTWAREValveSteamApps
mov edx, 0x596fe0
mov dword [ebp - 0x8d4], 0
mov dword [ebp - 0x820], 0
call fcn.004947f0
add esp, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x4d404f
mov eax, dword [eax]
lea ecx, [ebp - 0x8d4]
push ecx
push 1
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [ebp - 0x8fc]
mov edi, eax
cmp ecx, 0xf
jbe 0x4d40a2
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4098
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57be
push ecx
push edx
call fcn.00524a57
add esp, 8
or esi, 0xffffffff
test edi, edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jne 0x4d488d
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], 4
push eax
lea eax, [ebp - 0x820]
push eax
push 0
push 0
push str.Installed
push dword [ebp - 0x8d4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4d4878
cmp dword [ebp - 0x820], 1
jne 0x4d4878
mov dword [ebp - 0x8d8], eax
lea eax, [ebp - 0x8d8]
push eax
push 1
push 0
push str.SOFTWAREValveSteam
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4d4878
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], 0x8000
push eax
push 0x8d53b8
push 0
push 0
push str.SteamExe
push dword [ebp - 0x8d8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4d4870
mov ecx, 0x8d53b8
mov dword [ebp - 0x858], eax
xorps xmm0, xmm0
mov dword [ebp - 0x854], eax
movups xmmword [ebp - 0x868], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d4170
sub ecx, edx
push ecx
push 0x8d53b8
lea ecx, [ebp - 0x868]
call fcn.0040f680
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 1
call fcn.004d1ff0
cmp dword [ebp - 0x854], 0xf
lea eax, [ebp - 0x868]
mov byte [ebp - 0x8f0], 0
cmova eax, dword [ebp - 0x868]
push dword [ebp - 0x8f0]
mov dword [ebp - 0x8e4], eax
lea eax, [ebp - 0x8e4]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 4
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 1
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d4832
push 0x2d
xorps xmm0, xmm0
mov dword [ebp - 0x900], 0
push str._steamappscommonCall_of_Duty_2CoD2MP_s.exe
lea ecx, [ebp - 0x910]
mov dword [ebp - 0x8fc], 0
movups xmmword [ebp - 0x910], xmm0
call fcn.0040f680
mov byte [ebp - 4], 5
lea edx, [ebp - 0x868]
cmp dword [ebp - 0x854], 0xf
mov edi, dword [ebp - 0x858]
cmova edx, dword [ebp - 0x868]
test edi, edi
je 0x4d429e
lea eax, [edi - 1]
mov ecx, esi
cmp eax, 0xffffffff
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x4d429a
nop dword [eax]
cmp ecx, edx
je 0x4d429e
dec ecx
cmp byte [ecx], 0x5c
jne 0x4d4290
sub ecx, edx
jmp 0x4d42a1
or ecx, 0xffffffff
cmp edi, ecx
mov dword [ebp - 0x918], 0
lea eax, [ebp - 0x868]
mov dword [ebp - 0x914], 0
cmovb ecx, edi
xorps xmm0, xmm0
cmp dword [ebp - 0x854], 0xf
push ecx
cmova eax, dword [ebp - 0x868]
lea ecx, [ebp - 0x928]
push eax
movups xmmword [ebp - 0x928], xmm0
call fcn.0040f680
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x928]
push eax
push dword [ebp - 0x8e4]
lea ecx, [ebp - 0x850]
call fcn.0041aac0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x914]
cmp ecx, 0xf
jbe 0x4d4346
mov edx, dword [ebp - 0x928]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d433c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d4384
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d437a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
push 0x30
xorps xmm0, xmm0
mov dword [ebp - 0x918], 0
push str._steamappscommonCall_of_Duty_R__2CoD2MP_s.exe
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x914], 0
movups xmmword [ebp - 0x928], xmm0
call fcn.0040f680
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x868]
cmp dword [ebp - 0x854], 0xf
mov edi, dword [ebp - 0x858]
cmova edx, dword [ebp - 0x868]
test edi, edi
je 0x4d43f6
lea eax, [edi - 1]
mov ecx, esi
cmp eax, 0xffffffff
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x4d43f2
cmp ecx, edx
je 0x4d43f6
dec ecx
cmp byte [ecx], 0x5c
jne 0x4d43e8
sub ecx, edx
jmp 0x4d43f9
or ecx, 0xffffffff
cmp edi, ecx
mov dword [ebp - 0x900], 0
lea eax, [ebp - 0x868]
mov dword [ebp - 0x8fc], 0
cmovb ecx, edi
xorps xmm0, xmm0
cmp dword [ebp - 0x854], 0xf
push ecx
cmova eax, dword [ebp - 0x868]
lea ecx, [ebp - 0x910]
push eax
movups xmmword [ebp - 0x910], xmm0
call fcn.0040f680
lea eax, [ebp - 0x928]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x910]
push eax
push dword [ebp - 0x8e4]
lea ecx, [ebp - 0x838]
call fcn.0041aac0
mov dword [ebp - 0x8ec], 0x30f00
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d44a8
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d449e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x914]
cmp ecx, 0xf
jbe 0x4d44e6
mov edx, dword [ebp - 0x928]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d44dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x850]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x11
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0xe
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
jne 0x4d4604
cmp dword [ebp - 0x824], 0xf
lea eax, [ebp - 0x838]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x838]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x14
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0xe
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d4795
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x850]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x17
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0xe
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
jne 0x4d471e
cmp dword [ebp - 0x824], 0xf
lea eax, [ebp - 0x838]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x838]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x1a
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0xe
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d474a
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
cmova eax, dword [ebp - 0x850]
push eax
push 0x5a9ffc
push 0x8000
push 0x8f5bb8
call fcn.0040aa20
add esp, 0x10
push 0x8f5bb8
push str.2Successfully_built_your_3Call_of_Duty_2__4Steam3__2games_launch_command:_n_5_s_n
lea eax, [ebp - 0x418]
mov byte [ebp - 0x8e5], 1
push 0x400
push eax
call fcn.0040aa20
add esp, 0x10
lea edx, [ebp - 0x418]
push 1
push ecx
push 1
push 1
push ecx
mov ecx, dword [0x5de260]
call fcn.004dbe00
add esp, 0x14
mov dword [str.SOFTWAREActivisionCall_of_Duty_2], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x824]
cmp ecx, 0xf
jbe 0x4d47d3
mov edx, dword [ebp - 0x838]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d47c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0xf
mov byte [ebp - 0x838], 0
cmp ecx, 0xf
jbe 0x4d482c
mov edx, dword [ebp - 0x850]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4822
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c3
push ecx
push edx
call fcn.00524a57
add esp, 8
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x854]
cmp ecx, 0xf
jbe 0x4d4870
mov edx, dword [ebp - 0x868]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4866
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57c8
push ecx
push edx
call fcn.00524a57
add esp, 8
push dword [ebp - 0x8d8]
call edi
push dword [ebp - 0x8d4]
call edi
cmp byte [ebp - 0x8e5], 0
jne 0x4d53f7
push 0x1c
push str.SOFTWAREValveSteamApps
mov edx, 0x596fe0
mov dword [ebp - 0x8d4], 0
lea ecx, [ebp - 0x910]
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 4
call fcn.004947f0
add esp, 8
cmp dword [eax + 0x14], 0xf
jbe 0x4d48cd
mov eax, dword [eax]
lea ecx, [ebp - 0x8d4]
push ecx
push 1
push 0
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [ebp - 0x8fc]
mov edi, eax
cmp ecx, 0xf
jbe 0x4d4920
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4916
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57cd
push ecx
push edx
call fcn.00524a57
add esp, 8
test edi, edi
jne 0x4d5129
lea eax, [ebp - 0x81c]
push eax
lea eax, [ebp - 0x820]
push eax
push edi
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push str.Installed
push dword [ebp - 0x8d4]
call edi
test eax, eax
jne 0x4d510e
cmp dword [ebp - 0x820], 1
jne 0x4d510e
mov dword [ebp - 0x8d8], eax
lea eax, [ebp - 0x8d8]
push eax
push 1
push 0
push str.SOFTWAREValveSteam
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4d510e
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], 0x8000
push eax
push 0x8d53b8
push 0
push 0
push str.SteamExe
push dword [ebp - 0x8d8]
call edi
test eax, eax
jne 0x4d50fe
mov ecx, 0x8d53b8
mov dword [ebp - 0x870], eax
xorps xmm0, xmm0
mov dword [ebp - 0x86c], eax
movups xmmword [ebp - 0x880], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d49d6
sub ecx, edx
push ecx
push 0x8d53b8
lea ecx, [ebp - 0x880]
call fcn.0040f680
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 0x1b
call fcn.004d1ff0
cmp dword [ebp - 0x86c], 0xf
lea eax, [ebp - 0x880]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x880]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x1e
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0x1b
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d50c0
push 0x2d
xorps xmm0, xmm0
mov dword [ebp - 0x918], 0
push str._steamappscommonCall_of_Duty_2CoD2MP_s.exe
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x914], 0
movups xmmword [ebp - 0x928], xmm0
call fcn.0040f680
or dword [ebp - 0x8ec], 0x100000
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x880]
cmp dword [ebp - 0x86c], 0xf
mov edi, dword [ebp - 0x870]
cmova edx, dword [ebp - 0x880]
test edi, edi
je 0x4d4b0e
lea eax, [edi - 1]
mov ecx, esi
cmp eax, 0xffffffff
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x4d4b0a
nop dword [eax]
cmp ecx, edx
je 0x4d4b0e
dec ecx
cmp byte [ecx], 0x5c
jne 0x4d4b00
sub ecx, edx
jmp 0x4d4b11
or ecx, 0xffffffff
cmp edi, ecx
mov dword [ebp - 0x900], 0
lea eax, [ebp - 0x880]
mov dword [ebp - 0x8fc], 0
cmovb ecx, edi
xorps xmm0, xmm0
cmp dword [ebp - 0x86c], 0xf
push ecx
cmova eax, dword [ebp - 0x880]
lea ecx, [ebp - 0x910]
push eax
movups xmmword [ebp - 0x910], xmm0
call fcn.0040f680
or dword [ebp - 0x8ec], 0x10000000
lea eax, [ebp - 0x928]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x910]
push eax
push dword [ebp - 0x8e4]
lea ecx, [ebp - 0x850]
call fcn.0041aac0
or dword [ebp - 0x8ec], 0x8000000
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d4bca
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4bc0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x914]
cmp ecx, 0xf
jbe 0x4d4c08
mov edx, dword [ebp - 0x928]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4bfe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
push 0x30
xorps xmm0, xmm0
mov dword [ebp - 0x918], 0
push str._steamappscommonCall_of_Duty_R__2CoD2MP_s.exe
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x914], 0
movups xmmword [ebp - 0x928], xmm0
call fcn.0040f680
or dword [ebp - 0x8ec], 0x400000
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x880]
mov edi, dword [ebp - 0x86c]
cmp edi, 0xf
mov edx, dword [ebp - 0x870]
cmova ecx, dword [ebp - 0x880]
test edx, edx
je 0x4d4c84
lea eax, [edx - 1]
cmp eax, 0xffffffff
cmovb esi, eax
add esi, ecx
cmp byte [esi], 0x5c
je 0x4d4c80
cmp esi, ecx
je 0x4d4c84
dec esi
cmp byte [esi], 0x5c
jne 0x4d4c76
sub esi, ecx
jmp 0x4d4c87
or esi, 0xffffffff
cmp edx, esi
mov dword [ebp - 0x900], 0
lea eax, [ebp - 0x880]
mov dword [ebp - 0x8fc], 0
cmovb esi, edx
lea ecx, [ebp - 0x910]
cmp edi, 0xf
xorps xmm0, xmm0
push esi
cmova eax, dword [ebp - 0x880]
push eax
movups xmmword [ebp - 0x910], xmm0
call fcn.0040f680
or dword [ebp - 0x8ec], 0x20000000
lea eax, [ebp - 0x928]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x910]
push eax
push dword [ebp - 0x8e4]
lea ecx, [ebp - 0x838]
call fcn.0041aac0
or dword [ebp - 0x8ec], 0x200000
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d4d3c
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4d32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x914]
cmp ecx, 0xf
jbe 0x4d4d7a
mov edx, dword [ebp - 0x928]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4d70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x850]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x2b
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0x28
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
jne 0x4d4e98
cmp dword [ebp - 0x824], 0xf
lea eax, [ebp - 0x838]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x838]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x2e
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0x28
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d5029
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x850]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x31
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0x28
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
jne 0x4d4fb2
cmp dword [ebp - 0x824], 0xf
lea eax, [ebp - 0x838]
mov byte [ebp - 0x8e4], 0
cmova eax, dword [ebp - 0x838]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8f0]
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x34
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8dd], al
mov byte [ebp - 4], 0x28
call fcn.00417590
cmp byte [ebp - 0x8dd], 0
je 0x4d4fde
cmp dword [ebp - 0x83c], 0xf
lea eax, [ebp - 0x850]
cmova eax, dword [ebp - 0x850]
push eax
push 0x5a9ffc
push 0x8000
push 0x8f5bb8
call fcn.0040aa20
add esp, 0x10
push 0x8f5bb8
push str.2Successfully_built_your_3Call_of_Duty_2__4Steam3__2games_launch_command:_n_5_s_n
lea eax, [ebp - 0x418]
mov byte [ebp - 0x8e5], 1
push 0x400
push eax
call fcn.0040aa20
add esp, 0x10
lea edx, [ebp - 0x418]
push 1
push ecx
push 1
push 1
push ecx
mov ecx, dword [0x5de260]
call fcn.004dbe00
add esp, 0x14
mov dword [str.SOFTWAREActivisionCall_of_Duty_2], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x824]
cmp ecx, 0xf
jbe 0x4d5067
mov edx, dword [ebp - 0x838]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d505d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0xf
mov byte [ebp - 0x838], 0
cmp ecx, 0xf
jbe 0x4d50c0
mov edx, dword [ebp - 0x850]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d50b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d2
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x86c]
cmp ecx, 0xf
jbe 0x4d50fe
mov edx, dword [ebp - 0x880]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d50f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57d7
push ecx
push edx
call fcn.00524a57
add esp, 8
push dword [ebp - 0x8d8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
jmp 0x4d5114
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x8d4]
call esi
cmp byte [ebp - 0x8e5], 0
jne 0x4d53f7
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, 0x5ce394
mov eax, dword [esi]
test eax, eax
je 0x4d5277
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 0x8d4], 0
push ecx
push 1
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x81c], 0x8000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4d522a
lea eax, [ebp - 0x81c]
push eax
push 0x8d53b8
push 0
push 0
push str.InstallPath
push dword [ebp - 0x8d4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4d521e
push 0x140
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00532960
xor eax, eax
add esp, 0xc
cmp byte [0x8d53b8], al
je 0x4d51ef
nop dword [eax]
inc eax
cmp byte [eax + 0x8d53b8], 0
jne 0x4d51c0
test eax, eax
je 0x4d51ef
add eax, 0xffffffff
je 0x4d51ef
mov cl, byte [eax + 0x8d53b8]
cmp cl, 0x5c
je 0x4d51e3
cmp cl, 0x2f
jne 0x4d51ef
mov byte [eax + 0x8d53b8], 0
sub eax, 1
jne 0x4d51d3
push 0x8d53b8
push str._sCoD2MP_s.exe
push 0x8000
push 0x8f5bb8
call fcn.0040aa20
add esp, 0x10
lea eax, [ebp - 0x158]
push eax
push 0x8f5bb8
call edi
cmp eax, 0xffffffff
jne 0x4d5232
push dword [ebp - 0x8d4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 4
jmp 0x4d5134
push 0x8f5bb8
push str.2Successfully_built_your_3Call_of_Duty_2_2games_launch_command:_5_s_n
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0040aa20
add esp, 0x10
lea edx, [ebp - 0x818]
push 1
push ecx
push 1
push 1
push ecx
mov ecx, dword [0x5de260]
call fcn.004dbe00
add esp, 0x14
mov dword [esi], 0
jmp 0x4d53f7
mov esi, 0x5ce394
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x4d5383
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 0x8d4], 0
push ecx
push 1
push 0
push eax
push closesocket
mov dword [ebp - 0x81c], 0x8000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4d537b
lea eax, [ebp - 0x81c]
push eax
push 0x8d53b8
push 0
push 0
push str.InstallPath
push dword [ebp - 0x8d4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4d536f
push 0x140
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00532960
xor eax, eax
add esp, 0xc
cmp byte [0x8d53b8], al
je 0x4d533c
inc eax
cmp byte [eax + 0x8d53b8], 0
jne 0x4d5305
test eax, eax
je 0x4d533c
add eax, 0xffffffff
je 0x4d533c
nop dword [eax + eax]
mov cl, byte [eax + 0x8d53b8]
cmp cl, 0x5c
je 0x4d5330
cmp cl, 0x2f
jne 0x4d533c
mov byte [eax + 0x8d53b8], 0
sub eax, 1
jne 0x4d5320
push 0x8d53b8
push str._sCoD2MP_s.exe
push 0x8000
push 0x8f5bb8
call fcn.0040aa20
add esp, 0x10
lea eax, [ebp - 0x158]
push eax
push 0x8f5bb8
call edi
cmp eax, 0xffffffff
jne 0x4d5232
push dword [ebp - 0x8d4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 4
jmp 0x4d5280
cmp byte [ebp - 0x8e6], 0
je 0x4d53f7
sub esp, 8
mov ecx, 0x8d53b8
call fcn.004972b0
push str.Please__select_your_Call_of_Duty_2_game_installation_folder_and_click_OK.
push 0x400
push 0x933470
call fcn.0040aa20
add esp, 0x14
mov edx, 0x933470
mov ecx, 0x8d53b8
call fcn.004d22f0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
mov esi, eax
push 0x593042
push esi
call edi
test eax, eax
je 0x4d53f7
push 0x59fd88
push esi
call edi
test eax, eax
je 0x4d53f7
push esi
push str._sCoD2MP_s.exe
push 0x8000
push 0x8f5bb8
call fcn.0040aa20
add esp, 0x10
push 1
mov byte [ebp - 4], 0x35
call fcn.00522199
add esp, 4
mov dword [ebp - 0x8f0], eax
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x8d0]
cmp dword [ebp - 0x8bc], 0xf
lea edx, [ebp - 0x8e4]
mov ecx, 0x8f5bb8
cmova eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x8e4], eax
lea eax, [ebp - 0x8f4]
push eax
sub esp, 8
call fcn.00505370
mov byte [ebp - 4], 0
add esp, 0xc
mov ecx, dword [ebp - 0x8f0]
mov byte [ebp - 0x8e6], al
test ecx, ecx
je 0x4d546f
mov edx, dword [ecx]
mov edx, dword [edx + 8]
call edx
test eax, eax
je 0x4d546f
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
cmp byte [ebp - 0x8e6], 0
jne 0x4d5539
mov ecx, 0x8f5bb8
mov dword [ebp - 0x828], 0
xorps xmm0, xmm0
mov dword [ebp - 0x824], 0
movups xmmword [ebp - 0x838], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d54a2
sub ecx, edx
push ecx
push 0x8f5bb8
lea ecx, [ebp - 0x838]
call fcn.0040f680
lea ecx, [ebp - 0x838]
mov byte [ebp - 4], 0x37
call fcn.004d1ff0
cmp dword [ebp - 0x824], 0xf
lea eax, [ebp - 0x838]
lea edx, [ebp - 0x8e4]
mov ecx, 0x8f5bb8
cmova eax, dword [ebp - 0x838]
sub esp, 8
mov dword [ebp - 0x8e4], eax
call fcn.00505720
mov byte [ebp - 4], 0
add esp, 8
mov ecx, dword [ebp - 0x824]
cmp ecx, 0xf
jbe 0x4d5539
mov edx, dword [ebp - 0x838]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d552f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57dc
push ecx
push edx
call fcn.00524a57
add esp, 8
mov byte [ebp - 0x8e4], 0
lea eax, [ebp - 0x8f0]
push dword [ebp - 0x8e4]
mov dword [ebp - 0x8f0], 0x8f5bb8
push eax
lea eax, [ebp - 0x910]
push eax
call fcn.0050d1a0
add esp, 0xc
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004a1590
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x3a
call fcn.00417590
lea ecx, [ebp - 0x8b8]
call fcn.004a1660
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x8e6], al
call fcn.00417590
cmp byte [ebp - 0x8e6], 0
jne 0x4d561f
push 1
mov byte [ebp - 4], 0x3b
call fcn.00522199
add esp, 4
mov dword [ebp - 0x8d8], eax
mov byte [ebp - 4], 0x3c
lea edx, [ebp - 0x8f0]
mov eax, dword [ebp - 0x8ec]
mov ecx, 0x8f5bb8
or eax, 1
cmp dword [ebp - 0x8bc], 0xf
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e4], eax
lea eax, [ebp - 0x8d0]
cmova eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x8f0], eax
lea eax, [ebp - 0x8dc]
push eax
sub esp, 8
call fcn.00505370
add esp, 0xc
mov byte [ebp - 0x8e5], 1
test al, al
je 0x4d5626
mov byte [ebp - 0x8e5], 0
mov dword [ebp - 4], 0
test byte [ebp - 0x8ec], 1
je 0x4d5653
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x4d5653
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4d5653
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
cmp byte [ebp - 0x8e5], 0
xorps xmm0, xmm0
mov dword [ebp - 0x900], 0
mov dword [ebp - 0x8fc], 0
movups xmmword [ebp - 0x910], xmm0
je 0x4d56e0
push 0
push 0x593042
lea ecx, [ebp - 0x910]
call fcn.0040f680
lea eax, [ebp - 0x910]
mov ecx, 0x5de560
push eax
call fcn.00416720
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d5765
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d56d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57e1
push ecx
push edx
call fcn.00524a57
add esp, 8
jmp 0x4d5765
mov ecx, 0x8f5bb8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d56e8
sub ecx, edx
push ecx
push 0x8f5bb8
lea ecx, [ebp - 0x910]
call fcn.0040f680
lea eax, [ebp - 0x910]
mov ecx, 0x5de560
push eax
call fcn.00416720
mov ecx, dword [ebp - 0x8fc]
cmp ecx, 0xf
jbe 0x4d574d
mov edx, dword [ebp - 0x910]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d5743
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57e1
push ecx
push edx
call fcn.00524a57
add esp, 8
cmp dword [0x5de64c], 0xf
mov ecx, 0x5de638
cmova ecx, dword [0x5de638]
call fcn.004a7090
mov ecx, dword [ebp - 0x8bc]
cmp ecx, 0xf
jbe 0x4d579b
mov edx, dword [ebp - 0x8d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d5791
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d57e1
push ecx
push edx
call fcn.00524a57
add esp, 8
mov eax, 0x8f5bb8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052450f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
call fcn.0053ce3a
int3