Function at 0x426560
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ec174
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x64c874]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x64c874]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
mov edi, 7
push 0x6190bc
lea esi, [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], bx
call fcn.00402770
mov ecx, esi
push ecx
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x138], ebx
call fcn.0040f240
mov byte [esp + 0x130], 2
cmp dword [esp + 0x6c], 8
jb 0x4265fd
mov eax, dword [esp + 0x58]
push eax
call fcn.0059b877
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], bx
call fcn.005a585b
mov esi, dword [eax + 0xc]
push 0x610350
push 0x99
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
cmp edi, ebx
je 0x427062
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ecx, eax
lea edi, [esp + 0x8c]
call fcn.0040d600
test al, al
je 0x427062
xor edi, edi
mov esi, edi
xor bl, bl
or esi, 0x10
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.Games_For_Windows_Live
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x18]
push edx
push str.XLIVE
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x144], 3
call fcn.0040f7e0
test al, al
je 0x4266fb
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x4266b2
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x10]
push 0x45b260
push ecx
push edi
push esi
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 4
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4266dd
call eax
mov bl, al
jmp 0x4266df
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x4266fb
mov eax, dword [esp + 0x2c]
push eax
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x426712
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0059b877
add esp, 4
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, esi
mov byte [edx + 0x6a0], bl
or edi, 0x20
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], esi
mov word [esp + 0x74], si
push str.Nvidia_PhysX_System
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
push str.PHYSX
lea edx, [esp + 0x9c]
push edx
mov byte [esp + 0x144], 5
call fcn.0040f7e0
test al, al
je 0x4267c2
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426779
lea ebx, [esp + 0x74]
mov eax, dword [esp + 0x10]
push 0x45b2c0
push eax
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
call fcn.0045d930
mov byte [esp + 0x130], 6
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4267a4
call eax
mov bl, al
jmp 0x4267a6
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x4267c2
mov edx, dword [esp + 0x2c]
push edx
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x4267d9
mov eax, dword [esp + 0x74]
push eax
call fcn.0059b877
add esp, 4
mov ecx, dword [esp + 0x14]
xor edi, edi
mov esi, edi
mov byte [ecx + 0x6a1], bl
or esi, 4
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.OpenAL
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x18]
push eax
push str.OPENAL
lea ecx, [esp + 0x9c]
push ecx
mov byte [esp + 0x144], 7
call fcn.0040f7e0
test al, al
je 0x426889
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426840
lea ebx, [esp + 0x74]
mov edx, dword [esp + 0x10]
push 0x45b310
push edx
push edi
push esi
lea eax, [esp + 0x30]
push eax
call fcn.0045d930
mov byte [esp + 0x130], 8
mov eax, dword [eax + 0x28]
test eax, eax
je 0x42686b
call eax
mov bl, al
jmp 0x42686d
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x426889
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x4268a0
mov edx, dword [esp + 0x74]
push edx
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
xor esi, esi
mov edi, esi
mov byte [eax + 0x6a2], bl
or edi, 1
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], esi
mov word [esp + 0x74], si
push str.XNA_Framework_Redist_3.1
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x18]
push edx
push str.XNA_31
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x144], 9
call fcn.0040f7e0
test al, al
je 0x426950
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426907
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x10]
push 0x45b370
push ecx
push esi
push edi
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 0xa
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426932
call eax
mov bl, al
jmp 0x426934
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x426950
mov eax, dword [esp + 0x2c]
push eax
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x426967
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0059b877
add esp, 4
mov edx, dword [esp + 0x14]
xor edi, edi
mov esi, edi
mov byte [edx + 0x6a3], bl
or esi, 2
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.XNA_Framework_Redist_4.0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
push str.XNA_40
lea edx, [esp + 0x9c]
push edx
mov byte [esp + 0x144], 0xb
call fcn.0040f7e0
test al, al
je 0x426a17
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x4269ce
lea ebx, [esp + 0x74]
mov eax, dword [esp + 0x10]
push 0x45b390
push eax
push edi
push esi
lea ecx, [esp + 0x30]
push ecx
call fcn.0045d930
mov byte [esp + 0x130], 0xc
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4269f9
call eax
mov bl, al
jmp 0x4269fb
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x426a17
mov edx, dword [esp + 0x2c]
push edx
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x426a2e
mov eax, dword [esp + 0x74]
push eax
call fcn.0059b877
add esp, 4
mov ecx, dword [esp + 0x14]
xor esi, esi
mov edi, esi
mov byte [ecx + 0x6a4], bl
or edi, 0x400000
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], esi
mov word [esp + 0x74], si
push str..NET_Framework_3.5_SP1
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x18]
push eax
push str.DOTNET_35_SP1
lea ecx, [esp + 0x9c]
push ecx
mov byte [esp + 0x144], 0xd
call fcn.0040f7e0
test al, al
je 0x426ae1
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426a98
lea ebx, [esp + 0x74]
mov edx, dword [esp + 0x10]
push 0x45b3b0
push edx
push esi
push edi
lea eax, [esp + 0x30]
push eax
call fcn.0045d930
mov byte [esp + 0x130], 0xe
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426ac3
call eax
mov bl, al
jmp 0x426ac5
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x426ae1
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0059b877
add esp, 4
cmp dword [esp + 0x88], 8
jb 0x426af8
mov edx, dword [esp + 0x74]
push edx
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
xor edi, edi
mov esi, edi
mov byte [eax + 0x6a5], bl
or esi, 0x800000
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str..NET_Framework_4.0
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x18]
push edx
push str.DOTNET_40
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x144], 0xf
call fcn.0040f7e0
test al, al
je 0x426bab
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426b62
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x10]
push 0x45b410
push ecx
push edi
push esi
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 0x10
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426b8d
call eax
mov bl, al
jmp 0x426b8f
xor bl, bl
cmp dword [esp + 0x40], 8
mov dword [esp + 0x20], vtable.GameMgr::GMSoftwareDetect.0
jb 0x426bab
mov eax, dword [esp + 0x2c]
push eax
call fcn.0059b877
add esp, 4
xor edi, edi
mov byte [esp + 0x130], 2
cmp dword [esp + 0x88], 8
jb 0x426bcc
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0059b877
add esp, 4
mov edx, dword [esp + 0x14]
mov byte [edx + 0x6a6], bl
call fcn.0045b210
test al, al
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
mov eax, edi
je 0x426e1b
or eax, 0x100
mov dword [esp + 0x18], eax
push str.Microsoft_Visual_C_2005_Service_Pack_1_Redistributable_Package
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
push str.VC2005_X64
lea edx, [esp + 0x9c]
push edx
mov byte [esp + 0x144], 0x11
call fcn.0040f7e0
test al, al
je 0x426c80
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426c44
lea ebx, [esp + 0x74]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0x45c620
push eax
push edi
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 0x12
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426c73
call eax
mov bl, al
jmp 0x426c75
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
xor edi, edi
cmp dword [esp + 0x88], 8
jb 0x426c97
mov eax, dword [esp + 0x74]
push eax
call fcn.0059b877
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, edi
or eax, 0x800
mov byte [ecx + 0x6a7], bl
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.Microsoft_Visual_C_2008_Service_Pack_1_Redistributable_Package
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x18]
push eax
push str.VC2008_X64
lea ecx, [esp + 0x9c]
push ecx
mov byte [esp + 0x144], 0x13
call fcn.0040f7e0
test al, al
je 0x426d3e
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426d02
lea ebx, [esp + 0x74]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 0x45cd10
push edx
push edi
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.0045d930
mov byte [esp + 0x130], 0x14
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426d31
call eax
mov bl, al
jmp 0x426d33
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
xor edi, edi
cmp dword [esp + 0x88], 8
jb 0x426d55
mov edx, dword [esp + 0x74]
push edx
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, edi
mov byte [eax + 0x6a8], bl
or esi, 0x4000
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.Microsoft_Visual_C_2010_Service_Pack_1_Redistributable_Package
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x18]
push edx
push str.VC2010_X64
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x144], 0x15
call fcn.0040f7e0
test al, al
je 0x426df3
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426dbd
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x10]
push 0x45d400
push ecx
push edi
push esi
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 0x16
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426de8
call eax
mov bl, al
jmp 0x426dea
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
mov byte [esp + 0x130], 2
cmp dword [esp + 0x88], 8
jb 0x427051
mov eax, dword [esp + 0x74]
push eax
call fcn.0059b877
add esp, 4
jmp 0x427051
or eax, 0x80
mov dword [esp + 0x18], eax
push str.Microsoft_Visual_C_2005_Service_Pack_1_Redistributable_Package
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x18]
push eax
push str.VC2005
lea ecx, [esp + 0x9c]
push ecx
mov byte [esp + 0x144], 0x17
call fcn.0040f7e0
test al, al
je 0x426e9f
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426e63
lea ebx, [esp + 0x74]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 0x45b470
push edx
push edi
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.0045d930
mov byte [esp + 0x130], 0x18
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426e92
call eax
mov bl, al
jmp 0x426e94
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
xor edi, edi
cmp dword [esp + 0x88], 8
jb 0x426eb6
mov edx, dword [esp + 0x74]
push edx
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
mov byte [eax + 0x6a7], bl
mov eax, edi
or eax, 0x400
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.Microsoft_Visual_C_2008_Service_Pack_1_Redistributable_Package
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x18]
push edx
push str.VC2008
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x144], 0x19
call fcn.0040f7e0
test al, al
je 0x426f5d
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426f21
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x45bbb0
push ecx
push edi
push edx
lea eax, [esp + 0x30]
push eax
call fcn.0045d930
mov byte [esp + 0x130], 0x1a
mov eax, dword [eax + 0x28]
test eax, eax
je 0x426f50
call eax
mov bl, al
jmp 0x426f52
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
xor edi, edi
cmp dword [esp + 0x88], 8
jb 0x426f74
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0059b877
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, edi
or eax, 0x2000
mov byte [edx + 0x6a8], bl
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
push str.Microsoft_Visual_C_2010_Service_Pack_1_Redistributable_Package
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
push str.VC2010
lea edx, [esp + 0x9c]
push edx
mov byte [esp + 0x144], 0x1b
call fcn.0040f7e0
test al, al
je 0x42701b
cmp dword [esp + 0x88], 8
mov ebx, dword [esp + 0x74]
jae 0x426fdf
lea ebx, [esp + 0x74]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0x45c2f0
push eax
push edi
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.0045d930
mov byte [esp + 0x130], 0x1c
mov eax, dword [eax + 0x28]
test eax, eax
je 0x42700e
call eax
mov bl, al
jmp 0x427010
xor bl, bl
lea ecx, [esp + 0x20]
call fcn.00421800
xor edi, edi
mov byte [esp + 0x130], 2
cmp dword [esp + 0x88], 8
jb 0x42703a
mov eax, dword [esp + 0x74]
push eax
call fcn.0059b877
add esp, 4
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
mov ecx, dword [esp + 0x14]
mov edi, ecx
mov byte [ecx + 0x6a9], bl
call fcn.004270a0
lea esi, [esp + 0x8c]
mov dword [esp + 0x130], 0xffffffff
call fcn.0040f2d0
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret 4