Function at 0x1400789f0
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 [0x14031a940]
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 0x140079db3
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 0x140078aa4
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078aa4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078a81
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 0x140078acf
add rax, 2
sub rcx, 1
jne 0x140078ac0
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x140078b32
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078b24
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x140078b24
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078b24
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078b03
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 0x140078c8a
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140078c85
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 0x140078c79
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078c79
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078c79
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40002
ja 0x140078bd8
jb 0x140078c83
cmp esi, 0x5f
jb 0x140078c83
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140078be8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078bf8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x140078c0a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x140078c22
mov r13d, 1
jb 0x140078c83
cmp esi, 0x447
jbe 0x140078c83
test rcx, rcx
je 0x140078c2d
mov dword [rcx], 2
test rax, rax
je 0x140078c35
mov dword [rax], r8d
test rbx, rbx
je 0x140078c3d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x140078c52
mov r13d, 1
jb 0x140078c83
cmp esi, 0x43
jbe 0x140078c83
mov rsi, rcx
test rcx, rcx
je 0x140078c60
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x140078c69
mov dword [rax], edi
test rbx, rbx
je 0x140078c71
mov word [rbx], dx
mov r13d, 1
jmp 0x140078c85
mov rcx, rbx
call fcn.1400041d4
jmp 0x140078c85
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078cb5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078cb5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078c92
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 0x140078ce0
add rax, 2
sub rcx, 1
jne 0x140078cd0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078d3d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078d2f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x140078d2f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x140078d2f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140078d10
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 0x140078e10
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140078e10
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 0x140078e04
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078e04
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078e04
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40004
ja 0x140078dcf
jb 0x140078e0e
cmp esi, 0x46
jb 0x140078e0e
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078ddf
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078ded
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078dfc
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078e10
mov rcx, rbx
call fcn.1400041d4
jmp 0x140078e10
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078e43
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078e43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078e20
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 0x140078e70
add rax, 2
sub rcx, 1
jne 0x140078e60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078ecf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078ec1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078ec1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078ec1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078ea0
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 0x140079021
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140079021
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 0x14007933d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007933d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007933d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40005
ja 0x140078f78
jb 0x14007901f
cmp esi, 0x9b
jb 0x14007901f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078f88
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078f98
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x140078fac
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078fc4
mov r13d, 1
jb 0x14007901f
cmp esi, 0x13d
jbe 0x14007901f
test rdx, rdx
je 0x140078fcf
mov dword [rdx], 6
test rax, rax
je 0x140078fd7
mov dword [rax], r8d
test rcx, rcx
je 0x140078fe0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078ffa
mov r13d, 1
jb 0x14007901f
cmp esi, 0x1b4
ja 0x140078ffa
jb 0x14007901f
test rdx, rdx
je 0x140079005
mov dword [rdx], 6
test rax, rax
je 0x140079010
mov dword [rax], 1
test rcx, rcx
je 0x140079019
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 0x140079053
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079053
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079030
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 0x140079080
add rax, 2
sub rcx, 1
jne 0x140079070
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400790dd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x1400790cf
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x1400790cf
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400790cf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x1400790b0
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 0x1400791b5
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x1400791b5
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 0x14007934a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007934a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007934a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40006
ja 0x14007917e
jb 0x1400791b3
cmp esi, 0x30206
jb 0x1400791b3
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007918e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14007919e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400791ad
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 0x1400791e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400791e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400791c0
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 0x140079210
add rax, 2
sub rcx, 1
jne 0x140079200
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007926f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079261
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140079261
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140079261
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079240
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 0x140079363
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140079363
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 0x140079357
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079357
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079357
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40007
ja 0x140079308
jb 0x140079361
cmp esi, 0x2bc
jb 0x140079361
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079318
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140079326
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140079335
mov word [rax], 0x20
mov r13d, 1
jmp 0x140079363
mov rcx, rbx
call fcn.1400041d4
jmp 0x140079021
mov rcx, rbx
call fcn.1400041d4
jmp 0x1400791b5
mov rcx, rbx
call fcn.1400041d4
jmp 0x140079363
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079393
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079393
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079370
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 0x1400793c0
add rax, 2
sub rcx, 1
jne 0x1400793b0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007941d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007940f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007940f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007940f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x1400793f0
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 0x1400794f7
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x1400794f7
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 0x1400794eb
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400794eb
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400794eb
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x40007
ja 0x1400794b6
jb 0x1400794f5
cmp esi, 0x2cc
jb 0x1400794f5
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400794c6
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x1400794d4
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400794e3
mov word [rax], 0x61
mov r13d, 1
jmp 0x1400794f7
mov rcx, rbx
call fcn.1400041d4
jmp 0x1400794f7
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079523
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079523
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079500
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 0x140079550
add rax, 2
sub rcx, 1
jne 0x140079540
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400795a7
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079599
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x140079599
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x140079599
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079578
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 0x1400796ac
mov ecx, eax
call fcn.140003f10
mov rdi, rax
test rax, rax
je 0x1400796aa
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 0x1400796a2
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1cc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400796a2
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400796a2
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400041d4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079654
cmp ebx, 0x40008
ja 0x14007966c
jb 0x1400796aa
cmp esi, 0x190
jae 0x14007966c
jmp 0x1400796aa
cmp ax, 5
jne 0x1400796aa
cmp ebx, 0x50001
ja 0x14007966c
jb 0x1400796aa
cmp esi, 0x8d20190
jb 0x1400796aa
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007967c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x14007968b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007969a
mov word [rax], 0x20
mov r13d, 1
jmp 0x1400796b1
mov rcx, rdi
call fcn.1400041d4
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 0x1400796e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400796e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400796c0
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 0x140079710
add rax, 2
sub rcx, 1
jne 0x140079700
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007976d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007975f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007975f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007975f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140079740
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 0x1400798e7
mov ecx, eax
call fcn.140003f10
mov rdi, rax
test rax, rax
je 0x1400798e5
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 0x1400798dd
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1cc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400798dd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400798dd
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400041d4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079825
cmp ebx, 0x40008
ja 0x140079845
jb 0x1400798e5
cmp esi, 0x10371
jae 0x140079845
jmp 0x1400798e5
cmp ax, 5
jne 0x140079890
cmp ebx, 0x50001
ja 0x140079845
jb 0x1400798e5
cmp esi, 0xa280371
jb 0x1400798e5
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140079855
mov dword [rdx], 8
test r15, r15
je 0x140079861
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140079870
mov word [rcx], 0x20
mov r13d, 1
cmp ax, 4
jne 0x14007989a
cmp ebx, 0x40008
ja 0x1400798b4
jb 0x1400798e5
cmp esi, 0x10385
jae 0x1400798b4
jmp 0x1400798e5
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x1400798e5
cmp ebx, 0x50001
ja 0x1400798b4
jb 0x1400798e5
cmp esi, 0xa280385
ja 0x1400798b4
jb 0x1400798e5
test rdx, rdx
je 0x1400798bf
mov dword [rdx], 8
test r15, r15
je 0x1400798cb
mov dword [r15], 1
test rcx, rcx
je 0x1400798d5
mov word [rcx], 0x61
mov r13d, 1
jmp 0x1400798e5
mov rcx, rdi
call fcn.1400041d4
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140079913
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079913
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400798f0
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 0x140079940
add rax, 2
sub rcx, 1
jne 0x140079930
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007999f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079991
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079991
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079991
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079970
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 0x140079a73
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140079a73
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 0x140079be0
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079be0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079be0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.1400041d4
cmp edi, 0x60003
ja 0x140079a40
jb 0x140079a71
cmp esi, 0x10375
jb 0x140079a71
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079a50
mov dword [rax], 8
test r15, r15
je 0x140079a5c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140079a6b
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 0x140079aa3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079aa3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079a80
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 0x140079ad0
add rax, 2
sub rcx, 1
jne 0x140079ac0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140079b2f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079b21
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079b21
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079b21
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079b00
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 0x140079c40
mov ecx, eax
call fcn.140003f10
mov rdi, rax
test rax, rax
je 0x140079c40
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 0x140079c38
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1cc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079c38
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079c38
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.1400041d4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140079bed
cmp ebx, 0x40009
ja 0x140079c05
jb 0x140079c40
cmp esi, 0x86
jae 0x140079c05
jmp 0x140079c40
mov rcx, rbx
call fcn.1400041d4
jmp 0x140079a73
cmp ax, 5
jne 0x140079c40
cmp ebx, 0x50002
ja 0x140079c05
jb 0x140079c40
cmp esi, 0xe5d0086
jb 0x140079c40
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140079c15
mov dword [rsi], 8
test r15, r15
je 0x140079c21
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140079c30
mov word [rdi], 0x20
mov r13d, 1
jmp 0x140079c4a
mov rcx, rdi
call fcn.1400041d4
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 0x140079c75
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079c75
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079c52
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 0x140079ca0
add rax, 2
sub rcx, 1
jne 0x140079c90
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x140079cfd
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x140079cee
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x140079cee
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140079cee
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x140079cd0
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 0x140079da4
mov ecx, eax
call fcn.140003f10
mov rbx, rax
test rax, rax
je 0x140079da4
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 0x140079d9c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1cc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079d9c
cmp qword [rsp + 0x28], r12
je 0x140079d9c
mov rcx, rbx
call fcn.1400041d4
test rsi, rsi
je 0x140079d86
mov dword [rsi], 9
test r15, r15
je 0x140079d8e
mov dword [r15], r12d
xor eax, eax
test rdi, rdi
je 0x140079dcc
mov word [rdi], 0x20
jmp 0x140079dcc
mov rcx, rbx
call fcn.1400041d4
test r13d, r13d
jne 0x140079dca
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x140079dba
mov dword [rsi], edi
test r15, r15
je 0x140079dc2
mov dword [r15], edi
test rbx, rbx
je 0x140079dca
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140220e50
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret