Function at 0x14006aaf0
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 [0x140309918]
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 0x14006bed4
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 0x14006aba4
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006aba4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ab81
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 0x14006abcf
add rax, 2
sub rcx, 1
jne 0x14006abc0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006ac32
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006ac24
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006ac24
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006ac24
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ac03
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 0x14006ad8a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ad85
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 0x14006ad79
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ad79
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ad79
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40002
ja 0x14006acd8
jb 0x14006ad83
cmp esi, 0x5f
jb 0x14006ad83
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006ace8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006acf8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006ad0a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006ad22
mov r13d, 1
jb 0x14006ad83
cmp esi, 0x447
jbe 0x14006ad83
test rcx, rcx
je 0x14006ad2d
mov dword [rcx], 2
test rax, rax
je 0x14006ad35
mov dword [rax], r8d
test rbx, rbx
je 0x14006ad3d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006ad52
mov r13d, 1
jb 0x14006ad83
cmp esi, 0x43
jbe 0x14006ad83
mov rsi, rcx
test rcx, rcx
je 0x14006ad60
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006ad69
mov dword [rax], edi
test rbx, rbx
je 0x14006ad71
mov word [rbx], dx
mov r13d, 1
jmp 0x14006ad85
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006ad85
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006adb5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006adb5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ad92
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 0x14006ade0
add rax, 2
sub rcx, 1
jne 0x14006add0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006ae3d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006ae2f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006ae2f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006ae2f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006ae10
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 0x14006af17
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006af17
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 0x14006af0b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006af0b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006af0b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40004
ja 0x14006aed3
jb 0x14006af15
cmp esi, 0x46
jb 0x14006af15
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006aee3
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006aef1
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006af03
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006af17
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006af17
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006af43
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006af43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006af20
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 0x14006af70
add rax, 2
sub rcx, 1
jne 0x14006af60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006afcf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006afc1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006afc1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006afc1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006afa0
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 0x14006b121
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b121
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 0x14006b440
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b440
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b440
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40005
ja 0x14006b078
jb 0x14006b11f
cmp esi, 0x9b
jb 0x14006b11f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006b088
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b098
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006b0ac
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b0c4
mov r13d, 1
jb 0x14006b11f
cmp esi, 0x13d
jbe 0x14006b11f
test rdx, rdx
je 0x14006b0cf
mov dword [rdx], 6
test rax, rax
je 0x14006b0d7
mov dword [rax], r8d
test rcx, rcx
je 0x14006b0e0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b0fa
mov r13d, 1
jb 0x14006b11f
cmp esi, 0x1b4
ja 0x14006b0fa
jb 0x14006b11f
test rdx, rdx
je 0x14006b105
mov dword [rdx], 6
test rax, rax
je 0x14006b110
mov dword [rax], 1
test rcx, rcx
je 0x14006b119
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 0x14006b153
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b153
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b130
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 0x14006b180
add rax, 2
sub rcx, 1
jne 0x14006b170
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b1dd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b1cf
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b1cf
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b1cf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b1b0
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 0x14006b2b8
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b2b8
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 0x14006b44d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b44d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b44d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40006
ja 0x14006b27e
jb 0x14006b2b6
cmp esi, 0x30206
jb 0x14006b2b6
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b28e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006b29e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b2b0
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 0x14006b2e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b2e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b2c0
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 0x14006b310
add rax, 2
sub rcx, 1
jne 0x14006b300
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b36f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b361
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b361
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b361
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b340
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 0x14006b466
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b466
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 0x14006b45a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b45a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b45a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40007
ja 0x14006b408
jb 0x14006b464
cmp esi, 0x2bc
jb 0x14006b464
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b418
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b426
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b438
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006b466
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006b121
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006b2b8
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006b466
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b493
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b493
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b470
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 0x14006b4c0
add rax, 2
sub rcx, 1
jne 0x14006b4b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b51d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b50f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b50f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b50f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b4f0
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 0x14006b5fa
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b5fa
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 0x14006b5ee
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b5ee
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b5ee
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x40007
ja 0x14006b5b6
jb 0x14006b5f8
cmp esi, 0x2cc
jb 0x14006b5f8
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b5c6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b5d4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b5e6
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006b5fa
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006b5fa
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b625
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b625
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b602
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 0x14006b650
add rax, 2
sub rcx, 1
jne 0x14006b640
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b6a7
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b699
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006b699
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x14006b699
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b678
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 0x14006b7af
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006b7ad
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 0x14006b7a5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402bf35c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b7a5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b7a5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400743a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006b754
cmp ebx, 0x40008
ja 0x14006b76c
jb 0x14006b7ad
cmp esi, 0x190
jae 0x14006b76c
jmp 0x14006b7ad
cmp ax, 5
jne 0x14006b7ad
cmp ebx, 0x50001
ja 0x14006b76c
jb 0x14006b7ad
cmp esi, 0x8d20190
jb 0x14006b7ad
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b77c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006b78b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b79d
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006b7b4
mov rcx, rdi
call fcn.1400743a4
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 0x14006b7e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b7e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b7c0
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 0x14006b810
add rax, 2
sub rcx, 1
jne 0x14006b800
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b86d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b85f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b85f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006b85f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b840
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 0x14006b9ef
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006b9ed
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 0x14006b9e5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402bf35c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006b9e5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b9e5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400743a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006b925
cmp ebx, 0x40008
ja 0x14006b945
jb 0x14006b9ed
cmp esi, 0x10371
jae 0x14006b945
jmp 0x14006b9ed
cmp ax, 5
jne 0x14006b995
cmp ebx, 0x50001
ja 0x14006b945
jb 0x14006b9ed
cmp esi, 0xa280371
jb 0x14006b9ed
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006b955
mov dword [rdx], 8
test r15, r15
je 0x14006b961
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14006b975
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x14006b99f
cmp ebx, 0x40008
ja 0x14006b9b9
jb 0x14006b9ed
cmp esi, 0x10385
jae 0x14006b9b9
jmp 0x14006b9ed
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14006b9ed
cmp ebx, 0x50001
ja 0x14006b9b9
jb 0x14006b9ed
cmp esi, 0xa280385
ja 0x14006b9b9
jb 0x14006b9ed
test rdx, rdx
je 0x14006b9c4
mov dword [rdx], 8
test r15, r15
je 0x14006b9d0
mov dword [r15], 1
test rcx, rcx
je 0x14006b9dd
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14006b9ed
mov rcx, rdi
call fcn.1400743a4
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ba23
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ba23
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ba00
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 0x14006ba50
add rax, 2
sub rcx, 1
jne 0x14006ba40
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006baaf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006baa1
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006baa1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006baa1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ba80
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 0x14006bb86
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006bb86
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 0x14006bcf0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006bcf0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bcf0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400743a4
cmp edi, 0x60003
ja 0x14006bb50
jb 0x14006bb84
cmp esi, 0x10375
jb 0x14006bb84
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bb60
mov dword [rax], 8
test r15, r15
je 0x14006bb6c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bb7e
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 0x14006bbb3
movzx eax, word [rcx + r12]
test ax, ax
je 0x14006bbb3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bb90
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 0x14006bbe0
add rax, 2
sub rcx, 1
jne 0x14006bbd0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bc3f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006bc31
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006bc31
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006bc31
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006bc10
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 0x14006bd53
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bd53
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 0x14006bd4b
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402bf35c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006bd4b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bd4b
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400743a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bcfd
cmp ebx, 0x40009
ja 0x14006bd15
jb 0x14006bd53
cmp esi, 0x86
jae 0x14006bd15
jmp 0x14006bd53
mov rcx, rbx
call fcn.1400743a4
jmp 0x14006bb86
cmp ax, 5
jne 0x14006bd53
cmp ebx, 0x50002
ja 0x14006bd15
jb 0x14006bd53
cmp esi, 0xe5d0086
jb 0x14006bd53
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006bd25
mov dword [rsi], 8
test r15, r15
je 0x14006bd31
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006bd43
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006bd5d
mov rcx, rdi
call fcn.1400743a4
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 0x14006bd93
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bd93
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bd70
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 0x14006bdc0
add rax, 2
sub rcx, 1
jne 0x14006bdb0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006be1d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006be0e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006be0e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006be0e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006bdf0
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 0x14006bec5
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006bec5
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 0x14006bebd
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402bf35c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006bebd
cmp qword [rsp + 0x28], r12
je 0x14006bebd
mov rcx, rbx
call fcn.1400743a4
test rsi, rsi
je 0x14006bea6
mov dword [rsi], 9
test r15, r15
je 0x14006beae
mov dword [r15], r12d
test rdi, rdi
je 0x14006beeb
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006beeb
mov rcx, rbx
call fcn.1400743a4
test r13d, r13d
jne 0x14006beeb
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006bedb
mov dword [rsi], edi
test r15, r15
je 0x14006bee3
mov dword [r15], edi
test rbx, rbx
je 0x14006beeb
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.1402113c0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret