Function at 0x14006b0a0
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 [0x14030b918]
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 0x14006c484
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 0x14006b154
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b154
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b131
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 0x14006b17f
add rax, 2
sub rcx, 1
jne 0x14006b170
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006b1e2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b1d4
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006b1d4
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b1d4
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b1b3
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 0x14006b33a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b335
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 0x14006b329
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 0x14006b329
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b329
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40002
ja 0x14006b288
jb 0x14006b333
cmp esi, 0x5f
jb 0x14006b333
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006b298
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b2a8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006b2ba
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006b2d2
mov r13d, 1
jb 0x14006b333
cmp esi, 0x447
jbe 0x14006b333
test rcx, rcx
je 0x14006b2dd
mov dword [rcx], 2
test rax, rax
je 0x14006b2e5
mov dword [rax], r8d
test rbx, rbx
je 0x14006b2ed
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006b302
mov r13d, 1
jb 0x14006b333
cmp esi, 0x43
jbe 0x14006b333
mov rsi, rcx
test rcx, rcx
je 0x14006b310
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006b319
mov dword [rax], edi
test rbx, rbx
je 0x14006b321
mov word [rbx], dx
mov r13d, 1
jmp 0x14006b335
mov rcx, rbx
call fcn.140074954
jmp 0x14006b335
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b365
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b365
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b342
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 0x14006b390
add rax, 2
sub rcx, 1
jne 0x14006b380
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b3ed
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b3df
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006b3df
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b3df
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006b3c0
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 0x14006b4c7
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b4c7
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 0x14006b4bb
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 0x14006b4bb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b4bb
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40004
ja 0x14006b483
jb 0x14006b4c5
cmp esi, 0x46
jb 0x14006b4c5
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b493
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b4a1
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b4b3
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006b4c7
mov rcx, rbx
call fcn.140074954
jmp 0x14006b4c7
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006b4f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b4f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b4d0
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 0x14006b520
add rax, 2
sub rcx, 1
jne 0x14006b510
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b57f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b571
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b571
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b571
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b550
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 0x14006b6d1
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b6d1
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 0x14006b9f0
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 0x14006b9f0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b9f0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40005
ja 0x14006b628
jb 0x14006b6cf
cmp esi, 0x9b
jb 0x14006b6cf
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006b638
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006b648
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006b65c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b674
mov r13d, 1
jb 0x14006b6cf
cmp esi, 0x13d
jbe 0x14006b6cf
test rdx, rdx
je 0x14006b67f
mov dword [rdx], 6
test rax, rax
je 0x14006b687
mov dword [rax], r8d
test rcx, rcx
je 0x14006b690
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006b6aa
mov r13d, 1
jb 0x14006b6cf
cmp esi, 0x1b4
ja 0x14006b6aa
jb 0x14006b6cf
test rdx, rdx
je 0x14006b6b5
mov dword [rdx], 6
test rax, rax
je 0x14006b6c0
mov dword [rax], 1
test rcx, rcx
je 0x14006b6c9
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 0x14006b703
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006b703
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006b6e0
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 0x14006b730
add rax, 2
sub rcx, 1
jne 0x14006b720
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006b78d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006b77f
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006b77f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006b77f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006b760
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 0x14006b868
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006b868
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 0x14006b9fd
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 0x14006b9fd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006b9fd
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40006
ja 0x14006b82e
jb 0x14006b866
cmp esi, 0x30206
jb 0x14006b866
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b83e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006b84e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b860
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 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 0x14006b91f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006b911
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006b911
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006b911
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006b8f0
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 0x14006ba16
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ba16
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 0x14006ba0a
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 0x14006ba0a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ba0a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40007
ja 0x14006b9b8
jb 0x14006ba14
cmp esi, 0x2bc
jb 0x14006ba14
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006b9c8
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006b9d6
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006b9e8
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006ba16
mov rcx, rbx
call fcn.140074954
jmp 0x14006b6d1
mov rcx, rbx
call fcn.140074954
jmp 0x14006b868
mov rcx, rbx
call fcn.140074954
jmp 0x14006ba16
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006ba43
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ba43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ba20
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 0x14006ba70
add rax, 2
sub rcx, 1
jne 0x14006ba60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bacd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006babf
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006babf
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006babf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006baa0
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 0x14006bbaa
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006bbaa
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 0x14006bb9e
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 0x14006bb9e
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bb9e
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x40007
ja 0x14006bb66
jb 0x14006bba8
cmp esi, 0x2cc
jb 0x14006bba8
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bb76
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006bb84
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bb96
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006bbaa
mov rcx, rbx
call fcn.140074954
jmp 0x14006bbaa
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006bbd5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bbd5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bbb2
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 0x14006bc00
add rax, 2
sub rcx, 1
jne 0x14006bbf0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006bc57
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006bc49
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006bc49
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x14006bc49
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006bc28
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 0x14006bd5f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bd5d
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 0x14006bd55
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 0x14006bd55
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bd55
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074954
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bd04
cmp ebx, 0x40008
ja 0x14006bd1c
jb 0x14006bd5d
cmp esi, 0x190
jae 0x14006bd1c
jmp 0x14006bd5d
cmp ax, 5
jne 0x14006bd5d
cmp ebx, 0x50001
ja 0x14006bd1c
jb 0x14006bd5d
cmp esi, 0x8d20190
jb 0x14006bd5d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006bd2c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006bd3b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006bd4d
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006bd64
mov rcx, rdi
call fcn.140074954
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 0x14006bd93
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bd93
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bd70
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 0x14006bdc0
add rax, 2
sub rcx, 1
jne 0x14006bdb0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006be1d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14006be0f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14006be0f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006be0f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x14006bdf0
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 0x14006bf9f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006bf9d
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 0x14006bf95
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 0x14006bf95
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006bf95
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074954
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006bed5
cmp ebx, 0x40008
ja 0x14006bef5
jb 0x14006bf9d
cmp esi, 0x10371
jae 0x14006bef5
jmp 0x14006bf9d
cmp ax, 5
jne 0x14006bf45
cmp ebx, 0x50001
ja 0x14006bef5
jb 0x14006bf9d
cmp esi, 0xa280371
jb 0x14006bf9d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006bf05
mov dword [rdx], 8
test r15, r15
je 0x14006bf11
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14006bf25
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x14006bf4f
cmp ebx, 0x40008
ja 0x14006bf69
jb 0x14006bf9d
cmp esi, 0x10385
jae 0x14006bf69
jmp 0x14006bf9d
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14006bf9d
cmp ebx, 0x50001
ja 0x14006bf69
jb 0x14006bf9d
cmp esi, 0xa280385
ja 0x14006bf69
jb 0x14006bf9d
test rdx, rdx
je 0x14006bf74
mov dword [rdx], 8
test r15, r15
je 0x14006bf80
mov dword [r15], 1
test rcx, rcx
je 0x14006bf8d
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14006bf9d
mov rcx, rdi
call fcn.140074954
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006bfd3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006bfd3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006bfb0
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 0x14006c000
add rax, 2
sub rcx, 1
jne 0x14006bff0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006c05f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006c051
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006c051
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006c051
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006c030
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 0x14006c136
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006c136
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 0x14006c2a0
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 0x14006c2a0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c2a0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140074954
cmp edi, 0x60003
ja 0x14006c100
jb 0x14006c134
cmp esi, 0x10375
jb 0x14006c134
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006c110
mov dword [rax], 8
test r15, r15
je 0x14006c11c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006c12e
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 0x14006c163
movzx eax, word [rcx + r12]
test ax, ax
je 0x14006c163
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006c140
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 0x14006c190
add rax, 2
sub rcx, 1
jne 0x14006c180
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006c1ef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006c1e1
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006c1e1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006c1e1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006c1c0
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 0x14006c303
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14006c303
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 0x14006c2fb
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 0x14006c2fb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006c2fb
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140074954
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006c2ad
cmp ebx, 0x40009
ja 0x14006c2c5
jb 0x14006c303
cmp esi, 0x86
jae 0x14006c2c5
jmp 0x14006c303
mov rcx, rbx
call fcn.140074954
jmp 0x14006c136
cmp ax, 5
jne 0x14006c303
cmp ebx, 0x50002
ja 0x14006c2c5
jb 0x14006c303
cmp esi, 0xe5d0086
jb 0x14006c303
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006c2d5
mov dword [rsi], 8
test r15, r15
je 0x14006c2e1
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006c2f3
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006c30d
mov rcx, rdi
call fcn.140074954
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 0x14006c343
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006c343
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006c320
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 0x14006c370
add rax, 2
sub rcx, 1
jne 0x14006c360
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006c3cd
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006c3be
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006c3be
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006c3be
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006c3a0
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 0x14006c475
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006c475
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 0x14006c46d
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 0x14006c46d
cmp qword [rsp + 0x28], r12
je 0x14006c46d
mov rcx, rbx
call fcn.140074954
test rsi, rsi
je 0x14006c456
mov dword [rsi], 9
test r15, r15
je 0x14006c45e
mov dword [r15], r12d
test rdi, rdi
je 0x14006c49b
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006c49b
mov rcx, rbx
call fcn.140074954
test r13d, r13d
jne 0x14006c49b
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006c48b
mov dword [rsi], edi
test r15, r15
je 0x14006c493
mov dword [r15], edi
test rbx, rbx
je 0x14006c49b
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140211970
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret