Function at 0x140082170
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 [0x14035d8c0]
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 0x1400835ab
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 0x140082223
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082223
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082200
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 0x14008224f
add rax, 2
sub rcx, 1
jne 0x140082240
mov rax, r14
lea r12, str.ddraw.dll
sub rax, rcx
mov r8, rsi
test rcx, rcx
cmovne r8, rax
je 0x1400822bf
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400822b1
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x1400822b1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400822b1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082290
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 0x140082423
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x140082423
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 0x140082417
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082417
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082417
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40002
ja 0x14008235d
jb 0x140082394
cmp esi, 0x5f
jb 0x140082394
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14008236d
mov dword [rbx], 1
xor edx, edx
test r13, r13
je 0x140082378
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14008238a
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x1400823a0
mov rbx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rsp + 0x40]
cmp edi, 0x40003
ja 0x1400823b2
jb 0x1400823db
cmp esi, 0x448
jb 0x1400823db
test rbx, rbx
je 0x1400823bd
mov dword [rbx], 2
test r13, r13
je 0x1400823c6
mov dword [r13], edx
test rax, rax
je 0x1400823d3
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
cmp edi, 0x40004
ja 0x1400823ea
jb 0x140082421
cmp esi, 0x44
jb 0x140082421
test rbx, rbx
je 0x1400823f5
mov dword [rbx], 3
xor esi, esi
test r13, r13
je 0x140082400
mov dword [r13], esi
test rax, rax
je 0x14008240d
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082423
mov rcx, rbx
call fcn.14008ba90
jmp 0x140082423
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082453
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082453
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082430
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 0x140082480
add rax, 2
sub rcx, 1
jne 0x140082470
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400824e4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400824d6
add r8, 0x7ffffdff
lea r9, str.d3drg8x.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x1400824d6
movzx eax, word [rcx + r9]
test ax, ax
je 0x1400824d6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x1400824b7
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 0x1400825bd
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x1400825bd
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 0x1400825b1
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400825b1
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400825b1
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40004
ja 0x14008257a
jb 0x1400825bb
cmp esi, 0x46
jb 0x1400825bb
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14008258a
mov dword [rax], 3
xor esi, esi
test r13, r13
je 0x140082595
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400825a7
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x1400825bd
mov rcx, rbx
call fcn.14008ba90
jmp 0x1400825bd
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400825f3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400825f3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400825d0
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 0x140082620
add rax, 2
sub rcx, 1
jne 0x140082610
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082682
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082674
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140082674
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082674
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082653
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 0x1400827e6
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x1400827e6
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 0x140082b12
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082b12
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082b12
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40005
ja 0x140082723
jb 0x14008275c
cmp esi, 0x9b
jb 0x14008275c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140082733
mov dword [rcx], 5
xor edx, edx
test r13, r13
je 0x14008273e
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
mov r8d, 0x20
test rax, rax
je 0x140082752
mov word [rax], r8w
mov dword [rsp + 0x24], 1
jmp 0x14008276e
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov rax, qword [rsp + 0x40]
xor edx, edx
cmp edi, 0x40006
ja 0x140082780
jb 0x1400827e4
cmp esi, 0x13e
jb 0x1400827a5
test rcx, rcx
je 0x14008278b
mov dword [rcx], 6
test r13, r13
je 0x140082794
mov dword [r13], edx
test rax, rax
je 0x14008279d
mov word [rax], r8w
mov dword [rsp + 0x24], 1
cmp edi, 0x40006
ja 0x1400827b7
jb 0x1400827e4
cmp esi, 0x1b4
jb 0x1400827e4
test rcx, rcx
je 0x1400827c2
mov dword [rcx], 6
test r13, r13
je 0x1400827cf
mov dword [r13], 1
test rax, rax
je 0x1400827dc
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 0x140082813
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082813
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400827f0
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 0x140082840
add rax, 2
sub rcx, 1
jne 0x140082830
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400828a4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082896
add r8, 0x7ffffdff
lea r9, str.dplayx.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082896
movzx eax, word [rcx + r9]
test ax, ax
je 0x140082896
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082877
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 0x14008297e
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x14008297e
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 0x140082b1f
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082b1f
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082b1f
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40006
ja 0x140082945
jb 0x14008297c
cmp esi, 0x30206
jb 0x14008297c
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082955
mov dword [rax], 6
test r13, r13
je 0x140082962
mov dword [r13], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082974
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 0x1400829b3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400829b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082990
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 0x1400829e0
add rax, 2
sub rcx, 1
jne 0x1400829d0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082a42
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082a34
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140082a34
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082a34
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082a13
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 0x140082b38
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x140082b38
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 0x140082b2c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082b2c
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082b2c
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40007
ja 0x140082adb
jb 0x140082b36
cmp esi, 0x2bc
jb 0x140082b36
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082aeb
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140082af6
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082b08
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082b38
mov rcx, rbx
call fcn.14008ba90
jmp 0x1400827e6
mov rcx, rbx
call fcn.14008ba90
jmp 0x14008297e
mov rcx, rbx
call fcn.14008ba90
jmp 0x140082b38
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082b63
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082b63
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082b40
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 0x140082b90
add rax, 2
sub rcx, 1
jne 0x140082b80
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082bf4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082be6
add r8, 0x7ffffdff
lea r9, str.dinput.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082be6
movzx eax, word [rcx + r9]
test ax, ax
je 0x140082be6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082bc7
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 0x140082cd0
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x140082cd0
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 0x140082cc4
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082cc4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082cc4
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x40007
ja 0x140082c8d
jb 0x140082cce
cmp esi, 0x2cc
jb 0x140082cce
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082c9d
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140082ca8
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082cba
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082cd0
mov rcx, rbx
call fcn.14008ba90
jmp 0x140082cd0
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082d03
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082d03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082ce0
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 0x140082d30
add rax, 2
sub rcx, 1
jne 0x140082d20
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082d8f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082d81
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
sub r12, rcx
test rax, rax
je 0x140082d81
movzx r8d, word [rcx + r12]
test r8w, r8w
je 0x140082d81
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082d60
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 0x140082e94
mov ecx, eax
call fcn.14008ba98
mov rdi, rax
test rax, rax
je 0x140082e94
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 0x140082e88
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082e88
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082e88
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008ba90
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140082e37
cmp ebx, 0x40008
ja 0x140082e4f
jb 0x140082e37
cmp esi, 0x18f
ja 0x140082e4f
cmp ax, 5
jne 0x140082e92
cmp ebx, 0x50001
ja 0x140082e4f
jb 0x140082e92
cmp esi, 0x8d20190
jb 0x140082e92
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082e5f
mov dword [rax], 8
xor esi, esi
test r13, r13
je 0x140082e6a
mov dword [r13], esi
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x140082e7e
mov eax, 0x20
mov word [r12], ax
mov dword [rsp + 0x24], 1
jmp 0x140082e99
mov rcx, rdi
call fcn.14008ba90
jmp 0x140082e94
xor esi, esi
mov r12, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082ec4
movzx eax, word [rcx + r15]
test ax, ax
je 0x140082ec4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082ea1
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 0x140082ef0
add rax, 2
sub rcx, 1
jne 0x140082ee0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082f54
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082f46
add r8, 0x7ffffdff
lea r9, str.d3d8.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082f46
movzx eax, word [r9 + rcx]
test ax, ax
je 0x140082f46
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082f27
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 0x1400830b4
mov ecx, eax
call fcn.14008ba98
mov rdi, rax
test rax, rax
je 0x1400830b4
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 0x14008340d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008340d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008340d
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008ba90
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140083000
cmp ebx, 0x40008
ja 0x140083018
jb 0x140083000
cmp esi, 0x10370
ja 0x140083018
cmp ax, 5
jne 0x14008304e
cmp ebx, 0x50001
ja 0x140083018
jb 0x14008304e
cmp esi, 0xa280371
jb 0x14008304e
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140083028
mov dword [rcx], 8
test r13, r13
je 0x140083035
mov dword [r13], 1
test r12, r12
je 0x140083044
mov edx, 0x20
mov word [r12], dx
mov dword [rsp + 0x24], 1
jmp 0x140083053
mov rcx, qword [rsp + 0x30]
cmp ax, 4
jne 0x14008306b
cmp ebx, 0x40008
ja 0x140083083
jb 0x14008306b
cmp esi, 0x10384
ja 0x140083083
cmp ax, 5
jne 0x1400830b2
cmp ebx, 0x50001
ja 0x140083083
jb 0x1400830b2
cmp esi, 0xa280385
jb 0x1400830b2
test rcx, rcx
je 0x14008308e
mov dword [rcx], 8
test r13, r13
je 0x14008309b
mov dword [r13], 1
test r12, r12
je 0x1400830aa
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 0x1400830e3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400830e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400830c0
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 0x140083110
add rax, 2
sub rcx, 1
jne 0x140083100
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083176
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083168
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x140083168
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140083168
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083147
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 0x14008324d
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x14008324d
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 0x14008341a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008341a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008341a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
cmp edi, 0x60003
ja 0x140083217
jb 0x14008324b
cmp esi, 0x10375
jb 0x14008324b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140083227
mov dword [rax], 8
test r13, r13
je 0x140083234
mov dword [r13], 1
test r12, r12
je 0x140083243
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 0x140083283
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083283
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083260
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 0x1400832b0
add rax, 2
sub rcx, 1
jne 0x1400832a0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083316
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083308
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.dpnet.dll
sub r9, rcx
test rax, rax
je 0x140083308
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140083308
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400832e7
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 0x14008342f
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x14008342f
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 0x140083427
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083427
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083427
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008ba90
mov eax, edi
shr eax, 0x10
cmp ax, 4
jne 0x1400833c2
cmp edi, 0x40009
ja 0x1400833da
jb 0x1400833c2
cmp esi, 0x85
ja 0x1400833da
cmp ax, 5
jne 0x14008342f
cmp edi, 0x50002
ja 0x1400833da
jb 0x14008342f
cmp esi, 0xe5d0086
jb 0x14008342f
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x1400833ea
mov dword [rdi], 8
test r13, r13
je 0x1400833f7
mov dword [r13], 2
test r12, r12
je 0x140083406
mov eax, 0x20
mov word [r12], ax
mov esi, 1
jmp 0x140083438
mov rcx, rdi
call fcn.14008ba90
jmp 0x1400830b4
mov rcx, rbx
call fcn.14008ba90
jmp 0x14008324d
mov rcx, rbx
call fcn.14008ba90
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 0x140083463
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083463
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083440
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 0x140083490
add rax, 2
sub rcx, 1
jne 0x140083480
mov rax, r14
mov rdx, r15
sub rax, rcx
test rcx, rcx
cmovne rdx, rax
je 0x1400834f2
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rdx*2]
sub r14, rdx
je 0x1400834e3
lea rax, [rdx + 0x7ffffdff]
add rax, r14
lea r8, str.d3d9.dll
sub r8, rcx
test rax, rax
je 0x1400834e3
movzx edx, word [r8 + rcx]
test dx, dx
je 0x1400834e3
mov word [rcx], dx
dec rax
add rcx, 2
sub r14, 1
jne 0x1400834c4
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 0x14008359d
mov ecx, eax
call fcn.14008ba98
mov rbx, rax
test rax, rax
je 0x14008359d
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 0x140083595
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r15
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4264]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083595
cmp qword [rsp + 0x28], r15
je 0x140083595
mov rcx, rbx
call fcn.14008ba90
test rdi, rdi
je 0x14008357b
mov dword [rdi], 9
test r13, r13
je 0x140083584
mov dword [r13], r15d
test r12, r12
je 0x1400835c5
mov eax, 0x20
mov word [r12], ax
jmp 0x1400835c5
mov rcx, rbx
call fcn.14008ba90
test esi, esi
jne 0x1400835c5
mov rbx, qword [rsp + 0x30]
xor esi, esi
lea ecx, [rsi + 0x20]
test rbx, rbx
je 0x1400835b2
mov dword [rbx], esi
test r13, r13
je 0x1400835bb
mov dword [r13], esi
test r12, r12
je 0x1400835c5
mov word [r12], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.14022aa20
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret