Function at 0x4719d0
Capabilities:
Get common file path
Get file version info
Get system information on windows
Link many functions at runtime
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1878
call fcn.006f5e10
mov eax, dword [0x8312b0]
xor eax, esp
mov dword [esp + 0x1874], eax
push esi
mov esi, dword [ebp + 8]
xor al, al
mov dword [esp + 0x18], eax
mov ecx, esi
push edi
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
cmp eax, 8
jb 0x471a08
mov ecx, dword [esi]
cmp edi, 7
jne 0x471a3f
push edi
mov edx, 0x7e7aac
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471a3c
call fcn.00473720
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471a48
mov ecx, dword [esi]
cmp edi, 6
jne 0x471a7f
push edi
mov edx, 0x7e7abc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471a7c
call fcn.00473e10
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471a88
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471abf
push edi
mov edx, 0x7e7acc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471abc
call fcn.00474730
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471ac8
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471be1
push edi
mov edx, 0x7e7ae4
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471bde
xor al, al
mov dword [esp + 0x50], 0
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x30]
movaps xmmword [esp + 0x30], xmm0
push eax
movaps xmmword [esp + 0x44], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ax, word [esp + 0x30]
mov ecx, 6
cmp cx, ax
je 0x471ba4
mov ecx, 9
cmp cx, ax
je 0x471b6a
push str.7299052B_02A4_4627_81F2_1818DA5D550D
call fcn.00473c60
test al, al
jne 0x4723d0
push str.837B34E3_7C30_493C_8F6A_2B0F04E2912C
call fcn.00473c60
test al, al
jne 0x4723d0
mov ecx, dword [esp + 0x1c]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.071C9B48_7C32_4621_A0AC_3F809523288F
call fcn.00473c60
test al, al
jne 0x4723d0
push str.6CE5BAE9_D3CA_4B99_891A_1DC6C118A5FC
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.0F8FB34E_675E_42ED_850B_29D98C2ECE08
call fcn.00473c60
test al, al
jne 0x4723d0
push str.85025851_A784_46D8_950D_05CB3CA43A13
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471bea
mov ecx, dword [esi]
cmp edi, 6
jne 0x471c21
push edi
mov edx, 0x7e7afc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471c1e
call fcn.00475050
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471c2a
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471c61
push edi
mov edx, 0x7e7b0c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471c5e
call fcn.00475970
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471c6a
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471de3
push edi
mov edx, 0x7e7b24
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471de0
xor al, al
mov dword [esp + 0x50], 0
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x30]
movaps xmmword [esp + 0x30], xmm0
push eax
movaps xmmword [esp + 0x44], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ax, word [esp + 0x30]
mov ecx, 6
cmp cx, ax
je 0x471d90
mov ecx, 9
cmp cx, ax
je 0x471d40
push str.86CE1746_9EFF_3C9C_8755_81EA8903AC34
call fcn.00473c60
test al, al
jne 0x4723d0
push str.9A25302D_30C0_39D9_BD6F_21E6EC160475
call fcn.00473c60
test al, al
jne 0x4723d0
push str.1F1C2DFC_2D24_3E06_BCB8_725134ADF989
call fcn.00473c60
test al, al
jne 0x4723d0
push str.9BE518E6_ECC6_35A9_88E4_87755C07200F
call fcn.00473c60
test al, al
jne 0x4723d0
push 0x7ea7d0
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.8220EEFE_38CD_377E_8595_13398D740ACE
call fcn.00473c60
test al, al
jne 0x4723d0
push str.4B6C7001_C7D6_3710_913E_5BC23FCE91E6
call fcn.00473c60
test al, al
jne 0x4723d0
push str.5FCE6D76_F5DC_37AB_B2B8_22AB8CEDB1D4
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.5827ECE1_AEB0_328E_B813_6FC68622C1F9
call fcn.00473c60
test al, al
jne 0x4723d0
push str.977AD349_C2A8_39DD_9273_285C08987C7B
call fcn.00473c60
test al, al
jne 0x4723d0
push str.515643D1_4E9E_342F_A75A_D1F16448DC04
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471dec
mov ecx, dword [esi]
cmp edi, 6
jne 0x471e23
push edi
mov edx, 0x7e7b3c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471e20
call fcn.00476290
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471e2c
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471f18
push edi
mov edx, 0x7e7b4c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471f15
xor al, al
mov dword [esp + 0x50], 0
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x30]
movaps xmmword [esp + 0x30], xmm0
push eax
movaps xmmword [esp + 0x44], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ax, word [esp + 0x30]
mov ecx, 6
cmp cx, ax
je 0x471ee2
mov ecx, 9
cmp cx, ax
je 0x471eb6
push str.F0C3E5D1_1ADE_321E_8167_68EF0DE699A5
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.1D8E6291_B0D5_35EC_8441_6616F567A0F7
call fcn.00473c60
test al, al
je 0x471b4e
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
push str.88C73C1C_2DE5_3B01_AFB8_B46EF4AB41CD
call fcn.00473c60
mov ecx, dword [esp + 0x1c]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471f21
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471f58
push edi
mov edx, 0x7e7b64
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471f55
call fcn.004765c0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471f61
mov ecx, dword [esi]
cmp edi, 6
jne 0x471f98
push edi
mov edx, 0x7e7b7c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471f95
call fcn.00476990
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471fa1
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x471fd8
push edi
mov edx, 0x7e7b8c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471fd5
call fcn.00476cd0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x471fe1
mov ecx, dword [esi]
cmp edi, 6
jne 0x472018
push edi
mov edx, 0x7e7ba4
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472015
call fcn.00477060
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472021
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x472058
push edi
mov edx, 0x7e7bb4
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472055
call fcn.004773a0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472061
mov ecx, dword [esi]
cmp edi, 6
jne 0x472098
push edi
mov edx, 0x7e7bcc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472095
call fcn.00477730
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4720a1
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x4720d8
push edi
mov edx, 0x7e7bdc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4720d5
call fcn.00477a20
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4720e1
mov ecx, dword [esi]
cmp edi, 6
jne 0x472118
push edi
mov edx, 0x7e7bf4
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472115
call fcn.00477d60
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472121
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x472158
push edi
mov edx, 0x7e7c04
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472155
call fcn.00478050
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472161
mov ecx, dword [esi]
cmp edi, 6
jne 0x472198
push edi
mov edx, 0x7e7c1c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472195
call fcn.00478390
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4721a1
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x4721d8
push edi
mov edx, 0x7e7c2c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4721d5
call fcn.00478680
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4721e1
mov ecx, dword [esi]
cmp edi, 6
jne 0x472218
push edi
mov edx, 0x7e7c44
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472215
call fcn.004789c0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472221
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x472258
push edi
mov edx, 0x7e7c54
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472255
call fcn.00478d00
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472261
mov ecx, dword [esi]
cmp edi, 6
jne 0x4722f1
push edi
mov edx, 0x7e7c6c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4722ee
xorps xmm0, xmm0
mov byte [esp + 0x13], al
lea edx, [esp + 0x60]
movaps xmmword [esp + 0x60], xmm0
mov ecx, 0x7ebb20
call fcn.004623e0
test al, al
je 0x473435
cmp dword [esp + 0x60], 0
jle 0x473435
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
call esi
push str.OpenAL32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x4722ce
push eax
mov byte [esp + 0x17], 1
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0
call esi
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4722fa
mov ecx, dword [esi]
cmp edi, 5
jne 0x472331
push edi
mov edx, 0x7e7c7c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47232e
call fcn.004790e0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47233a
mov ecx, dword [esi]
cmp edi, 9
jne 0x472382
push edi
mov edx, 0x7e7c88
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47237f
mov byte [esp + 0x13], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupFull_v1.0.3705
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x473435
jmp 0x473421
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47238b
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x4723ed
push edi
mov edx, 0x7e7c9c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4723ea
lea eax, [esp + 0x18]
push eax
push 0
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v1.1.4322
mov dword [esp + 0x28], 0
call fcn.00479330
test al, al
je 0x47255b
cmp dword [esp + 0x18], 1
jne 0x47255b
mov cl, 1
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4723f6
mov ecx, dword [esi]
cmp edi, 9
jne 0x472444
push edi
mov edx, 0x7e7cb8
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472441
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 0
push 0x7ebd90
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47244d
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x47249b
push edi
mov edx, 0x7e7ccc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472498
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 1
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v2.0.50727
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4724a4
mov ecx, dword [esi]
cmp edi, 9
jne 0x4724f2
push edi
mov edx, 0x7e7ce8
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4724ef
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v3.0
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4724fb
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x472528
push edi
mov edx, 0x7e7cfc
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472525
lea eax, [esp + 0x18]
push eax
push 0
push 0
push 0x7ebf08
jmp 0x4723b0
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472531
mov ecx, dword [esi]
cmp edi, 0x11
jne 0x472578
push edi
mov edx, 0x7e7d18
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472575
lea eax, [esp + 0x18]
push eax
push 0
push 1
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v3.5
jmp 0x4723b0
xor cl, cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472581
mov ecx, dword [esi]
cmp edi, 9
jne 0x4725d2
push edi
mov edx, 0x7e7d3c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4725cf
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ebc6c
push 0
push 0x7ebfc8
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4725db
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x47262c
push edi
mov edx, 0x7e7d50
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472629
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ebd74
push 1
push 0x7ec030
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472635
mov ecx, dword [esi]
cmp edi, 9
jne 0x472686
push edi
mov edx, 0x7e7d6c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472683
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ec098
push 0
push 0x7ec0a0
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47268f
mov ecx, dword [esi]
cmp edi, 9
jne 0x4726e0
push edi
mov edx, 0x7e7d80
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4726dd
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ec108
push 0
push 0x7ec110
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4726e9
mov ecx, dword [esi]
cmp edi, 9
jne 0x47273a
push edi
mov edx, 0x7e7d94
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472737
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ec178
push 0
push 0x7ec180
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472743
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x472794
push edi
mov edx, 0x7e7da8
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472791
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push str.4.7.2558
push 0
push 0x7ec1e8
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47279d
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x4727ee
push edi
mov edx, 0x7e7dc0
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4727eb
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push str.4.7.3062
push 0
push 0x7ec250
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4727f7
mov ecx, dword [esi]
cmp edi, 9
jne 0x472848
push edi
mov edx, 0x7e7dd8
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472845
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0x7ec2b8
push 0
push 0x7ec2c0
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472851
mov ecx, dword [esi]
cmp edi, 0xa
jne 0x4728a2
push edi
mov edx, 0x7e7dec
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47289f
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push str.4.8.5000
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v4Full
call fcn.00479330
test al, al
setne cl
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4728ab
mov ecx, dword [esi]
cmp edi, 6
jne 0x4728ec
push edi
mov edx, str.XNA_10
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4728e9
push str.XnaNative1.dll
push str.SOFTWAREMicrosoftXNAFramework_v1.0
call fcn.00479530
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4728f5
mov ecx, dword [esi]
cmp edi, 6
jne 0x472936
push edi
mov edx, str.XNA_20
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472933
push str.XnaNative2.dll
push str.SOFTWAREMicrosoftXNAFramework_v2.0
call fcn.00479530
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47293f
mov ecx, dword [esi]
cmp edi, 6
jne 0x472980
push edi
mov edx, str.XNA_30
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47297d
push 0x7ebe8c
push str.SOFTWAREMicrosoftXNAFramework_v3.0
call fcn.00479530
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472989
mov ecx, dword [esi]
cmp edi, 6
jne 0x4729ca
push edi
mov edx, 0x7e7e34
call fcn.00460840
add esp, 4
test eax, eax
jne 0x4729c7
push 0x7ec43c
push str.SOFTWAREMicrosoftXNAFramework_v3.1
call fcn.00479530
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x4729d3
mov ecx, dword [esi]
cmp edi, 6
jne 0x472a14
push edi
mov edx, 0x7e7e44
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472a11
push str.XnaNative.dll
push str.SOFTWAREMicrosoftXNAFramework_v4.0
call fcn.00479530
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472a1d
mov ecx, dword [esi]
cmp edi, 5
jne 0x472aad
push edi
mov edx, 0x7e7e54
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472aaa
xorps xmm0, xmm0
mov byte [esp + 0x13], al
lea edx, [esp + 0x60]
movaps xmmword [esp + 0x60], xmm0
mov ecx, 0x7ec50c
call fcn.004623e0
test al, al
je 0x473435
cmp dword [esp + 0x60], 0
jle 0x473435
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
call esi
push str.Xlive.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x472a8a
push eax
mov byte [esp + 0x17], 1
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0
call esi
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472ab6
mov ecx, dword [esi]
cmp edi, 4
jne 0x472aed
push edi
mov edx, 0x7e7e60
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472aea
call fcn.004796c0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472af6
mov ecx, dword [esi]
cmp edi, 0x13
jne 0x472b35
push edi
mov edx, 0x7e7e6c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472b32
sub esp, 8
push 0x7ec810
call fcn.004799d0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472b3e
mov ecx, dword [esi]
cmp edi, 0x15
jne 0x472b7d
push edi
mov edx, 0x7e7e94
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472b7a
sub esp, 8
push 0x7ec77c
call fcn.004799d0
mov cl, al
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472b86
mov ecx, dword [esi]
cmp edi, 9
jne 0x472c30
push edi
mov edx, 0x7e7ec0
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472c2d
push eax
push eax
mov byte [esp + 0x1b], al
mov dword [esp + 0x20], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
lea eax, [esp + 0x60]
push eax
push str.msxml2.DOMDocument.3.0
setns byte [esp + 0x2b]
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
js 0x472c00
lea eax, [esp + 0x18]
push eax
push 0x7ed78c
push 1
push 0
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x472c00
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x472c00
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x13], 1
cmp byte [esp + 0x23], 0
je 0x473435
call dword [sym.imp.ole32.dll_CoUninitialize]
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472c39
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x472db9
push edi
mov edx, 0x7e7ed4
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472db6
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov byte [esp + 0x13], al
mov dword [esp + 0x18], eax
cmp dword [0x83ce70], eax
jne 0x472ca0
push 0x7e6ccc
push 0x7e6cdc
call edi
push eax
call esi
mov dword [esp + 0x14], eax
mov dword [0x83ce70], eax
test eax, eax
je 0x472ca0
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [esp + 0x1c]
cmp dword [0x83ce6c], 1
jne 0x472cd1
mov eax, dword [0x83ce68]
test eax, eax
jne 0x472cca
push str.Wow64DisableWow64FsRedirection
push 0x7e6d10
call edi
push eax
call esi
mov dword [0x83ce68], eax
test eax, eax
je 0x472cd1
lea ecx, [esp + 0x18]
push ecx
call eax
push 0x208
lea eax, [esp + 0x87c]
push 0
push eax
call fcn.0070dcd0
add esp, 0xc
lea eax, [esp + 0x878]
push eax
push 0
push 0
push 0x24
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x472d25
push str._system32msxml3.dll
lea eax, [esp + 0x87c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x878]
call fcn.00461b90
mov byte [esp + 0x13], al
cmp dword [0x83ce70], 0
jne 0x472d5a
push 0x7e6ccc
push 0x7e6cdc
call edi
push eax
call esi
mov dword [esp + 0x14], eax
mov dword [0x83ce70], eax
test eax, eax
je 0x472d5a
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [esp + 0x1c]
cmp dword [0x83ce6c], 1
jne 0x473435
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [0x83ce64]
test eax, eax
jne 0x472d94
push str.Wow64RevertWow64FsRedirection
push 0x7e6d44
call edi
push eax
call esi
mov dword [0x83ce64], eax
test eax, eax
je 0x473435
push dword [esp + 0x14]
call eax
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472dc2
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x472fd5
push edi
mov edx, 0x7e7ef0
call fcn.00460840
add esp, 4
test eax, eax
jne 0x472fd2
push eax
push eax
mov byte [esp + 0x20], al
mov dword [esp + 0x30], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
lea eax, [esp + 0x60]
push eax
push str.msxml2.DOMDocument.4.0
setns byte [esp + 0x2b]
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
js 0x472fa9
lea eax, [esp + 0x28]
push eax
push 0x7ed78c
push 1
push 0
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x472fa9
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x472fa9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 0x208
lea eax, [esp + 0x87c]
push 0
push eax
call fcn.0070dcd0
add esp, 0xc
lea eax, [esp + 0x878]
push eax
push 0
push 0
push 0x25
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.msxml4.dll
lea eax, [esp + 0x87c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x87c]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
push edi
call fcn.006f4f6d
mov esi, eax
add esp, 4
test esi, esi
je 0x472fa9
push esi
push edi
push dword [esp + 0x2c]
lea eax, [esp + 0x884]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x472fa0
mov edi, dword [sym.imp.VERSION.dll_VerQueryValueW]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
push eax
push str.VarFileInfoTranslation
push esi
mov dword [esp + 0x3c], 0
call edi
test eax, eax
je 0x472fa0
push 0x208
lea eax, [esp + 0x7c]
push 0
push eax
call fcn.0070dcd0
mov ecx, dword [esp + 0x38]
add esp, 0xc
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [esp + 0x80]
push str.StringFileInfo_04x_04xFileDescription
push eax
call fcn.0045b740
add esp, 0x10
mov dword [esp + 0x1c], 0
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x80]
push eax
push esi
call edi
test eax, eax
je 0x472fa0
mov eax, dword [esp + 0x14]
mov ecx, str.MSXML_4.0_SP3
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x472f86
test dx, dx
je 0x472f82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x472f86
add eax, 4
add ecx, 4
test dx, dx
jne 0x472f60
xor eax, eax
jmp 0x472f8b
sbb eax, eax
or eax, 1
mov ecx, dword [esp + 0x18]
test eax, eax
movzx ecx, cl
mov edx, 1
cmove ecx, edx
mov dword [esp + 0x18], ecx
push esi
call fcn.006f4f76
add esp, 4
cmp byte [esp + 0x23], 0
je 0x472fb6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov cl, byte [esp + 0x18]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x472fde
mov ecx, dword [esi]
cmp edi, 9
jne 0x473088
push edi
mov edx, 0x7e7f0c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x473085
push eax
push eax
mov byte [esp + 0x1b], al
mov dword [esp + 0x1c], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
lea eax, [esp + 0x60]
push eax
push str.msxml2.DOMDocument.6.0
setns byte [esp + 0x2b]
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
js 0x473058
lea eax, [esp + 0x14]
push eax
push 0x7ed78c
push 1
push 0
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x473058
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x473058
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x13], 1
cmp byte [esp + 0x23], 0
je 0x473435
call dword [sym.imp.ole32.dll_CoUninitialize]
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x473091
mov ecx, dword [esi]
cmp edi, 0xd
jne 0x473211
push edi
mov edx, 0x7e7f20
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47320e
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov byte [esp + 0x13], al
mov dword [esp + 0x14], eax
cmp dword [0x83ce70], eax
jne 0x4730f8
push 0x7e6ccc
push 0x7e6cdc
call edi
push eax
call esi
mov dword [esp + 0x24], eax
mov dword [0x83ce70], eax
test eax, eax
je 0x4730f8
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [esp + 0x2c]
cmp dword [0x83ce6c], 1
jne 0x473129
mov eax, dword [0x83ce68]
test eax, eax
jne 0x473122
push str.Wow64DisableWow64FsRedirection
push 0x7e6d10
call edi
push eax
call esi
mov dword [0x83ce68], eax
test eax, eax
je 0x473129
lea ecx, [esp + 0x14]
push ecx
call eax
push 0x208
lea eax, [esp + 0x87c]
push 0
push eax
call fcn.0070dcd0
add esp, 0xc
lea eax, [esp + 0x878]
push eax
push 0
push 0
push 0x24
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x47317d
push str._system32msxml6.dll
lea eax, [esp + 0x87c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x878]
call fcn.00461b90
mov byte [esp + 0x13], al
cmp dword [0x83ce70], 0
jne 0x4731b2
push 0x7e6ccc
push 0x7e6cdc
call edi
push eax
call esi
mov dword [esp + 0x24], eax
mov dword [0x83ce70], eax
test eax, eax
je 0x4731b2
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [esp + 0x2c]
cmp dword [0x83ce6c], 1
jne 0x473435
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [0x83ce64]
test eax, eax
jne 0x4731ec
push str.Wow64RevertWow64FsRedirection
push 0x7e6d44
call edi
push eax
call esi
mov dword [0x83ce64], eax
test eax, eax
je 0x473435
push dword [esp + 0x24]
call eax
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47321a
mov ecx, dword [esi]
cmp edi, 5
jne 0x473304
push edi
mov edx, 0x7e7f3c
call fcn.00460840
add esp, 4
test eax, eax
jne 0x473301
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWAREValveSteam
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4732d6
push 0x800
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x24], 0x400
lea eax, [esp + 0x24]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.InstallPath
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4732d6
push str.steam.exe
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x78]
call fcn.00461b90
mov ecx, dword [esp + 0x1c]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4732e5
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov cl, byte [esp + 0x1c]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47330d
mov ecx, dword [esi]
cmp edi, 4
jne 0x473454
push edi
mov edx, 0x7e7f48
call fcn.00460840
add esp, 4
test eax, eax
jne 0x473451
mov byte [esp + 0x13], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWAREEpicGamesUnreal_Engine
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x473426
push 0x800
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x24], 0x400
lea eax, [esp + 0x24]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.INSTALLDIR
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x473426
push 0x800
push eax
lea eax, [esp + 0x880]
push eax
call fcn.0070dcd0
add esp, 0xc
lea eax, [esp + 0x1078]
push 0x800
push 0
push eax
call fcn.0070dcd0
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x84]
add esp, 0xc
push str.LauncherPortalBinariesWin32EpicGamesLauncher.exe
push eax
lea eax, [esp + 0x880]
push eax
call esi
push str.LauncherPortalBinariesWin64EpicGamesLauncher.exe
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1080]
push eax
call esi
lea ecx, [esp + 0x878]
call fcn.00461b90
test al, al
jne 0x473421
lea ecx, [esp + 0x1078]
call fcn.00461b90
test al, al
je 0x473426
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x473435
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov cl, byte [esp + 0x13]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x47345d
mov ecx, dword [esi]
cmp edi, 6
jne 0x47353d
push edi
mov edx, 0x7e7f54
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47353a
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWAREOrigin
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x47350f
push 0x800
push eax
lea eax, [esp + 0x1080]
push eax
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x24], 0x400
lea eax, [esp + 0x24]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x107c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.ClientPath
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x47350f
lea ecx, [esp + 0x1078]
call fcn.00461b90
mov ecx, dword [esp + 0x1c]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x47351e
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov cl, byte [esp + 0x1c]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
mov ecx, esi
cmp eax, 8
jb 0x473546
mov ecx, dword [esi]
cmp edi, 5
jne 0x473630
push edi
mov edx, 0x7e7f64
call fcn.00460840
add esp, 4
test eax, eax
jne 0x47362d
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWAREUbisoftLauncher
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x473602
push 0x800
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x24], 0x400
lea eax, [esp + 0x24]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.InstallDir
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x473602
push str.UbisoftConnect.exe
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x78]
call fcn.00461b90
mov ecx, dword [esp + 0x1c]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x473611
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov cl, byte [esp + 0x1c]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x1874]
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x473637
mov esi, dword [esi]
cmp edi, 8
jne 0x471b4e
push edi
mov edx, str.3DMSPEED
mov ecx, esi
call fcn.00460840
add esp, 4
test eax, eax
jne 0x471b4e
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 1
push 0
push str.SOFTWARE3DMSpeed
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4736f5
push 0x800
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x24], 0x400
lea eax, [esp + 0x24]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.AppPath
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4736f5
push str.3DMSpeed.exe
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x78]
call fcn.00461b90
mov ecx, dword [esp + 0x1c]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x473704
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov cl, byte [esp + 0x1c]
mov al, cl
mov ecx, dword [esp + 0x187c]
pop edi
pop esi
xor ecx, esp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret 4