Function at 0x14006dd70
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 [0x14030b930]
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 0x14006f154
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 0x14006de24
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006de24
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006de01
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 0x14006de4f
add rax, 2
sub rcx, 1
jne 0x14006de40
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006deb2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006dea4
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006dea4
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006dea4
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006de83
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 0x14006e00a
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e005
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 0x14006dff9
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006dff9
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006dff9
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40002
ja 0x14006df58
jb 0x14006e003
cmp esi, 0x5f
jb 0x14006e003
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006df68
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006df78
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006df8a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006dfa2
mov r13d, 1
jb 0x14006e003
cmp esi, 0x447
jbe 0x14006e003
test rcx, rcx
je 0x14006dfad
mov dword [rcx], 2
test rax, rax
je 0x14006dfb5
mov dword [rax], r8d
test rbx, rbx
je 0x14006dfbd
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006dfd2
mov r13d, 1
jb 0x14006e003
cmp esi, 0x43
jbe 0x14006e003
mov rsi, rcx
test rcx, rcx
je 0x14006dfe0
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006dfe9
mov dword [rax], edi
test rbx, rbx
je 0x14006dff1
mov word [rbx], dx
mov r13d, 1
jmp 0x14006e005
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e005
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e035
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e035
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e012
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 0x14006e060
add rax, 2
sub rcx, 1
jne 0x14006e050
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e0bd
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e0af
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006e0af
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006e0af
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006e090
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 0x14006e197
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e197
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 0x14006e18b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e18b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e18b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40004
ja 0x14006e153
jb 0x14006e195
cmp esi, 0x46
jb 0x14006e195
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e163
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006e171
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006e183
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006e197
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e197
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e1c3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e1c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e1a0
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 0x14006e1f0
add rax, 2
sub rcx, 1
jne 0x14006e1e0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e24f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e241
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006e241
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006e241
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006e220
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 0x14006e39f
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e39f
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 0x14006e6c0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e6c0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e6c0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40005
ja 0x14006e2f8
jb 0x14006e39d
cmp esi, 0x9b
jb 0x14006e39d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006e308
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006e318
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006e32c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006e344
mov r13d, 1
jb 0x14006e39d
cmp esi, 0x13e
jb 0x14006e397
test rdx, rdx
je 0x14006e34f
mov dword [rdx], 6
test rax, rax
je 0x14006e357
mov dword [rax], r8d
test rcx, rcx
je 0x14006e360
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006e378
mov r13d, 1
jb 0x14006e39d
cmp esi, 0x1b3
jbe 0x14006e397
test rdx, rdx
je 0x14006e383
mov dword [rdx], 6
test rax, rax
je 0x14006e38e
mov dword [rax], 1
test rcx, rcx
je 0x14006e397
mov word [rcx], r9w
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e3d3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e3d3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e3b0
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 0x14006e400
add rax, 2
sub rcx, 1
jne 0x14006e3f0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e45d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e44f
lea r9, str.dplayx.dll
mov r8d, 0x7ffffffe
sub r9, rcx
test r8, r8
je 0x14006e44f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006e44f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006e430
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 0x14006e538
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e538
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 0x14006e6cd
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e6cd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e6cd
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40006
ja 0x14006e4fe
jb 0x14006e536
cmp esi, 0x30206
jb 0x14006e536
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e50e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006e51e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006e530
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 0x14006e563
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e563
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e540
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 0x14006e590
add rax, 2
sub rcx, 1
jne 0x14006e580
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e5ef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e5e1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006e5e1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006e5e1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006e5c0
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 0x14006e6e6
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e6e6
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 0x14006e6da
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e6da
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e6da
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40007
ja 0x14006e688
jb 0x14006e6e4
cmp esi, 0x2bc
jb 0x14006e6e4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e698
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006e6a6
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006e6b8
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006e6e6
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e39f
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e538
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e6e6
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e713
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e713
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e6f0
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 0x14006e740
add rax, 2
sub rcx, 1
jne 0x14006e730
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e79d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e78f
lea r9, str.dinput.dll
mov r8d, 0x7ffffffe
sub r9, rcx
test r8, r8
je 0x14006e78f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006e78f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006e770
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 0x14006e87a
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006e87a
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 0x14006e86e
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006e86e
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006e86e
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x40007
ja 0x14006e836
jb 0x14006e878
cmp esi, 0x2cc
jb 0x14006e878
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e846
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006e854
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006e866
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006e87a
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006e87a
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006e8a5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006e8a5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006e882
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 0x14006e8d0
add rax, 2
sub rcx, 1
jne 0x14006e8c0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006e927
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006e919
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x14006e919
movzx r8d, word [r15 + rcx]
test r8w, r8w
je 0x14006e919
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006e8f8
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 0x14006ea2f
mov ecx, eax
call fcn.140003e28
mov rdi, rax
test rax, rax
je 0x14006ea2d
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 0x14006ea25
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c1604]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ea25
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ea25
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400758a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006e9d4
cmp ebx, 0x40008
ja 0x14006e9ec
jb 0x14006ea2d
cmp esi, 0x190
jae 0x14006e9ec
jmp 0x14006ea2d
cmp ax, 5
jne 0x14006ea2d
cmp ebx, 0x50001
ja 0x14006e9ec
jb 0x14006ea2d
cmp esi, 0x8d20190
jb 0x14006ea2d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006e9fc
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14006ea0b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006ea1d
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x14006ea34
mov rcx, rdi
call fcn.1400758a4
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 0x14006ea63
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ea63
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ea40
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 0x14006ea90
add rax, 2
sub rcx, 1
jne 0x14006ea80
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006eaed
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006eadf
lea r9, str.d3d8.dll
mov r8d, 0x7ffffffe
sub r9, rcx
test r8, r8
je 0x14006eadf
movzx eax, word [rcx + r9]
test ax, ax
je 0x14006eadf
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006eac0
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 0x14006ec71
mov ecx, eax
call fcn.140003e28
mov rdi, rax
test rax, rax
je 0x14006ec6f
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 0x14006ec67
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c1604]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ec67
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ec67
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400758a4
mov ecx, ebx
shr ecx, 0x10
cmp cx, 4
jne 0x14006eba5
cmp ebx, 0x40008
ja 0x14006ebc5
jb 0x14006ec6f
cmp esi, 0x10371
jae 0x14006ebc5
jmp 0x14006ec6f
cmp cx, 5
jne 0x14006ebfc
cmp ebx, 0x50001
ja 0x14006ebc5
jb 0x14006ec6f
cmp esi, 0xa280371
jb 0x14006ec6f
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x14006ebd6
mov dword [r8], 8
test r15, r15
je 0x14006ebe2
mov dword [r15], 1
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14006ebf4
mov eax, 0x20
mov word [rdx], ax
mov r13d, 1
jmp 0x14006ec06
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
cmp cx, 4
jne 0x14006ec20
cmp ebx, 0x40008
ja 0x14006ec3a
jb 0x14006ec6f
cmp esi, 0x10385
jae 0x14006ec3a
jmp 0x14006ec6f
cmp cx, 5
jne 0x14006ec6f
cmp ebx, 0x50001
ja 0x14006ec3a
jb 0x14006ec6f
cmp esi, 0xa280385
ja 0x14006ec3a
jb 0x14006ec6f
test r8, r8
je 0x14006ec46
mov dword [r8], 8
test r15, r15
je 0x14006ec52
mov dword [r15], 1
test rdx, rdx
je 0x14006ec5f
mov eax, 0x61
mov word [rdx], ax
mov r13d, 1
jmp 0x14006ec6f
mov rcx, rdi
call fcn.1400758a4
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006eca3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006eca3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ec80
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 0x14006ecd0
add rax, 2
sub rcx, 1
jne 0x14006ecc0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006ed2f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006ed21
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006ed21
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006ed21
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ed00
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 0x14006ee06
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006ee06
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 0x14006ef70
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006ef70
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006ef70
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400758a4
cmp edi, 0x60003
ja 0x14006edd0
jb 0x14006ee04
cmp esi, 0x10375
jb 0x14006ee04
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006ede0
mov dword [rax], 8
test r15, r15
je 0x14006edec
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006edfe
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 0x14006ee33
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ee33
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ee10
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 0x14006ee60
add rax, 2
sub rcx, 1
jne 0x14006ee50
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006eebf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006eeb1
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x14006eeb1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14006eeb1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006ee90
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 0x14006efd3
mov ecx, eax
call fcn.140003e28
mov rdi, rax
test rax, rax
je 0x14006efd3
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 0x14006efcb
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c1604]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006efcb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006efcb
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400758a4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14006ef7d
cmp ebx, 0x40009
ja 0x14006ef95
jb 0x14006efd3
cmp esi, 0x86
jae 0x14006ef95
jmp 0x14006efd3
mov rcx, rbx
call fcn.1400758a4
jmp 0x14006ee06
cmp ax, 5
jne 0x14006efd3
cmp ebx, 0x50002
ja 0x14006ef95
jb 0x14006efd3
cmp esi, 0xe5d0086
jb 0x14006efd3
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14006efa5
mov dword [rsi], 8
test r15, r15
je 0x14006efb1
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14006efc3
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x14006efdd
mov rcx, rdi
call fcn.1400758a4
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 0x14006f013
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006f013
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006eff0
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 0x14006f040
add rax, 2
sub rcx, 1
jne 0x14006f030
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14006f09d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14006f08e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14006f08e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14006f08e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x14006f070
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 0x14006f145
mov ecx, eax
call fcn.140003e28
mov rbx, rax
test rax, rax
je 0x14006f145
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 0x14006f13d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006f13d
cmp qword [rsp + 0x28], r12
je 0x14006f13d
mov rcx, rbx
call fcn.1400758a4
test rsi, rsi
je 0x14006f126
mov dword [rsi], 9
test r15, r15
je 0x14006f12e
mov dword [r15], r12d
test rdi, rdi
je 0x14006f16b
mov eax, 0x20
mov word [rdi], ax
jmp 0x14006f16b
mov rcx, rbx
call fcn.1400758a4
test r13d, r13d
jne 0x14006f16b
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14006f15b
mov dword [rsi], edi
test r15, r15
je 0x14006f163
mov dword [r15], edi
test rbx, rbx
je 0x14006f16b
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140212a70
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret