Function at 0x14006e310
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 [0x14030c918]
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 0x14006f6f4
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 0x14006e3c4
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e3c4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e3a1
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 0x14006e3ef
add rax, 2
sub rcx, 1
jne 0x14006e3e0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006e452
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e444
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006e444
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006e444
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006e423
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 0x14006e5aa
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006e5a5
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 0x14006e599
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e599
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e599
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40002
ja 0x14006e4f8
jb 0x14006e5a3
cmp esi, 0x5f
jb 0x14006e5a3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006e508
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006e518
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006e52a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006e542
mov r13d, 1
jb 0x14006e5a3
cmp esi, 0x447
jbe 0x14006e5a3
test rcx, rcx
je 0x14006e54d
mov dword [rcx], 2
test rax, rax
je 0x14006e555
mov dword [rax], r8d
test rbx, rbx
je 0x14006e55d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006e572
mov r13d, 1
jb 0x14006e5a3
cmp esi, 0x43
jbe 0x14006e5a3
mov rsi, rcx
test rcx, rcx
je 0x14006e580
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006e589
mov dword [rax], edi
test rbx, rbx
je 0x14006e591
mov word [rbx], dx
mov r13d, 1
jmp 0x14006e5a5
mov rcx, rbx
call fcn.140075f74
jmp 0x14006e5a5
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e5d5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e5d5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e5b2
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 0x14006e600
add rax, 2
sub rcx, 1
jne 0x14006e5f0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e65d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e64f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006e64f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006e64f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006e630
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 0x14006e737
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006e737
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 0x14006e72b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e72b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e72b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40004
ja 0x14006e6f3
jb 0x14006e735
cmp esi, 0x46
jb 0x14006e735
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e703
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006e711
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006e723
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006e737
mov rcx, rbx
call fcn.140075f74
jmp 0x14006e737
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e763
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e763
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e740
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 0x14006e790
add rax, 2
sub rcx, 1
jne 0x14006e780
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e7ef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e7e1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006e7e1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006e7e1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006e7c0
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 0x14006e941
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006e941
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 0x14006ec60
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ec60
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ec60
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40005
ja 0x14006e898
jb 0x14006e93f
cmp esi, 0x9b
jb 0x14006e93f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006e8a8
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006e8b8
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006e8cc
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006e8e4
mov r13d, 1
jb 0x14006e93f
cmp esi, 0x13d
jbe 0x14006e93f
test rdx, rdx
je 0x14006e8ef
mov dword [rdx], 6
test rax, rax
je 0x14006e8f7
mov dword [rax], r8d
test rcx, rcx
je 0x14006e900
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006e91a
mov r13d, 1
jb 0x14006e93f
cmp esi, 0x1b4
ja 0x14006e91a
jb 0x14006e93f
test rdx, rdx
je 0x14006e925
mov dword [rdx], 6
test rax, rax
je 0x14006e930
mov dword [rax], 1
test rcx, rcx
je 0x14006e939
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 0x14006e973
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e973
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e950
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 0x14006e9a0
add rax, 2
sub rcx, 1
jne 0x14006e990
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e9fd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006e9ef
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006e9ef
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006e9ef
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006e9d0
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 0x14006ead8
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ead8
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 0x14006ec6d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ec6d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ec6d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40006
ja 0x14006ea9e
jb 0x14006ead6
cmp esi, 0x30206
jb 0x14006ead6
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006eaae
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006eabe
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006ead0
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006eb03
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006eb03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006eae0
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 0x14006eb30
add rax, 2
sub rcx, 1
jne 0x14006eb20
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006eb8f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006eb81
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006eb81
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006eb81
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006eb60
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 0x14006ec86
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ec86
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 0x14006ec7a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ec7a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ec7a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40007
ja 0x14006ec28
jb 0x14006ec84
cmp esi, 0x2bc
jb 0x14006ec84
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006ec38
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006ec46
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006ec58
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006ec86
mov rcx, rbx
call fcn.140075f74
jmp 0x14006e941
mov rcx, rbx
call fcn.140075f74
jmp 0x14006ead8
mov rcx, rbx
call fcn.140075f74
jmp 0x14006ec86
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ecb3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ecb3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ec90
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 0x14006ece0
add rax, 2
sub rcx, 1
jne 0x14006ecd0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006ed3d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006ed2f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006ed2f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006ed2f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006ed10
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 0x14006ee1a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ee1a
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 0x14006ee0e
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ee0e
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ee0e
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x40007
ja 0x14006edd6
jb 0x14006ee18
cmp esi, 0x2cc
jb 0x14006ee18
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006ede6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006edf4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006ee06
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006ee1a
mov rcx, rbx
call fcn.140075f74
jmp 0x14006ee1a
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ee45
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ee45
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ee22
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 0x14006ee70
add rax, 2
sub rcx, 1
jne 0x14006ee60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006eec7
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006eeb9
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006eeb9
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x14006eeb9
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ee98
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 0x14006efcf
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006efcd
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 0x14006efc5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c262c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006efc5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006efc5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140075f74
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006ef74
cmp ebx, 0x40008
ja 0x14006ef8c
jb 0x14006efcd
cmp esi, 0x190
jae 0x14006ef8c
jmp 0x14006efcd
cmp ax, 5
jne 0x14006efcd
cmp ebx, 0x50001
ja 0x14006ef8c
jb 0x14006efcd
cmp esi, 0x8d20190
jb 0x14006efcd
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006ef9c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006efab
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006efbd
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006efd4
mov rcx, rdi
call fcn.140075f74
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 0x14006f003
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006f003
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006efe0
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 0x14006f030
add rax, 2
sub rcx, 1
jne 0x14006f020
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006f08d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006f07f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006f07f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006f07f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006f060
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 0x14006f20f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006f20d
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 0x14006f205
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c262c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006f205
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006f205
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140075f74
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006f145
cmp ebx, 0x40008
ja 0x14006f165
jb 0x14006f20d
cmp esi, 0x10371
jae 0x14006f165
jmp 0x14006f20d
cmp ax, 5
jne 0x14006f1b5
cmp ebx, 0x50001
ja 0x14006f165
jb 0x14006f20d
cmp esi, 0xa280371
jb 0x14006f20d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006f175
mov dword [rdx], 8
test r15, r15
je 0x14006f181
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14006f195
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x14006f1bf
cmp ebx, 0x40008
ja 0x14006f1d9
jb 0x14006f20d
cmp esi, 0x10385
jae 0x14006f1d9
jmp 0x14006f20d
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14006f20d
cmp ebx, 0x50001
ja 0x14006f1d9
jb 0x14006f20d
cmp esi, 0xa280385
ja 0x14006f1d9
jb 0x14006f20d
test rdx, rdx
je 0x14006f1e4
mov dword [rdx], 8
test r15, r15
je 0x14006f1f0
mov dword [r15], 1
test rcx, rcx
je 0x14006f1fd
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14006f20d
mov rcx, rdi
call fcn.140075f74
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006f243
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006f243
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006f220
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 0x14006f270
add rax, 2
sub rcx, 1
jne 0x14006f260
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006f2cf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006f2c1
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006f2c1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006f2c1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006f2a0
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 0x14006f3a6
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006f3a6
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 0x14006f510
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006f510
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006f510
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140075f74
cmp edi, 0x60003
ja 0x14006f370
jb 0x14006f3a4
cmp esi, 0x10375
jb 0x14006f3a4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006f380
mov dword [rax], 8
test r15, r15
je 0x14006f38c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006f39e
mov ecx, 0x62
mov word [rax], cx
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006f3d3
movzx eax, word [rcx + r12]
test ax, ax
je 0x14006f3d3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006f3b0
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 0x14006f400
add rax, 2
sub rcx, 1
jne 0x14006f3f0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006f45f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006f451
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006f451
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006f451
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006f430
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 0x14006f573
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006f573
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 0x14006f56b
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c262c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006f56b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006f56b
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140075f74
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006f51d
cmp ebx, 0x40009
ja 0x14006f535
jb 0x14006f573
cmp esi, 0x86
jae 0x14006f535
jmp 0x14006f573
mov rcx, rbx
call fcn.140075f74
jmp 0x14006f3a6
cmp ax, 5
jne 0x14006f573
cmp ebx, 0x50002
ja 0x14006f535
jb 0x14006f573
cmp esi, 0xe5d0086
jb 0x14006f573
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006f545
mov dword [rsi], 8
test r15, r15
je 0x14006f551
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006f563
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006f57d
mov rcx, rdi
call fcn.140075f74
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006f5b3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006f5b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006f590
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 dword [rax]
cmp word [rax], r12w
je 0x14006f5e0
add rax, 2
sub rcx, 1
jne 0x14006f5d0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006f63d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006f62e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006f62e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006f62e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006f610
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 0x14006f6e5
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006f6e5
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 0x14006f6dd
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c262c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006f6dd
cmp qword [rsp + 0x28], r12
je 0x14006f6dd
mov rcx, rbx
call fcn.140075f74
test rsi, rsi
je 0x14006f6c6
mov dword [rsi], 9
test r15, r15
je 0x14006f6ce
mov dword [r15], r12d
test rdi, rdi
je 0x14006f70b
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006f70b
mov rcx, rbx
call fcn.140075f74
test r13d, r13d
jne 0x14006f70b
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006f6fb
mov dword [rsi], edi
test r15, r15
je 0x14006f703
mov dword [r15], edi
test rbx, rbx
je 0x14006f70b
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140212f90
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret