Function at 0x1400780b0
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 0x140079473
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 0x140078164
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078164
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078141
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 0x14007818f
add rax, 2
sub rcx, 1
jne 0x140078180
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x1400781f2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400781e4
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x1400781e4
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400781e4
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400781c3
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 0x14007834a
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078345
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 0x140078339
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 0x140078339
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078339
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40002
ja 0x140078298
jb 0x140078343
cmp esi, 0x5f
jb 0x140078343
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400782a8
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x1400782b8
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x1400782ca
mov word [rbx], dx
cmp edi, 0x40003
ja 0x1400782e2
mov r13d, 1
jb 0x140078343
cmp esi, 0x447
jbe 0x140078343
test rcx, rcx
je 0x1400782ed
mov dword [rcx], 2
test rax, rax
je 0x1400782f5
mov dword [rax], r8d
test rbx, rbx
je 0x1400782fd
mov word [rbx], dx
cmp edi, 0x40004
ja 0x140078312
mov r13d, 1
jb 0x140078343
cmp esi, 0x43
jbe 0x140078343
mov rsi, rcx
test rcx, rcx
je 0x140078320
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x140078329
mov dword [rax], edi
test rbx, rbx
je 0x140078331
mov word [rbx], dx
mov r13d, 1
jmp 0x140078345
mov rcx, rbx
call fcn.140004144
jmp 0x140078345
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078375
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078375
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078352
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 0x1400783a0
add rax, 2
sub rcx, 1
jne 0x140078390
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400783fd
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400783ef
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x1400783ef
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400783ef
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x1400783d0
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 0x1400784d0
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x1400784d0
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 0x1400784c4
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 0x1400784c4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400784c4
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40004
ja 0x14007848f
jb 0x1400784ce
cmp esi, 0x46
jb 0x1400784ce
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007849f
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x1400784ad
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400784bc
mov word [rax], 0x61
mov r13d, 1
jmp 0x1400784d0
mov rcx, rbx
call fcn.140004144
jmp 0x1400784d0
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078503
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078503
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400784e0
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 0x140078530
add rax, 2
sub rcx, 1
jne 0x140078520
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007858f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078581
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078581
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078581
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078560
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 0x1400786e1
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x1400786e1
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 0x1400789fd
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 0x1400789fd
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400789fd
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40005
ja 0x140078638
jb 0x1400786df
cmp esi, 0x9b
jb 0x1400786df
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078648
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078658
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14007866c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078684
mov r13d, 1
jb 0x1400786df
cmp esi, 0x13d
jbe 0x1400786df
test rdx, rdx
je 0x14007868f
mov dword [rdx], 6
test rax, rax
je 0x140078697
mov dword [rax], r8d
test rcx, rcx
je 0x1400786a0
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x1400786ba
mov r13d, 1
jb 0x1400786df
cmp esi, 0x1b4
ja 0x1400786ba
jb 0x1400786df
test rdx, rdx
je 0x1400786c5
mov dword [rdx], 6
test rax, rax
je 0x1400786d0
mov dword [rax], 1
test rcx, rcx
je 0x1400786d9
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 0x140078713
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078713
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400786f0
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 0x140078740
add rax, 2
sub rcx, 1
jne 0x140078730
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007879d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007878f
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007878f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007878f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078770
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 0x140078875
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078875
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 0x140078a0a
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 0x140078a0a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078a0a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40006
ja 0x14007883e
jb 0x140078873
cmp esi, 0x30206
jb 0x140078873
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007884e
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14007885e
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007886d
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 0x1400788a3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400788a3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078880
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 0x1400788d0
add rax, 2
sub rcx, 1
jne 0x1400788c0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007892f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078921
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078921
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078921
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078900
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 0x140078a23
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078a23
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 0x140078a17
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 0x140078a17
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078a17
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40007
ja 0x1400789c8
jb 0x140078a21
cmp esi, 0x2bc
jb 0x140078a21
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400789d8
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x1400789e6
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400789f5
mov word [rax], 0x20
mov r13d, 1
jmp 0x140078a23
mov rcx, rbx
call fcn.140004144
jmp 0x1400786e1
mov rcx, rbx
call fcn.140004144
jmp 0x140078875
mov rcx, rbx
call fcn.140004144
jmp 0x140078a23
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078a53
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078a53
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078a30
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 0x140078a80
add rax, 2
sub rcx, 1
jne 0x140078a70
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078add
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140078acf
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x140078acf
movzx eax, word [rcx + r9]
test ax, ax
je 0x140078acf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078ab0
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 0x140078bb7
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078bb7
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 0x140078bab
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 0x140078bab
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078bab
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40007
ja 0x140078b76
jb 0x140078bb5
cmp esi, 0x2cc
jb 0x140078bb5
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078b86
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078b94
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078ba3
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078bb7
mov rcx, rbx
call fcn.140004144
jmp 0x140078bb7
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078be3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078be3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078bc0
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 0x140078c10
add rax, 2
sub rcx, 1
jne 0x140078c00
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078c67
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078c59
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x140078c59
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x140078c59
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078c38
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 0x140078d6c
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x140078d6a
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 0x140078d62
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 0x140078d62
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078d62
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140004144
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140078d14
cmp ebx, 0x40008
ja 0x140078d2c
jb 0x140078d6a
cmp esi, 0x190
jae 0x140078d2c
jmp 0x140078d6a
cmp ax, 5
jne 0x140078d6a
cmp ebx, 0x50001
ja 0x140078d2c
jb 0x140078d6a
cmp esi, 0x8d20190
jb 0x140078d6a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078d3c
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x140078d4b
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078d5a
mov word [rax], 0x20
mov r13d, 1
jmp 0x140078d71
mov rcx, rdi
call fcn.140004144
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 0x140078da3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078da3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078d80
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 0x140078dd0
add rax, 2
sub rcx, 1
jne 0x140078dc0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078e2d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140078e1f
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x140078e1f
movzx eax, word [rcx + r9]
test ax, ax
je 0x140078e1f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078e00
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 0x140078fa7
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x140078fa5
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 0x140078f9d
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 0x140078f9d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078f9d
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140004144
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140078ee5
cmp ebx, 0x40008
ja 0x140078f05
jb 0x140078fa5
cmp esi, 0x10371
jae 0x140078f05
jmp 0x140078fa5
cmp ax, 5
jne 0x140078f50
cmp ebx, 0x50001
ja 0x140078f05
jb 0x140078fa5
cmp esi, 0xa280371
jb 0x140078fa5
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078f15
mov dword [rdx], 8
test r15, r15
je 0x140078f21
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140078f30
mov word [rcx], 0x20
mov r13d, 1
cmp ax, 4
jne 0x140078f5a
cmp ebx, 0x40008
ja 0x140078f74
jb 0x140078fa5
cmp esi, 0x10385
jae 0x140078f74
jmp 0x140078fa5
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x140078fa5
cmp ebx, 0x50001
ja 0x140078f74
jb 0x140078fa5
cmp esi, 0xa280385
ja 0x140078f74
jb 0x140078fa5
test rdx, rdx
je 0x140078f7f
mov dword [rdx], 8
test r15, r15
je 0x140078f8b
mov dword [r15], 1
test rcx, rcx
je 0x140078f95
mov word [rcx], 0x61
mov r13d, 1
jmp 0x140078fa5
mov rcx, rdi
call fcn.140004144
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078fd3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078fd3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078fb0
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 0x140079000
add rax, 2
sub rcx, 1
jne 0x140078ff0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007905f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140079051
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140079051
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140079051
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140079030
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 0x140079133
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140079133
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 0x1400792a0
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 0x1400792a0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400792a0
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x60003
ja 0x140079100
jb 0x140079131
cmp esi, 0x10375
jb 0x140079131
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079110
mov dword [rax], 8
test r15, r15
je 0x14007911c
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007912b
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 0x140079163
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079163
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079140
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 0x140079190
add rax, 2
sub rcx, 1
jne 0x140079180
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400791ef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400791e1
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x1400791e1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400791e1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400791c0
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 0x140079300
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x140079300
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 0x1400792f8
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 0x1400792f8
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400792f8
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140004144
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400792ad
cmp ebx, 0x40009
ja 0x1400792c5
jb 0x140079300
cmp esi, 0x86
jae 0x1400792c5
jmp 0x140079300
mov rcx, rbx
call fcn.140004144
jmp 0x140079133
cmp ax, 5
jne 0x140079300
cmp ebx, 0x50002
ja 0x1400792c5
jb 0x140079300
cmp esi, 0xe5d0086
jb 0x140079300
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400792d5
mov dword [rsi], 8
test r15, r15
je 0x1400792e1
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x1400792f0
mov word [rdi], 0x20
mov r13d, 1
jmp 0x14007930a
mov rcx, rdi
call fcn.140004144
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 0x140079335
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140079335
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140079312
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 0x140079360
add rax, 2
sub rcx, 1
jne 0x140079350
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x1400793bd
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x1400793ae
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x1400793ae
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400793ae
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x140079390
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 0x140079464
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140079464
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 0x14007945c
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 0x14007945c
cmp qword [rsp + 0x28], r12
je 0x14007945c
mov rcx, rbx
call fcn.140004144
test rsi, rsi
je 0x140079446
mov dword [rsi], 9
test r15, r15
je 0x14007944e
mov dword [r15], r12d
xor eax, eax
test rdi, rdi
je 0x14007948c
mov word [rdi], 0x20
jmp 0x14007948c
mov rcx, rbx
call fcn.140004144
test r13d, r13d
jne 0x14007948a
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14007947a
mov dword [rsi], edi
test r15, r15
je 0x140079482
mov dword [r15], edi
test rbx, rbx
je 0x14007948a
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140220510
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret