Function at 0x14006aef0
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 [0x14030a918]
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 0x14006c2d4
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 0x14006afa4
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006afa4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006af81
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 0x14006afcf
add rax, 2
sub rcx, 1
jne 0x14006afc0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006b032
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b024
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006b024
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b024
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b003
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 0x14006b18a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b185
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 0x14006b179
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b179
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b179
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40002
ja 0x14006b0d8
jb 0x14006b183
cmp esi, 0x5f
jb 0x14006b183
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006b0e8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b0f8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006b10a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006b122
mov r13d, 1
jb 0x14006b183
cmp esi, 0x447
jbe 0x14006b183
test rcx, rcx
je 0x14006b12d
mov dword [rcx], 2
test rax, rax
je 0x14006b135
mov dword [rax], r8d
test rbx, rbx
je 0x14006b13d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006b152
mov r13d, 1
jb 0x14006b183
cmp esi, 0x43
jbe 0x14006b183
mov rsi, rcx
test rcx, rcx
je 0x14006b160
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006b169
mov dword [rax], edi
test rbx, rbx
je 0x14006b171
mov word [rbx], dx
mov r13d, 1
jmp 0x14006b185
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b185
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b1b5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b1b5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b192
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 0x14006b1e0
add rax, 2
sub rcx, 1
jne 0x14006b1d0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b23d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b22f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006b22f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b22f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006b210
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 0x14006b317
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b317
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 0x14006b30b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b30b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b30b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40004
ja 0x14006b2d3
jb 0x14006b315
cmp esi, 0x46
jb 0x14006b315
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b2e3
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b2f1
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b303
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006b317
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b317
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b343
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b343
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b320
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 0x14006b370
add rax, 2
sub rcx, 1
jne 0x14006b360
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b3cf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b3c1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b3c1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b3c1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b3a0
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 0x14006b521
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b521
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 0x14006b840
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b840
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b840
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40005
ja 0x14006b478
jb 0x14006b51f
cmp esi, 0x9b
jb 0x14006b51f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006b488
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b498
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006b4ac
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b4c4
mov r13d, 1
jb 0x14006b51f
cmp esi, 0x13d
jbe 0x14006b51f
test rdx, rdx
je 0x14006b4cf
mov dword [rdx], 6
test rax, rax
je 0x14006b4d7
mov dword [rax], r8d
test rcx, rcx
je 0x14006b4e0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b4fa
mov r13d, 1
jb 0x14006b51f
cmp esi, 0x1b4
ja 0x14006b4fa
jb 0x14006b51f
test rdx, rdx
je 0x14006b505
mov dword [rdx], 6
test rax, rax
je 0x14006b510
mov dword [rax], 1
test rcx, rcx
je 0x14006b519
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 0x14006b553
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b553
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b530
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 0x14006b580
add rax, 2
sub rcx, 1
jne 0x14006b570
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b5dd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b5cf
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b5cf
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b5cf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b5b0
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 0x14006b6b8
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b6b8
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 0x14006b84d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b84d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b84d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40006
ja 0x14006b67e
jb 0x14006b6b6
cmp esi, 0x30206
jb 0x14006b6b6
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b68e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006b69e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b6b0
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 0x14006b6e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b6e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b6c0
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 0x14006b710
add rax, 2
sub rcx, 1
jne 0x14006b700
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b76f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b761
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b761
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b761
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b740
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 0x14006b866
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b866
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 0x14006b85a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b85a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b85a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40007
ja 0x14006b808
jb 0x14006b864
cmp esi, 0x2bc
jb 0x14006b864
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b818
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b826
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b838
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006b866
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b521
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b6b8
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b866
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b893
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b893
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b870
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 0x14006b8c0
add rax, 2
sub rcx, 1
jne 0x14006b8b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b91d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b90f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b90f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b90f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b8f0
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 0x14006b9fa
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b9fa
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 0x14006b9ee
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b9ee
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b9ee
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x40007
ja 0x14006b9b6
jb 0x14006b9f8
cmp esi, 0x2cc
jb 0x14006b9f8
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b9c6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b9d4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b9e6
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006b9fa
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006b9fa
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ba25
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ba25
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ba02
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 0x14006ba50
add rax, 2
sub rcx, 1
jne 0x14006ba40
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006baa7
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006ba99
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006ba99
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x14006ba99
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ba78
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 0x14006bbaf
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bbad
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 0x14006bba5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c035c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006bba5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bba5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400747a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bb54
cmp ebx, 0x40008
ja 0x14006bb6c
jb 0x14006bbad
cmp esi, 0x190
jae 0x14006bb6c
jmp 0x14006bbad
cmp ax, 5
jne 0x14006bbad
cmp ebx, 0x50001
ja 0x14006bb6c
jb 0x14006bbad
cmp esi, 0x8d20190
jb 0x14006bbad
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bb7c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006bb8b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bb9d
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006bbb4
mov rcx, rdi
call fcn.1400747a4
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 0x14006bbe3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bbe3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bbc0
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 0x14006bc10
add rax, 2
sub rcx, 1
jne 0x14006bc00
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bc6d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006bc5f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006bc5f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006bc5f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006bc40
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 0x14006bdef
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bded
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 0x14006bde5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c035c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006bde5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bde5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400747a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bd25
cmp ebx, 0x40008
ja 0x14006bd45
jb 0x14006bded
cmp esi, 0x10371
jae 0x14006bd45
jmp 0x14006bded
cmp ax, 5
jne 0x14006bd95
cmp ebx, 0x50001
ja 0x14006bd45
jb 0x14006bded
cmp esi, 0xa280371
jb 0x14006bded
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006bd55
mov dword [rdx], 8
test r15, r15
je 0x14006bd61
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14006bd75
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x14006bd9f
cmp ebx, 0x40008
ja 0x14006bdb9
jb 0x14006bded
cmp esi, 0x10385
jae 0x14006bdb9
jmp 0x14006bded
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14006bded
cmp ebx, 0x50001
ja 0x14006bdb9
jb 0x14006bded
cmp esi, 0xa280385
ja 0x14006bdb9
jb 0x14006bded
test rdx, rdx
je 0x14006bdc4
mov dword [rdx], 8
test r15, r15
je 0x14006bdd0
mov dword [r15], 1
test rcx, rcx
je 0x14006bddd
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14006bded
mov rcx, rdi
call fcn.1400747a4
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006be23
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006be23
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006be00
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 0x14006be50
add rax, 2
sub rcx, 1
jne 0x14006be40
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006beaf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006bea1
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006bea1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006bea1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006be80
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 0x14006bf86
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006bf86
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 0x14006c0f0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006c0f0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c0f0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400747a4
cmp edi, 0x60003
ja 0x14006bf50
jb 0x14006bf84
cmp esi, 0x10375
jb 0x14006bf84
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bf60
mov dword [rax], 8
test r15, r15
je 0x14006bf6c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bf7e
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 0x14006bfb3
movzx eax, word [rcx + r12]
test ax, ax
je 0x14006bfb3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bf90
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 0x14006bfe0
add rax, 2
sub rcx, 1
jne 0x14006bfd0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006c03f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006c031
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006c031
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006c031
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006c010
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 0x14006c153
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006c153
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 0x14006c14b
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c035c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006c14b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c14b
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400747a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006c0fd
cmp ebx, 0x40009
ja 0x14006c115
jb 0x14006c153
cmp esi, 0x86
jae 0x14006c115
jmp 0x14006c153
mov rcx, rbx
call fcn.1400747a4
jmp 0x14006bf86
cmp ax, 5
jne 0x14006c153
cmp ebx, 0x50002
ja 0x14006c115
jb 0x14006c153
cmp esi, 0xe5d0086
jb 0x14006c153
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006c125
mov dword [rsi], 8
test r15, r15
je 0x14006c131
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006c143
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006c15d
mov rcx, rdi
call fcn.1400747a4
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 0x14006c193
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006c193
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006c170
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 0x14006c1c0
add rax, 2
sub rcx, 1
jne 0x14006c1b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006c21d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006c20e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006c20e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006c20e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006c1f0
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 0x14006c2c5
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006c2c5
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 0x14006c2bd
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006c2bd
cmp qword [rsp + 0x28], r12
je 0x14006c2bd
mov rcx, rbx
call fcn.1400747a4
test rsi, rsi
je 0x14006c2a6
mov dword [rsi], 9
test r15, r15
je 0x14006c2ae
mov dword [r15], r12d
test rdi, rdi
je 0x14006c2eb
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006c2eb
mov rcx, rbx
call fcn.1400747a4
test r13d, r13d
jne 0x14006c2eb
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006c2db
mov dword [rsi], edi
test r15, r15
je 0x14006c2e3
mov dword [r15], edi
test rbx, rbx
je 0x14006c2eb
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.1402117c0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret