Function at 0x140077e50
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 0x140079213
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 0x140077f04
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140077f04
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140077ee1
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 0x140077f2f
add rax, 2
sub rcx, 1
jne 0x140077f20
mov rax, r14
lea r15, str.ddraw.dll
sub rax, rcx
mov ebx, 0x7ffffffe
test rcx, rcx
cmove rax, rdi
je 0x140077f92
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140077f84
mov r9, r15
mov eax, ebx
sub r9, rcx
test rax, rax
je 0x140077f84
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140077f84
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140077f63
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 0x1400780ea
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x1400780e5
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 0x1400780d9
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400780d9
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400780d9
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40002
ja 0x140078038
jb 0x1400780e3
cmp esi, 0x5f
jb 0x1400780e3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140078048
mov dword [rcx], 1
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x140078058
mov dword [rax], r8d
mov rbx, qword [rsp + 0x40]
mov edx, 0x20
test rbx, rbx
je 0x14007806a
mov word [rbx], dx
cmp edi, 0x40003
ja 0x140078082
mov r13d, 1
jb 0x1400780e3
cmp esi, 0x447
jbe 0x1400780e3
test rcx, rcx
je 0x14007808d
mov dword [rcx], 2
test rax, rax
je 0x140078095
mov dword [rax], r8d
test rbx, rbx
je 0x14007809d
mov word [rbx], dx
cmp edi, 0x40004
ja 0x1400780b2
mov r13d, 1
jb 0x1400780e3
cmp esi, 0x43
jbe 0x1400780e3
mov rsi, rcx
test rcx, rcx
je 0x1400780c0
mov dword [rcx], 3
xor edi, edi
test rax, rax
je 0x1400780c9
mov dword [rax], edi
test rbx, rbx
je 0x1400780d1
mov word [rbx], dx
mov r13d, 1
jmp 0x1400780e5
mov rcx, rbx
call fcn.140004144
jmp 0x1400780e5
xor edi, edi
mov ebx, 0x7ffffffe
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078115
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078115
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400780f2
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 0x140078140
add rax, 2
sub rcx, 1
jne 0x140078130
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007819d
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x14007818f
lea r9, str.d3drg8x.dll
mov r8, rbx
sub r9, rcx
nop dword [rax]
test r8, r8
je 0x14007818f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007818f
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140078170
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 0x140078270
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078270
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 0x140078264
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078264
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078264
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40004
ja 0x14007822f
jb 0x14007826e
cmp esi, 0x46
jb 0x14007826e
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007823f
mov dword [rax], 3
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x14007824d
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007825c
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078270
mov rcx, rbx
call fcn.140004144
jmp 0x140078270
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400782a3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400782a3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078280
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 0x1400782d0
add rax, 2
sub rcx, 1
jne 0x1400782c0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007832f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078321
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x140078321
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140078321
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078300
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 0x140078481
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078481
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 0x14007879d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007879d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007879d
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40005
ja 0x1400783d8
jb 0x14007847f
cmp esi, 0x9b
jb 0x14007847f
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400783e8
mov dword [rdx], 5
mov rax, qword [rsp + 0x48]
xor r8d, r8d
test rax, rax
je 0x1400783f8
mov dword [rax], r8d
mov rcx, qword [rsp + 0x40]
mov r9d, 0x20
test rcx, rcx
je 0x14007840c
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x140078424
mov r13d, 1
jb 0x14007847f
cmp esi, 0x13d
jbe 0x14007847f
test rdx, rdx
je 0x14007842f
mov dword [rdx], 6
test rax, rax
je 0x140078437
mov dword [rax], r8d
test rcx, rcx
je 0x140078440
mov word [rcx], r9w
cmp edi, 0x40006
ja 0x14007845a
mov r13d, 1
jb 0x14007847f
cmp esi, 0x1b4
ja 0x14007845a
jb 0x14007847f
test rdx, rdx
je 0x140078465
mov dword [rdx], 6
test rax, rax
je 0x140078470
mov dword [rax], 1
test rcx, rcx
je 0x140078479
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 0x1400784b3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400784b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078490
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 0x1400784e0
add rax, 2
sub rcx, 1
jne 0x1400784d0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007853d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007852f
lea r9, str.dplayx.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007852f
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14007852f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078510
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 0x140078615
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078615
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 0x1400787aa
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400787aa
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400787aa
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40006
ja 0x1400785de
jb 0x140078613
cmp esi, 0x30206
jb 0x140078613
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400785ee
mov dword [rax], 6
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400785fe
mov dword [rax], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14007860d
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 0x140078643
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078643
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078620
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 0x140078670
add rax, 2
sub rcx, 1
jne 0x140078660
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x1400786cf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400786c1
mov r9, r15
mov eax, 0x7ffffffe
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x1400786c1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400786c1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400786a0
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 0x1400787c3
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x1400787c3
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 0x1400787b7
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400787b7
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400787b7
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40007
ja 0x140078768
jb 0x1400787c1
cmp esi, 0x2bc
jb 0x1400787c1
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078778
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078786
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078795
mov word [rax], 0x20
mov r13d, 1
jmp 0x1400787c3
mov rcx, rbx
call fcn.140004144
jmp 0x140078481
mov rcx, rbx
call fcn.140004144
jmp 0x140078615
mov rcx, rbx
call fcn.140004144
jmp 0x1400787c3
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400787f3
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400787f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400787d0
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 0x140078820
add rax, 2
sub rcx, 1
jne 0x140078810
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x14007887d
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x14007886f
lea r9, str.dinput.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x14007886f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007886f
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078850
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 0x140078957
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078957
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 0x14007894b
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14007894b
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007894b
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x40007
ja 0x140078916
jb 0x140078955
cmp esi, 0x2cc
jb 0x140078955
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078926
mov dword [rax], 7
mov rax, qword [rsp + 0x48]
xor edi, edi
test rax, rax
je 0x140078934
mov dword [rax], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078943
mov word [rax], 0x61
mov r13d, 1
jmp 0x140078957
mov rcx, rbx
call fcn.140004144
jmp 0x140078957
xor edi, edi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140078983
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078983
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078960
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 0x1400789b0
add rax, 2
sub rcx, 1
jne 0x1400789a0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078a07
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x1400789f9
mov eax, 0x7ffffffe
sub r15, rcx
test rax, rax
je 0x1400789f9
movzx r8d, word [rcx + r15]
test r8w, r8w
je 0x1400789f9
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400789d8
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 0x140078b0c
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x140078b0a
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 0x140078b02
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1dc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078b02
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078b02
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 0x140078ab4
cmp ebx, 0x40008
ja 0x140078acc
jb 0x140078b0a
cmp esi, 0x190
jae 0x140078acc
jmp 0x140078b0a
cmp ax, 5
jne 0x140078b0a
cmp ebx, 0x50001
ja 0x140078acc
jb 0x140078b0a
cmp esi, 0x8d20190
jb 0x140078b0a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078adc
mov dword [rax], 8
mov r15, qword [rsp + 0x48]
xor edi, edi
test r15, r15
je 0x140078aeb
mov dword [r15], edi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078afa
mov word [rax], 0x20
mov r13d, 1
jmp 0x140078b11
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 0x140078b43
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078b43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078b20
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 0x140078b70
add rax, 2
sub rcx, 1
jne 0x140078b60
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078bcd
mov r8, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r8, rax
je 0x140078bbf
lea r9, str.d3d8.dll
mov edx, 0x7ffffffe
sub r9, rcx
nop
test rdx, rdx
je 0x140078bbf
movzx eax, word [rcx + r9]
test ax, ax
je 0x140078bbf
mov word [rcx], ax
dec rdx
add rcx, 2
sub r8, 1
jne 0x140078ba0
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 0x140078d47
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x140078d45
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 0x140078d3d
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1dc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140078d3d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140078d3d
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 0x140078c85
cmp ebx, 0x40008
ja 0x140078ca5
jb 0x140078d45
cmp esi, 0x10371
jae 0x140078ca5
jmp 0x140078d45
cmp ax, 5
jne 0x140078cf0
cmp ebx, 0x50001
ja 0x140078ca5
jb 0x140078d45
cmp esi, 0xa280371
jb 0x140078d45
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140078cb5
mov dword [rdx], 8
test r15, r15
je 0x140078cc1
mov dword [r15], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140078cd0
mov word [rcx], 0x20
mov r13d, 1
cmp ax, 4
jne 0x140078cfa
cmp ebx, 0x40008
ja 0x140078d14
jb 0x140078d45
cmp esi, 0x10385
jae 0x140078d14
jmp 0x140078d45
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp ax, 5
jne 0x140078d45
cmp ebx, 0x50001
ja 0x140078d14
jb 0x140078d45
cmp esi, 0xa280385
ja 0x140078d14
jb 0x140078d45
test rdx, rdx
je 0x140078d1f
mov dword [rdx], 8
test r15, r15
je 0x140078d2b
mov dword [r15], 1
test rcx, rcx
je 0x140078d35
mov word [rcx], 0x61
mov r13d, 1
jmp 0x140078d45
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 0x140078d73
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078d73
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078d50
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 0x140078da0
add rax, 2
sub rcx, 1
jne 0x140078d90
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078dff
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078df1
lea r9, str.mpg2splt.ax
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140078df1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140078df1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078dd0
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 0x140078ed3
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140078ed3
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 0x140079040
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rdi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079040
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079040
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.140004144
cmp edi, 0x60003
ja 0x140078ea0
jb 0x140078ed1
cmp esi, 0x10375
jb 0x140078ed1
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140078eb0
mov dword [rax], 8
test r15, r15
je 0x140078ebc
mov dword [r15], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140078ecb
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 0x140078f03
movzx eax, word [r12 + rcx]
test ax, ax
je 0x140078f03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140078ee0
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 0x140078f30
add rax, 2
sub rcx, 1
jne 0x140078f20
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, rdi
je 0x140078f8f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140078f81
lea r9, str.dpnet.dll
mov eax, 0x7ffffffe
sub r9, rcx
nop
test rax, rax
je 0x140078f81
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140078f81
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140078f60
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 0x1400790a0
mov ecx, eax
call fcn.140003e80
mov rdi, rax
test rax, rax
je 0x1400790a0
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 0x140079098
xor r8d, r8d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r8
lea rdx, [0x1402ce1dc]
lea r8, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140079098
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140079098
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 0x14007904d
cmp ebx, 0x40009
ja 0x140079065
jb 0x1400790a0
cmp esi, 0x86
jae 0x140079065
jmp 0x1400790a0
mov rcx, rbx
call fcn.140004144
jmp 0x140078ed3
cmp ax, 5
jne 0x1400790a0
cmp ebx, 0x50002
ja 0x140079065
jb 0x1400790a0
cmp esi, 0xe5d0086
jb 0x1400790a0
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140079075
mov dword [rsi], 8
test r15, r15
je 0x140079081
mov dword [r15], 2
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140079090
mov word [rdi], 0x20
mov r13d, 1
jmp 0x1400790aa
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 0x1400790d5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400790d5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400790b2
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 0x140079100
add rax, 2
sub rcx, 1
jne 0x1400790f0
mov rax, r14
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x14007915d
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rax*2]
sub r14, rax
je 0x14007914e
lea rdx, str.d3d9.dll
mov r8d, 0x7ffffffe
sub rdx, rcx
nop dword [rax]
test r8, r8
je 0x14007914e
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14007914e
mov word [rcx], ax
dec r8
add rcx, 2
sub r14, 1
jne 0x140079130
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 0x140079204
mov ecx, eax
call fcn.140003e80
mov rbx, rax
test rax, rax
je 0x140079204
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 0x1400791fc
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r12
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402ce1dc]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400791fc
cmp qword [rsp + 0x28], r12
je 0x1400791fc
mov rcx, rbx
call fcn.140004144
test rsi, rsi
je 0x1400791e6
mov dword [rsi], 9
test r15, r15
je 0x1400791ee
mov dword [r15], r12d
xor eax, eax
test rdi, rdi
je 0x14007922c
mov word [rdi], 0x20
jmp 0x14007922c
mov rcx, rbx
call fcn.140004144
test r13d, r13d
jne 0x14007922a
mov rbx, qword [rsp + 0x40]
xor edi, edi
lea ecx, [rdi + 0x20]
test rsi, rsi
je 0x14007921a
mov dword [rsi], edi
test r15, r15
je 0x140079222
mov dword [r15], edi
test rbx, rbx
je 0x14007922a
mov word [rbx], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.1402202b0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret