Function at 0x14006f940
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 [0x140313918]
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 0x140070d24
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 0x14006f9f4
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006f9f4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006f9d1
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 0x14006fa1f
add rax, 2
sub rcx, 1
jne 0x14006fa10
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x14006fa82
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006fa74
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x14006fa74
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006fa74
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006fa53
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 0x14006fbda
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006fbd5
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 0x14006fbc9
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006fbc9
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006fbc9
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40002
ja 0x14006fb28
jb 0x14006fbd3
cmp esi, 0x5f
jb 0x14006fbd3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14006fb38
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006fb48
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14006fb5a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x14006fb72
mov r13d, 1
jb 0x14006fbd3
cmp esi, 0x447
jbe 0x14006fbd3
test rcx, rcx
je 0x14006fb7d
mov dword [rcx], 2
test rax, rax
je 0x14006fb85
mov dword [rax], r8d
test rbx, rbx
je 0x14006fb8d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x14006fba2
mov r13d, 1
jb 0x14006fbd3
cmp esi, 0x43
jbe 0x14006fbd3
mov rsi, rcx
test rcx, rcx
je 0x14006fbb0
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x14006fbb9
mov dword [rax], edi
test rbx, rbx
je 0x14006fbc1
mov word [rbx], dx
mov r13d, 1
jmp 0x14006fbd5
mov rcx, rbx
call fcn.140078df4
jmp 0x14006fbd5
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006fc05
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006fc05
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006fbe2
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 0x14006fc30
add rax, 2
sub rcx, 1
jne 0x14006fc20
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006fc8d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006fc7f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14006fc7f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14006fc7f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x14006fc60
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 0x14006fd67
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006fd67
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 0x14006fd5b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14006fd5b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14006fd5b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40004
ja 0x14006fd23
jb 0x14006fd65
cmp esi, 0x46
jb 0x14006fd65
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14006fd33
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14006fd41
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006fd53
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14006fd67
mov rcx, rbx
call fcn.140078df4
jmp 0x14006fd67
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x14006fd93
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006fd93
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006fd70
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 0x14006fdc0
add rax, 2
sub rcx, 1
jne 0x14006fdb0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14006fe1f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14006fe11
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14006fe11
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14006fe11
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14006fdf0
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 0x14006ff71
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14006ff71
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 0x140070290
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140070290
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140070290
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40005
ja 0x14006fec8
jb 0x14006ff6f
cmp esi, 0x9b
jb 0x14006ff6f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14006fed8
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x14006fee8
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14006fefc
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006ff14
mov r13d, 1
jb 0x14006ff6f
cmp esi, 0x13d
jbe 0x14006ff6f
test rdx, rdx
je 0x14006ff1f
mov dword [rdx], 6
test rax, rax
je 0x14006ff27
mov dword [rax], r8d
test rcx, rcx
je 0x14006ff30
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14006ff4a
mov r13d, 1
jb 0x14006ff6f
cmp esi, 0x1b4
ja 0x14006ff4a
jb 0x14006ff6f
test rdx, rdx
je 0x14006ff55
mov dword [rdx], 6
test rax, rax
je 0x14006ff60
mov dword [rax], 1
test rcx, rcx
je 0x14006ff69
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 0x14006ffa3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x14006ffa3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14006ff80
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 0x14006ffd0
add rax, 2
sub rcx, 1
jne 0x14006ffc0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007002d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007001f
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007001f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007001f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140070000
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 0x140070108
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x140070108
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 0x14007029d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007029d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007029d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40006
ja 0x1400700ce
jb 0x140070106
cmp esi, 0x30206
jb 0x140070106
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400700de
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400700ee
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140070100
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 0x140070133
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140070133
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140070110
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 0x140070160
add rax, 2
sub rcx, 1
jne 0x140070150
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400701bf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400701b1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x1400701b1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400701b1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140070190
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 0x1400702b6
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x1400702b6
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 0x1400702aa
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400702aa
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400702aa
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40007
ja 0x140070258
jb 0x1400702b4
cmp esi, 0x2bc
jb 0x1400702b4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140070268
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140070276
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140070288
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x1400702b6
mov rcx, rbx
call fcn.140078df4
jmp 0x14006ff71
mov rcx, rbx
call fcn.140078df4
jmp 0x140070108
mov rcx, rbx
call fcn.140078df4
jmp 0x1400702b6
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400702e3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400702e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400702c0
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 0x140070310
add rax, 2
sub rcx, 1
jne 0x140070300
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007036d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007035f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007035f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007035f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140070340
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 0x14007044a
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x14007044a
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 0x14007043e
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007043e
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007043e
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x40007
ja 0x140070406
jb 0x140070448
cmp esi, 0x2cc
jb 0x140070448
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140070416
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140070424
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140070436
mov ecx, 0x61
mov word [rax], cx
mov r13d, 1
jmp 0x14007044a
mov rcx, rbx
call fcn.140078df4
jmp 0x14007044a
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140070475
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140070475
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140070452
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 0x1400704a0
add rax, 2
sub rcx, 1
jne 0x140070490
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400704f7
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400704e9
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x1400704e9
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x1400704e9
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400704c8
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 0x1400705ff
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x1400705fd
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 0x1400705f5
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c81ac]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400705f5
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400705f5
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140078df4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400705a4
cmp ebx, 0x40008
ja 0x1400705bc
jb 0x1400705fd
cmp esi, 0x190
jae 0x1400705bc
jmp 0x1400705fd
cmp ax, 5
jne 0x1400705fd
cmp ebx, 0x50001
ja 0x1400705bc
jb 0x1400705fd
cmp esi, 0x8d20190
jb 0x1400705fd
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400705cc
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x1400705db
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400705ed
mov ecx, 0x20
mov word [rax], cx
mov r13d, 1
jmp 0x140070604
mov rcx, rdi
call fcn.140078df4
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 0x140070633
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140070633
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140070610
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 0x140070660
add rax, 2
sub rcx, 1
jne 0x140070650
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400706bd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x1400706af
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x1400706af
movzx eax, word [rcx + r9]
test ax, ax
je 0x1400706af
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140070690
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 0x14007083f
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x14007083d
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 0x140070835
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c81ac]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140070835
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140070835
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140078df4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140070775
cmp ebx, 0x40008
ja 0x140070795
jb 0x14007083d
cmp esi, 0x10371
jae 0x140070795
jmp 0x14007083d
cmp ax, 5
jne 0x1400707e5
cmp ebx, 0x50001
ja 0x140070795
jb 0x14007083d
cmp esi, 0xa280371
jb 0x14007083d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400707a5
mov dword [rdx], 8
test r15, r15
je 0x1400707b1
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400707c5
mov r8d, 0x20
mov word [rcx], r8w
mov r13d, 1
cmp ax, 4
jne 0x1400707ef
cmp ebx, 0x40008
ja 0x140070809
jb 0x14007083d
cmp esi, 0x10385
jae 0x140070809
jmp 0x14007083d
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x14007083d
cmp ebx, 0x50001
ja 0x140070809
jb 0x14007083d
cmp esi, 0xa280385
ja 0x140070809
jb 0x14007083d
test rdx, rdx
je 0x140070814
mov dword [rdx], 8
test r15, r15
je 0x140070820
mov dword [r15], 1
test rcx, rcx
je 0x14007082d
mov eax, 0x61
mov word [rcx], ax
mov r13d, 1
jmp 0x14007083d
mov rcx, rdi
call fcn.140078df4
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140070873
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140070873
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140070850
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 0x1400708a0
add rax, 2
sub rcx, 1
jne 0x140070890
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400708ff
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400708f1
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x1400708f1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400708f1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400708d0
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 0x1400709d6
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x1400709d6
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 0x140070b40
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140070b40
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140070b40
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140078df4
cmp edi, 0x60003
ja 0x1400709a0
jb 0x1400709d4
cmp esi, 0x10375
jb 0x1400709d4
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400709b0
mov dword [rax], 8
test r15, r15
je 0x1400709bc
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400709ce
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 0x140070a03
movzx eax, word [rcx + r12]
test ax, ax
je 0x140070a03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400709e0
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 0x140070a30
add rax, 2
sub rcx, 1
jne 0x140070a20
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140070a8f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140070a81
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140070a81
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140070a81
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140070a60
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 0x140070ba3
mov ecx, eax
call fcn.140003e48
mov rdi, rax
test rax, rax
je 0x140070ba3
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 0x140070b9b
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402c81ac]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140070b9b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140070b9b
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.140078df4
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140070b4d
cmp ebx, 0x40009
ja 0x140070b65
jb 0x140070ba3
cmp esi, 0x86
jae 0x140070b65
jmp 0x140070ba3
mov rcx, rbx
call fcn.140078df4
jmp 0x1400709d6
cmp ax, 5
jne 0x140070ba3
cmp ebx, 0x50002
ja 0x140070b65
jb 0x140070ba3
cmp esi, 0xe5d0086
jb 0x140070ba3
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140070b75
mov dword [rsi], 8
test r15, r15
je 0x140070b81
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140070b93
mov eax, 0x20
mov word [rdi], ax
mov r13d, 1
jmp 0x140070bad
mov rcx, rdi
call fcn.140078df4
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 0x140070be3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140070be3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140070bc0
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 0x140070c10
add rax, 2
sub rcx, 1
jne 0x140070c00
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x140070c6d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x140070c5e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x140070c5e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140070c5e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x140070c40
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 0x140070d15
mov ecx, eax
call fcn.140003e48
mov rbx, rax
test rax, rax
je 0x140070d15
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 0x140070d0d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402c81ac]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140070d0d
cmp qword [rsp + 0x28], r12
je 0x140070d0d
mov rcx, rbx
call fcn.140078df4
test rsi, rsi
je 0x140070cf6
mov dword [rsi], 9
test r15, r15
je 0x140070cfe
mov dword [r15], r12d
test rdi, rdi
je 0x140070d3b
mov eax, 0x20
mov word [rdi], ax
jmp 0x140070d3b
mov rcx, rbx
call fcn.140078df4
test r13d, r13d
jne 0x140070d3b
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x140070d2b
mov dword [rsi], edi
test r15, r15
je 0x140070d33
mov dword [r15], edi
test rbx, rbx
je 0x140070d3b
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140215e10
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret