Function at 0x1400813d0
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 [0x14035c8c0]
xor rax, rsp
mov qword [rbp + 0x750], rax
mov r13, rdx
mov qword [rsp + 0x30], rcx
mov rbx, rcx
mov qword [rsp + 0x40], r8
xor esi, esi
lea rcx, [rbp + 0x350]
mov edx, 0x104
mov dword [rsp + 0x24], esi
mov r12, r8
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [rsi + 0x20]
test eax, eax
je 0x14008280b
mov qword [rsp + 0x8b8], r14
lea r15, [rbp + 0x350]
mov r14d, 0x200
mov word [rbp + 0x556], si
lea rax, [rsp + 0x50]
mov edx, r14d
lea rcx, [rsp + 0x50]
sub r15, rax
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081483
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081483
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081460
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], si
je 0x1400814af
add rax, 2
sub rcx, 1
jne 0x1400814a0
mov rax, r14
lea r12, str.ddraw.dll
sub rax, rcx
mov r8, rsi
test rcx, rcx
cmovne r8, rax
je 0x14008151f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081511
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x140081511
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140081511
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400814f0
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140081683
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x140081683
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 0x140081677
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081677
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081677
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40002
ja 0x1400815bd
jb 0x1400815f4
cmp esi, 0x5f
jb 0x1400815f4
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x1400815cd
mov dword [rbx], 1
xor edx, edx
test r13, r13
je 0x1400815d8
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400815ea
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140081600
mov rbx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rsp + 0x40]
cmp edi, 0x40003
ja 0x140081612
jb 0x14008163b
cmp esi, 0x448
jb 0x14008163b
test rbx, rbx
je 0x14008161d
mov dword [rbx], 2
test r13, r13
je 0x140081626
mov dword [r13], edx
test rax, rax
je 0x140081633
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
cmp edi, 0x40004
ja 0x14008164a
jb 0x140081681
cmp esi, 0x44
jb 0x140081681
test rbx, rbx
je 0x140081655
mov dword [rbx], 3
xor esi, esi
test r13, r13
je 0x140081660
mov dword [r13], esi
test rax, rax
je 0x14008166d
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140081683
mov rcx, rbx
call fcn.14008ae10
jmp 0x140081683
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400816b3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400816b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081690
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x1400816e0
add rax, 2
sub rcx, 1
jne 0x1400816d0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140081744
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081736
add r8, 0x7ffffdff
lea r9, str.d3drg8x.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140081736
movzx eax, word [rcx + r9]
test ax, ax
je 0x140081736
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140081717
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x14008181d
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x14008181d
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 0x140081811
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081811
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081811
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40004
ja 0x1400817da
jb 0x14008181b
cmp esi, 0x46
jb 0x14008181b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400817ea
mov dword [rax], 3
xor esi, esi
test r13, r13
je 0x1400817f5
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140081807
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x14008181d
mov rcx, rbx
call fcn.14008ae10
jmp 0x14008181d
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081853
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081853
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081830
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140081880
add rax, 2
sub rcx, 1
jne 0x140081870
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400818e2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400818d4
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x1400818d4
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400818d4
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400818b3
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140081a46
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x140081a46
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 0x140081d72
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081d72
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081d72
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40005
ja 0x140081983
jb 0x1400819bc
cmp esi, 0x9b
jb 0x1400819bc
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140081993
mov dword [rcx], 5
xor edx, edx
test r13, r13
je 0x14008199e
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
mov r8d, 0x20
test rax, rax
je 0x1400819b2
mov word [rax], r8w
mov dword [rsp + 0x24], 1
jmp 0x1400819ce
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov rax, qword [rsp + 0x40]
xor edx, edx
cmp edi, 0x40006
ja 0x1400819e0
jb 0x140081a44
cmp esi, 0x13e
jb 0x140081a05
test rcx, rcx
je 0x1400819eb
mov dword [rcx], 6
test r13, r13
je 0x1400819f4
mov dword [r13], edx
test rax, rax
je 0x1400819fd
mov word [rax], r8w
mov dword [rsp + 0x24], 1
cmp edi, 0x40006
ja 0x140081a17
jb 0x140081a44
cmp esi, 0x1b4
jb 0x140081a44
test rcx, rcx
je 0x140081a22
mov dword [rcx], 6
test r13, r13
je 0x140081a2f
mov dword [r13], 1
test rax, rax
je 0x140081a3c
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081a73
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081a73
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081a50
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140081aa0
add rax, 2
sub rcx, 1
jne 0x140081a90
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140081b04
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081af6
add r8, 0x7ffffdff
lea r9, str.dplayx.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140081af6
movzx eax, word [rcx + r9]
test ax, ax
je 0x140081af6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140081ad7
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140081bde
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x140081bde
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 0x140081d7f
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081d7f
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081d7f
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40006
ja 0x140081ba5
jb 0x140081bdc
cmp esi, 0x30206
jb 0x140081bdc
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140081bb5
mov dword [rax], 6
test r13, r13
je 0x140081bc2
mov dword [r13], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140081bd4
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081c13
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081c13
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081bf0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140081c40
add rax, 2
sub rcx, 1
jne 0x140081c30
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140081ca2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081c94
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140081c94
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140081c94
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140081c73
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140081d98
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x140081d98
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 0x140081d8c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081d8c
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081d8c
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40007
ja 0x140081d3b
jb 0x140081d96
cmp esi, 0x2bc
jb 0x140081d96
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140081d4b
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140081d56
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140081d68
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140081d98
mov rcx, rbx
call fcn.14008ae10
jmp 0x140081a46
mov rcx, rbx
call fcn.14008ae10
jmp 0x140081bde
mov rcx, rbx
call fcn.14008ae10
jmp 0x140081d98
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081dc3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081dc3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081da0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140081df0
add rax, 2
sub rcx, 1
jne 0x140081de0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140081e54
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081e46
add r8, 0x7ffffdff
lea r9, str.dinput.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140081e46
movzx eax, word [rcx + r9]
test ax, ax
je 0x140081e46
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140081e27
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140081f30
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x140081f30
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 0x140081f24
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140081f24
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140081f24
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x40007
ja 0x140081eed
jb 0x140081f2e
cmp esi, 0x2cc
jb 0x140081f2e
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140081efd
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140081f08
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140081f1a
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140081f30
mov rcx, rbx
call fcn.14008ae10
jmp 0x140081f30
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140081f63
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140081f63
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140081f40
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140081f90
add rax, 2
sub rcx, 1
jne 0x140081f80
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140081fef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140081fe1
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
sub r12, rcx
test rax, rax
je 0x140081fe1
movzx r8d, word [rcx + r12]
test r8w, r8w
je 0x140081fe1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140081fc0
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x1400820f4
mov ecx, eax
call fcn.14008ae18
mov rdi, rax
test rax, rax
je 0x1400820f4
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 0x1400820e8
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400820e8
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400820e8
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008ae10
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140082097
cmp ebx, 0x40008
ja 0x1400820af
jb 0x140082097
cmp esi, 0x18f
ja 0x1400820af
cmp ax, 5
jne 0x1400820f2
cmp ebx, 0x50001
ja 0x1400820af
jb 0x1400820f2
cmp esi, 0x8d20190
jb 0x1400820f2
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400820bf
mov dword [rax], 8
xor esi, esi
test r13, r13
je 0x1400820ca
mov dword [r13], esi
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x1400820de
mov eax, 0x20
mov word [r12], ax
mov dword [rsp + 0x24], 1
jmp 0x1400820f9
mov rcx, rdi
call fcn.14008ae10
jmp 0x1400820f4
xor esi, esi
mov r12, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082124
movzx eax, word [rcx + r15]
test ax, ax
je 0x140082124
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082101
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop word [rax + rax]
cmp word [rax], 0
je 0x140082150
add rax, 2
sub rcx, 1
jne 0x140082140
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400821b4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400821a6
add r8, 0x7ffffdff
lea r9, str.d3d8.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x1400821a6
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400821a6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082187
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140082314
mov ecx, eax
call fcn.14008ae18
mov rdi, rax
test rax, rax
je 0x140082314
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 0x14008266d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008266d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008266d
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008ae10
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140082260
cmp ebx, 0x40008
ja 0x140082278
jb 0x140082260
cmp esi, 0x10370
ja 0x140082278
cmp ax, 5
jne 0x1400822ae
cmp ebx, 0x50001
ja 0x140082278
jb 0x1400822ae
cmp esi, 0xa280371
jb 0x1400822ae
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140082288
mov dword [rcx], 8
test r13, r13
je 0x140082295
mov dword [r13], 1
test r12, r12
je 0x1400822a4
mov edx, 0x20
mov word [r12], dx
mov dword [rsp + 0x24], 1
jmp 0x1400822b3
mov rcx, qword [rsp + 0x30]
cmp ax, 4
jne 0x1400822cb
cmp ebx, 0x40008
ja 0x1400822e3
jb 0x1400822cb
cmp esi, 0x10384
ja 0x1400822e3
cmp ax, 5
jne 0x140082312
cmp ebx, 0x50001
ja 0x1400822e3
jb 0x140082312
cmp esi, 0xa280385
jb 0x140082312
test rcx, rcx
je 0x1400822ee
mov dword [rcx], 8
test r13, r13
je 0x1400822fb
mov dword [r13], 1
test r12, r12
je 0x14008230a
mov eax, 0x61
mov word [r12], ax
mov dword [rsp + 0x24], 1
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082343
movzx eax, word [rcx + r15]
test ax, ax
je 0x140082343
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082320
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140082370
add rax, 2
sub rcx, 1
jne 0x140082360
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400823d6
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400823c8
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x1400823c8
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400823c8
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400823a7
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x1400824ad
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x1400824ad
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 0x14008267a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008267a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008267a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
cmp edi, 0x60003
ja 0x140082477
jb 0x1400824ab
cmp esi, 0x10375
jb 0x1400824ab
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082487
mov dword [rax], 8
test r13, r13
je 0x140082494
mov dword [r13], 1
test r12, r12
je 0x1400824a3
mov eax, 0x62
mov word [r12], ax
mov dword [rsp + 0x24], 1
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400824e3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400824e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400824c0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov rcx, r14
mov word [rax], si
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], 0
je 0x140082510
add rax, 2
sub rcx, 1
jne 0x140082500
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082576
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082568
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.dpnet.dll
sub r9, rcx
test rax, rax
je 0x140082568
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082568
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082547
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], si
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x20], eax
test eax, eax
je 0x14008268f
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x14008268f
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 0x140082687
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082687
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082687
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ae10
mov eax, edi
shr eax, 0x10
cmp ax, 4
jne 0x140082622
cmp edi, 0x40009
ja 0x14008263a
jb 0x140082622
cmp esi, 0x85
ja 0x14008263a
cmp ax, 5
jne 0x14008268f
cmp edi, 0x50002
ja 0x14008263a
jb 0x14008268f
cmp esi, 0xe5d0086
jb 0x14008268f
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x14008264a
mov dword [rdi], 8
test r13, r13
je 0x140082657
mov dword [r13], 2
test r12, r12
je 0x140082666
mov eax, 0x20
mov word [r12], ax
mov esi, 1
jmp 0x140082698
mov rcx, rdi
call fcn.14008ae10
jmp 0x140082314
mov rcx, rbx
call fcn.14008ae10
jmp 0x1400824ad
mov rcx, rbx
call fcn.14008ae10
mov esi, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x30]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400826c3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400826c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400826a0
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
xor r15d, r15d
mov rcx, r14
mov word [rax], r15w
lea rax, [rsp + 0x50]
nop dword [rax]
cmp word [rax], r15w
je 0x1400826f0
add rax, 2
sub rcx, 1
jne 0x1400826e0
mov rax, r14
mov rdx, r15
sub rax, rcx
test rcx, rcx
cmovne rdx, rax
je 0x140082752
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rdx*2]
sub r14, rdx
je 0x140082743
lea rax, [rdx + 0x7ffffdff]
add rax, r14
lea r8, str.d3d9.dll
sub r8, rcx
test rax, rax
je 0x140082743
movzx edx, word [r8 + rcx]
test dx, dx
je 0x140082743
mov word [rcx], dx
dec rax
add rcx, 2
sub r14, 1
jne 0x140082724
test r14, r14
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
lea rdx, [rsp + 0x38]
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 0x1400827fd
mov ecx, eax
call fcn.14008ae18
mov rbx, rax
test rax, rax
je 0x1400827fd
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 0x1400827f5
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r15
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f3024]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400827f5
cmp qword [rsp + 0x28], r15
je 0x1400827f5
mov rcx, rbx
call fcn.14008ae10
test rdi, rdi
je 0x1400827db
mov dword [rdi], 9
test r13, r13
je 0x1400827e4
mov dword [r13], r15d
test r12, r12
je 0x140082825
mov eax, 0x20
mov word [r12], ax
jmp 0x140082825
mov rcx, rbx
call fcn.14008ae10
test esi, esi
jne 0x140082825
mov rbx, qword [rsp + 0x30]
xor esi, esi
lea ecx, [rsi + 0x20]
test rbx, rbx
je 0x140082812
mov dword [rbx], esi
test r13, r13
je 0x14008281b
mov dword [r13], esi
test r12, r12
je 0x140082825
mov word [r12], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.140229da0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret