Function at 0x1400782d0
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 [0x14031b940]
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 0x140079693
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 0x140078384
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078384
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078361
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 0x1400783af
add rax, 2
sub rcx, 1
jne 0x1400783a0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x140078412
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078404
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x140078404
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078404
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400783e3
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 0x14007856a
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078565
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 0x140078559
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078559
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078559
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40002
ja 0x1400784b8
jb 0x140078563
cmp esi, 0x5f
jb 0x140078563
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400784c8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x1400784d8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x1400784ea
mov word [rbx], dx
cmp edi, 0x40003
ja 0x140078502
mov r13d, 1
jb 0x140078563
cmp esi, 0x447
jbe 0x140078563
test rcx, rcx
je 0x14007850d
mov dword [rcx], 2
test rax, rax
je 0x140078515
mov dword [rax], r8d
test rbx, rbx
je 0x14007851d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x140078532
mov r13d, 1
jb 0x140078563
cmp esi, 0x43
jbe 0x140078563
mov rsi, rcx
test rcx, rcx
je 0x140078540
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x140078549
mov dword [rax], edi
test rbx, rbx
je 0x140078551
mov word [rbx], dx
mov r13d, 1
jmp 0x140078565
mov rcx, rbx
call fcn.140003e94
jmp 0x140078565
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078595
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078595
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078572
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 0x1400785c0
add rax, 2
sub rcx, 1
jne 0x1400785b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007861d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14007860f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14007860f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007860f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x1400785f0
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 0x1400786f0
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x1400786f0
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 0x1400786e4
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400786e4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400786e4
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40004
ja 0x1400786af
jb 0x1400786ee
cmp esi, 0x46
jb 0x1400786ee
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400786bf
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x1400786cd
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400786dc
mov word [rax], 0x61
mov r13d, 1
jmp 0x1400786f0
mov rcx, rbx
call fcn.140003e94
jmp 0x1400786f0
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078723
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078723
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078700
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 0x140078750
add rax, 2
sub rcx, 1
jne 0x140078740
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400787af
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400787a1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x1400787a1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400787a1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078780
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 0x140078901
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078901
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 0x140078c1d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078c1d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078c1d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40005
ja 0x140078858
jb 0x1400788ff
cmp esi, 0x9b
jb 0x1400788ff
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078868
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078878
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14007888c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x1400788a4
mov r13d, 1
jb 0x1400788ff
cmp esi, 0x13d
jbe 0x1400788ff
test rdx, rdx
je 0x1400788af
mov dword [rdx], 6
test rax, rax
je 0x1400788b7
mov dword [rax], r8d
test rcx, rcx
je 0x1400788c0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x1400788da
mov r13d, 1
jb 0x1400788ff
cmp esi, 0x1b4
ja 0x1400788da
jb 0x1400788ff
test rdx, rdx
je 0x1400788e5
mov dword [rdx], 6
test rax, rax
je 0x1400788f0
mov dword [rax], 1
test rcx, rcx
je 0x1400788f9
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 0x140078933
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078933
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078910
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 0x140078960
add rax, 2
sub rcx, 1
jne 0x140078950
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400789bd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x1400789af
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x1400789af
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400789af
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078990
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 0x140078a95
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078a95
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 0x140078c2a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078c2a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078c2a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40006
ja 0x140078a5e
jb 0x140078a93
cmp esi, 0x30206
jb 0x140078a93
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078a6e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140078a7e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078a8d
mov word [rax], 0x61
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078ac3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078ac3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078aa0
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 0x140078af0
add rax, 2
sub rcx, 1
jne 0x140078ae0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078b4f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078b41
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078b41
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078b41
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078b20
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 0x140078c43
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078c43
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 0x140078c37
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078c37
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078c37
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40007
ja 0x140078be8
jb 0x140078c41
cmp esi, 0x2bc
jb 0x140078c41
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078bf8
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078c06
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078c15
mov word [rax], 0x20
mov r13d, 1
jmp 0x140078c43
mov rcx, rbx
call fcn.140003e94
jmp 0x140078901
mov rcx, rbx
call fcn.140003e94
jmp 0x140078a95
mov rcx, rbx
call fcn.140003e94
jmp 0x140078c43
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078c73
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078c73
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078c50
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 0x140078ca0
add rax, 2
sub rcx, 1
jne 0x140078c90
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078cfd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140078cef
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x140078cef
movzx eax, word [rcx + r9]
test ax, ax
je 0x140078cef
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078cd0
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 0x140078dd7
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140078dd7
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 0x140078dcb
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078dcb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078dcb
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x40007
ja 0x140078d96
jb 0x140078dd5
cmp esi, 0x2cc
jb 0x140078dd5
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078da6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078db4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078dc3
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078dd7
mov rcx, rbx
call fcn.140003e94
jmp 0x140078dd7
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078e03
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078e03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078de0
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 0x140078e30
add rax, 2
sub rcx, 1
jne 0x140078e20
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078e87
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078e79
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x140078e79
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x140078e79
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078e58
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 0x140078f8c
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x140078f8a
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 0x140078f82
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078f82
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078f82
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140078f34
cmp ebx, 0x40008
ja 0x140078f4c
jb 0x140078f8a
cmp esi, 0x190
jae 0x140078f4c
jmp 0x140078f8a
cmp ax, 5
jne 0x140078f8a
cmp ebx, 0x50001
ja 0x140078f4c
jb 0x140078f8a
cmp esi, 0x8d20190
jb 0x140078f8a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078f5c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x140078f6b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078f7a
mov word [rax], 0x20
mov r13d, 1
jmp 0x140078f91
mov rcx, rdi
call fcn.140003e94
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 0x140078fc3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078fc3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078fa0
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 0x140078ff0
add rax, 2
sub rcx, 1
jne 0x140078fe0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007904d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007903f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007903f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007903f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140079020
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 0x1400791c7
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x1400791c5
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 0x1400791bd
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400791bd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400791bd
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079105
cmp ebx, 0x40008
ja 0x140079125
jb 0x1400791c5
cmp esi, 0x10371
jae 0x140079125
jmp 0x1400791c5
cmp ax, 5
jne 0x140079170
cmp ebx, 0x50001
ja 0x140079125
jb 0x1400791c5
cmp esi, 0xa280371
jb 0x1400791c5
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140079135
mov dword [rdx], 8
test r15, r15
je 0x140079141
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140079150
mov word [rcx], 0x20
mov r13d, 1
cmp ax, 4
jne 0x14007917a
cmp ebx, 0x40008
ja 0x140079194
jb 0x1400791c5
cmp esi, 0x10385
jae 0x140079194
jmp 0x1400791c5
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x1400791c5
cmp ebx, 0x50001
ja 0x140079194
jb 0x1400791c5
cmp esi, 0xa280385
ja 0x140079194
jb 0x1400791c5
test rdx, rdx
je 0x14007919f
mov dword [rdx], 8
test r15, r15
je 0x1400791ab
mov dword [r15], 1
test rcx, rcx
je 0x1400791b5
mov word [rcx], 0x61
mov r13d, 1
jmp 0x1400791c5
mov rcx, rdi
call fcn.140003e94
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400791f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400791f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400791d0
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 0x140079220
add rax, 2
sub rcx, 1
jne 0x140079210
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007927f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079271
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079271
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079271
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079250
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 0x140079353
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140079353
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 0x1400794c0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400794c0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400794c0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140003e94
cmp edi, 0x60003
ja 0x140079320
jb 0x140079351
cmp esi, 0x10375
jb 0x140079351
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079330
mov dword [rax], 8
test r15, r15
je 0x14007933c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007934b
mov word [rax], 0x62
mov r13d, 1
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079383
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079383
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079360
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 0x1400793b0
add rax, 2
sub rcx, 1
jne 0x1400793a0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007940f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079401
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079401
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079401
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400793e0
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 0x140079520
mov ecx, eax
call fcn.140003bd0
mov rdi, rax
test rax, rax
je 0x140079520
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 0x140079518
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402cf22c]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079518
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079518
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140003e94
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400794cd
cmp ebx, 0x40009
ja 0x1400794e5
jb 0x140079520
cmp esi, 0x86
jae 0x1400794e5
jmp 0x140079520
mov rcx, rbx
call fcn.140003e94
jmp 0x140079353
cmp ax, 5
jne 0x140079520
cmp ebx, 0x50002
ja 0x1400794e5
jb 0x140079520
cmp esi, 0xe5d0086
jb 0x140079520
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400794f5
mov dword [rsi], 8
test r15, r15
je 0x140079501
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140079510
mov word [rdi], 0x20
mov r13d, 1
jmp 0x14007952a
mov rcx, rdi
call fcn.140003e94
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079555
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079555
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079532
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
cmp word [rax], r12w
je 0x140079580
add rax, 2
sub rcx, 1
jne 0x140079570
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x1400795dd
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x1400795ce
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x1400795ce
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400795ce
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x1400795b0
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 0x140079684
mov ecx, eax
call fcn.140003bd0
mov rbx, rax
test rax, rax
je 0x140079684
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 0x14007967c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007967c
cmp qword [rsp + 0x28], r12
je 0x14007967c
mov rcx, rbx
call fcn.140003e94
test rsi, rsi
je 0x140079666
mov dword [rsi], 9
test r15, r15
je 0x14007966e
mov dword [r15], r12d
xor eax, eax
test rdi, rdi
je 0x1400796ac
mov word [rdi], 0x20
jmp 0x1400796ac
mov rcx, rbx
call fcn.140003e94
test r13d, r13d
jne 0x1400796aa
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14007969a
mov dword [rsi], edi
test r15, r15
je 0x1400796a2
mov dword [r15], edi
test rbx, rbx
je 0x1400796aa
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140220ab0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret