Function at 0x1400786d0
Capabilities:
Get common file path
Get file version info

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x760]
sub rsp, 0x860
mov rax, qword [0x14031b940]
xor rax, rsp
mov qword [rbp + 0x750], rax
mov rbx, r8
mov qword [rsp + 0x48], rdx
mov r15, rdx
mov qword [rsp + 0x38], rcx
mov rsi, rcx
mov qword [rsp + 0x40], rbx
xor edi, edi
lea rcx, [rbp + 0x350]
mov edx, 0x104
mov r13d, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [rdi + 0x20]
test eax, eax
je 0x140079a93
mov qword [rsp + 0x8b8], r14
lea r12, [rbp + 0x350]
mov r14d, 0x200
mov word [rbp + 0x556], di
lea rax, [rsp + 0x50]
mov edx, r14d
lea rcx, [rsp + 0x50]
sub r12, rax
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078784
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078784
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078761
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop word [rax + rax]
cmp word [rax], di
je 0x1400787af
add rax, 2
sub rcx, 1
jne 0x1400787a0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x140078812
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078804
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x140078804
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078804
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400787e3
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x14007896a
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078965
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140078959
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078959
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078959
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40002
ja 0x1400788b8
jb 0x140078963
cmp esi, 0x5f
jb 0x140078963
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400788c8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x1400788d8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x1400788ea
mov word [rbx], dx
cmp edi, 0x40003
ja 0x140078902
mov r13d, 1
jb 0x140078963
cmp esi, 0x447
jbe 0x140078963
test rcx, rcx
je 0x14007890d
mov dword [rcx], 2
test rax, rax
je 0x140078915
mov dword [rax], r8d
test rbx, rbx
je 0x14007891d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x140078932
mov r13d, 1
jb 0x140078963
cmp esi, 0x43
jbe 0x140078963
mov rsi, rcx
test rcx, rcx
je 0x140078940
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x140078949
mov dword [rax], edi
test rbx, rbx
je 0x140078951
mov word [rbx], dx
mov r13d, 1
jmp 0x140078965
mov rcx, rbx
call fcn.140003e94
jmp 0x140078965
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078995
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078995
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078972
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax + rax]
cmp word [rax], 0
je 0x1400789c0
add rax, 2
sub rcx, 1
jne 0x1400789b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078a1d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078a0f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x140078a0f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x140078a0f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x1400789f0
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140078af0
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078af0
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140078ae4
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078ae4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078ae4
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40004
ja 0x140078aaf
jb 0x140078aee
cmp esi, 0x46
jb 0x140078aee
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078abf
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078acd
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078adc
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078af0
mov rcx, rbx
call fcn.140003e94
jmp 0x140078af0
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078b23
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078b23
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078b00
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140078b50
add rax, 2
sub rcx, 1
jne 0x140078b40
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078baf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078ba1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078ba1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078ba1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078b80
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140078d01
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078d01
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x14007901d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007901d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007901d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40005
ja 0x140078c58
jb 0x140078cff
cmp esi, 0x9b
jb 0x140078cff
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078c68
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078c78
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x140078c8c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078ca4
mov r13d, 1
jb 0x140078cff
cmp esi, 0x13d
jbe 0x140078cff
test rdx, rdx
je 0x140078caf
mov dword [rdx], 6
test rax, rax
je 0x140078cb7
mov dword [rax], r8d
test rcx, rcx
je 0x140078cc0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078cda
mov r13d, 1
jb 0x140078cff
cmp esi, 0x1b4
ja 0x140078cda
jb 0x140078cff
test rdx, rdx
je 0x140078ce5
mov dword [rdx], 6
test rax, rax
je 0x140078cf0
mov dword [rax], 1
test rcx, rcx
je 0x140078cf9
mov word [rcx], r9w
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078d33
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078d33
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078d10
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140078d60
add rax, 2
sub rcx, 1
jne 0x140078d50
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078dbd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140078daf
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x140078daf
movzx eax, word [r9 + rcx]
test ax, ax
je 0x140078daf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078d90
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140078e95
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078e95
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x14007902a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007902a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007902a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40006
ja 0x140078e5e
jb 0x140078e93
cmp esi, 0x30206
jb 0x140078e93
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078e6e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140078e7e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078e8d
mov word [rax], 0x61
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078ec3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078ec3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078ea0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140078ef0
add rax, 2
sub rcx, 1
jne 0x140078ee0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078f4f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078f41
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078f41
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078f41
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078f20
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140079043
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140079043
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140079037
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079037
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079037
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40007
ja 0x140078fe8
jb 0x140079041
cmp esi, 0x2bc
jb 0x140079041
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078ff8
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140079006
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140079015
mov word [rax], 0x20
mov r13d, 1
jmp 0x140079043
mov rcx, rbx
call fcn.140003e94
jmp 0x140078d01
mov rcx, rbx
call fcn.140003e94
jmp 0x140078e95
mov rcx, rbx
call fcn.140003e94
jmp 0x140079043
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079073
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079073
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079050
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x1400790a0
add rax, 2
sub rcx, 1
jne 0x140079090
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400790fd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x1400790ef
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x1400790ef
movzx eax, word [rcx + r9]
test ax, ax
je 0x1400790ef
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x1400790d0
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x1400791d7
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x1400791d7
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400791cb
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400791cb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400791cb
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40007
ja 0x140079196
jb 0x1400791d5
cmp esi, 0x2cc
jb 0x1400791d5
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400791a6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x1400791b4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400791c3
mov word [rax], 0x61
mov r13d, 1
jmp 0x1400791d7
mov rcx, rbx
call fcn.140003e94
jmp 0x1400791d7
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079203
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079203
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400791e0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140079230
add rax, 2
sub rcx, 1
jne 0x140079220
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140079287
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079279
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x140079279
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x140079279
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079258
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x14007938c
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x14007938a
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140079382
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079382
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079382
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079334
cmp ebx, 0x40008
ja 0x14007934c
jb 0x14007938a
cmp esi, 0x190
jae 0x14007934c
jmp 0x14007938a
cmp ax, 5
jne 0x14007938a
cmp ebx, 0x50001
ja 0x14007934c
jb 0x14007938a
cmp esi, 0x8d20190
jb 0x14007938a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007935c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14007936b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007937a
mov word [rax], 0x20
mov r13d, 1
jmp 0x140079391
mov rcx, rdi
call fcn.140003e94
xor edi, edi
mov r15, qword [rsp + 0x48]
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400793c3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400793c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400793a0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x1400793f0
add rax, 2
sub rcx, 1
jne 0x1400793e0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007944d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007943f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007943f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007943f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140079420
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x1400795c7
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x1400795c5
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400795bd
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400795bd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400795bd
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079505
cmp ebx, 0x40008
ja 0x140079525
jb 0x1400795c5
cmp esi, 0x10371
jae 0x140079525
jmp 0x1400795c5
cmp ax, 5
jne 0x140079570
cmp ebx, 0x50001
ja 0x140079525
jb 0x1400795c5
cmp esi, 0xa280371
jb 0x1400795c5
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140079535
mov dword [rdx], 8
test r15, r15
je 0x140079541
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140079550
mov word [rcx], 0x20
mov r13d, 1
cmp ax, 4
jne 0x14007957a
cmp ebx, 0x40008
ja 0x140079594
jb 0x1400795c5
cmp esi, 0x10385
jae 0x140079594
jmp 0x1400795c5
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x1400795c5
cmp ebx, 0x50001
ja 0x140079594
jb 0x1400795c5
cmp esi, 0xa280385
ja 0x140079594
jb 0x1400795c5
test rdx, rdx
je 0x14007959f
mov dword [rdx], 8
test r15, r15
je 0x1400795ab
mov dword [r15], 1
test rcx, rcx
je 0x1400795b5
mov word [rcx], 0x61
mov r13d, 1
jmp 0x1400795c5
mov rcx, rdi
call fcn.140003e94
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400795f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400795f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400795d0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140079620
add rax, 2
sub rcx, 1
jne 0x140079610
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007967f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079671
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079671
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079671
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079650
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140079753
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140079753
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400798c0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400798c0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400798c0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x60003
ja 0x140079720
jb 0x140079751
cmp esi, 0x10375
jb 0x140079751
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079730
mov dword [rax], 8
test r15, r15
je 0x14007973c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007974b
mov word [rax], 0x62
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079783
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079783
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079760
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], di
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x1400797b0
add rax, 2
sub rcx, 1
jne 0x1400797a0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007980f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079801
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079801
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079801
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400797e0
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], di
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140079920
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x140079920
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140079918
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079918
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079918
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400798cd
cmp ebx, 0x40009
ja 0x1400798e5
jb 0x140079920
cmp esi, 0x86
jae 0x1400798e5
jmp 0x140079920
mov rcx, rbx
call fcn.140003e94
jmp 0x140079753
cmp ax, 5
jne 0x140079920
cmp ebx, 0x50002
ja 0x1400798e5
jb 0x140079920
cmp esi, 0xe5d0086
jb 0x140079920
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400798f5
mov dword [rsi], 8
test r15, r15
je 0x140079901
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140079910
mov word [rdi], 0x20
mov r13d, 1
jmp 0x14007992a
mov rcx, rdi
call fcn.140003e94
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079955
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079955
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079932
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
xor r12d, r12d
mov rcx, r14
mov word [rax], r12w
lea rax, [rsp + 0x50]
nop
cmp word [rax], r12w
je 0x140079980
add rax, 2
sub rcx, 1
jne 0x140079970
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x1400799dd
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x1400799ce
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x1400799ce
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400799ce
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x1400799b0
test r14, r14
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r12w
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov r14, qword [rsp + 0x8b8]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140079a84
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140079a84
mov r8d, dword [rsp + 0x20]
lea rcx, [rsp + 0x50]
mov r9, rax
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140079a7c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079a7c
cmp qword [rsp + 0x28], r12
je 0x140079a7c
mov rcx, rbx
call fcn.140003e94
test rsi, rsi
je 0x140079a66
mov dword [rsi], 9
test r15, r15
je 0x140079a6e
mov dword [r15], r12d
xor eax, eax
test rdi, rdi
je 0x140079aac
mov word [rdi], 0x20
jmp 0x140079aac
mov rcx, rbx
call fcn.140003e94
test r13d, r13d
jne 0x140079aaa
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x140079a9a
mov dword [rsi], edi
test r15, r15
je 0x140079aa2
mov dword [r15], edi
test rbx, rbx
je 0x140079aaa
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140220eb0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret