Function at 0x14006af50
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 0x14006c334
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 0x14006b004
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b004
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006afe1
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 0x14006b02f
add rax, 2
sub rcx, 1
jne 0x14006b020
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006b092
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b084
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006b084
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b084
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b063
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 0x14006b1ea
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b1e5
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 0x14006b1d9
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 0x14006b1d9
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b1d9
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40002
ja 0x14006b138
jb 0x14006b1e3
cmp esi, 0x5f
jb 0x14006b1e3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006b148
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b158
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006b16a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006b182
mov r13d, 1
jb 0x14006b1e3
cmp esi, 0x447
jbe 0x14006b1e3
test rcx, rcx
je 0x14006b18d
mov dword [rcx], 2
test rax, rax
je 0x14006b195
mov dword [rax], r8d
test rbx, rbx
je 0x14006b19d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006b1b2
mov r13d, 1
jb 0x14006b1e3
cmp esi, 0x43
jbe 0x14006b1e3
mov rsi, rcx
test rcx, rcx
je 0x14006b1c0
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006b1c9
mov dword [rax], edi
test rbx, rbx
je 0x14006b1d1
mov word [rbx], dx
mov r13d, 1
jmp 0x14006b1e5
mov rcx, rbx
call fcn.140074804
jmp 0x14006b1e5
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b215
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b215
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b1f2
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 0x14006b240
add rax, 2
sub rcx, 1
jne 0x14006b230
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b29d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b28f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006b28f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b28f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006b270
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 0x14006b377
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b377
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 0x14006b36b
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 0x14006b36b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b36b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40004
ja 0x14006b333
jb 0x14006b375
cmp esi, 0x46
jb 0x14006b375
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b343
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b351
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b363
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006b377
mov rcx, rbx
call fcn.140074804
jmp 0x14006b377
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b3a3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b3a3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b380
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 0x14006b3d0
add rax, 2
sub rcx, 1
jne 0x14006b3c0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b42f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b421
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b421
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b421
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b400
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 0x14006b581
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b581
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 0x14006b8a0
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 0x14006b8a0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b8a0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40005
ja 0x14006b4d8
jb 0x14006b57f
cmp esi, 0x9b
jb 0x14006b57f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006b4e8
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b4f8
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006b50c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b524
mov r13d, 1
jb 0x14006b57f
cmp esi, 0x13d
jbe 0x14006b57f
test rdx, rdx
je 0x14006b52f
mov dword [rdx], 6
test rax, rax
je 0x14006b537
mov dword [rax], r8d
test rcx, rcx
je 0x14006b540
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b55a
mov r13d, 1
jb 0x14006b57f
cmp esi, 0x1b4
ja 0x14006b55a
jb 0x14006b57f
test rdx, rdx
je 0x14006b565
mov dword [rdx], 6
test rax, rax
je 0x14006b570
mov dword [rax], 1
test rcx, rcx
je 0x14006b579
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 0x14006b5b3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b5b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b590
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 0x14006b5e0
add rax, 2
sub rcx, 1
jne 0x14006b5d0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b63d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b62f
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b62f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b62f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b610
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 0x14006b718
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b718
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 0x14006b8ad
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 0x14006b8ad
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b8ad
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40006
ja 0x14006b6de
jb 0x14006b716
cmp esi, 0x30206
jb 0x14006b716
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b6ee
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006b6fe
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b710
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 0x14006b743
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b743
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b720
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 0x14006b770
add rax, 2
sub rcx, 1
jne 0x14006b760
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b7cf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b7c1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b7c1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b7c1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b7a0
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 0x14006b8c6
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b8c6
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 0x14006b8ba
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 0x14006b8ba
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b8ba
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40007
ja 0x14006b868
jb 0x14006b8c4
cmp esi, 0x2bc
jb 0x14006b8c4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b878
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b886
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b898
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006b8c6
mov rcx, rbx
call fcn.140074804
jmp 0x14006b581
mov rcx, rbx
call fcn.140074804
jmp 0x14006b718
mov rcx, rbx
call fcn.140074804
jmp 0x14006b8c6
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b8f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b8f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b8d0
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 0x14006b920
add rax, 2
sub rcx, 1
jne 0x14006b910
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b97d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b96f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b96f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b96f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b950
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 0x14006ba5a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ba5a
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 0x14006ba4e
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 0x14006ba4e
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ba4e
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x40007
ja 0x14006ba16
jb 0x14006ba58
cmp esi, 0x2cc
jb 0x14006ba58
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006ba26
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006ba34
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006ba46
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006ba5a
mov rcx, rbx
call fcn.140074804
jmp 0x14006ba5a
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ba85
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ba85
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ba62
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 0x14006bab0
add rax, 2
sub rcx, 1
jne 0x14006baa0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bb07
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006baf9
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006baf9
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x14006baf9
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006bad8
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 0x14006bc0f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bc0d
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 0x14006bc05
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 0x14006bc05
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bc05
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074804
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bbb4
cmp ebx, 0x40008
ja 0x14006bbcc
jb 0x14006bc0d
cmp esi, 0x190
jae 0x14006bbcc
jmp 0x14006bc0d
cmp ax, 5
jne 0x14006bc0d
cmp ebx, 0x50001
ja 0x14006bbcc
jb 0x14006bc0d
cmp esi, 0x8d20190
jb 0x14006bc0d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bbdc
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006bbeb
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bbfd
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006bc14
mov rcx, rdi
call fcn.140074804
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 0x14006bc43
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bc43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bc20
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 0x14006bc70
add rax, 2
sub rcx, 1
jne 0x14006bc60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bccd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006bcbf
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006bcbf
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006bcbf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006bca0
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 0x14006be4f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006be4d
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 0x14006be45
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 0x14006be45
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006be45
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074804
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bd85
cmp ebx, 0x40008
ja 0x14006bda5
jb 0x14006be4d
cmp esi, 0x10371
jae 0x14006bda5
jmp 0x14006be4d
cmp ax, 5
jne 0x14006bdf5
cmp ebx, 0x50001
ja 0x14006bda5
jb 0x14006be4d
cmp esi, 0xa280371
jb 0x14006be4d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006bdb5
mov dword [rdx], 8
test r15, r15
je 0x14006bdc1
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14006bdd5
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x14006bdff
cmp ebx, 0x40008
ja 0x14006be19
jb 0x14006be4d
cmp esi, 0x10385
jae 0x14006be19
jmp 0x14006be4d
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14006be4d
cmp ebx, 0x50001
ja 0x14006be19
jb 0x14006be4d
cmp esi, 0xa280385
ja 0x14006be19
jb 0x14006be4d
test rdx, rdx
je 0x14006be24
mov dword [rdx], 8
test r15, r15
je 0x14006be30
mov dword [r15], 1
test rcx, rcx
je 0x14006be3d
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14006be4d
mov rcx, rdi
call fcn.140074804
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006be83
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006be83
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006be60
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 0x14006beb0
add rax, 2
sub rcx, 1
jne 0x14006bea0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bf0f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006bf01
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006bf01
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006bf01
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006bee0
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 0x14006bfe6
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006bfe6
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 0x14006c150
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 0x14006c150
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c150
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074804
cmp edi, 0x60003
ja 0x14006bfb0
jb 0x14006bfe4
cmp esi, 0x10375
jb 0x14006bfe4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bfc0
mov dword [rax], 8
test r15, r15
je 0x14006bfcc
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bfde
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 0x14006c013
movzx eax, word [rcx + r12]
test ax, ax
je 0x14006c013
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bff0
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 0x14006c040
add rax, 2
sub rcx, 1
jne 0x14006c030
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006c09f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006c091
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006c091
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006c091
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006c070
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 0x14006c1b3
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006c1b3
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 0x14006c1ab
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 0x14006c1ab
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c1ab
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074804
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006c15d
cmp ebx, 0x40009
ja 0x14006c175
jb 0x14006c1b3
cmp esi, 0x86
jae 0x14006c175
jmp 0x14006c1b3
mov rcx, rbx
call fcn.140074804
jmp 0x14006bfe6
cmp ax, 5
jne 0x14006c1b3
cmp ebx, 0x50002
ja 0x14006c175
jb 0x14006c1b3
cmp esi, 0xe5d0086
jb 0x14006c1b3
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006c185
mov dword [rsi], 8
test r15, r15
je 0x14006c191
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006c1a3
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006c1bd
mov rcx, rdi
call fcn.140074804
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 0x14006c1f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006c1f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006c1d0
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 0x14006c220
add rax, 2
sub rcx, 1
jne 0x14006c210
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006c27d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006c26e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006c26e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006c26e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006c250
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 0x14006c325
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006c325
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 0x14006c31d
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 0x14006c31d
cmp qword [rsp + 0x28], r12
je 0x14006c31d
mov rcx, rbx
call fcn.140074804
test rsi, rsi
je 0x14006c306
mov dword [rsi], 9
test r15, r15
je 0x14006c30e
mov dword [r15], r12d
test rdi, rdi
je 0x14006c34b
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006c34b
mov rcx, rbx
call fcn.140074804
test r13d, r13d
jne 0x14006c34b
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006c33b
mov dword [rsi], edi
test r15, r15
je 0x14006c343
mov dword [r15], edi
test rbx, rbx
je 0x14006c34b
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140211820
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret