Function at 0x140082950
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 0x140083d8b
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 0x140082a03
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082a03
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400829e0
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 0x140082a2f
add rax, 2
sub rcx, 1
jne 0x140082a20
mov rax, r14
lea r12, str.ddraw.dll
sub rax, rcx
mov r8, rsi
test rcx, rcx
cmovne r8, rax
je 0x140082a9f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082a91
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x140082a91
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082a91
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082a70
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 0x140082c03
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140082c03
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 0x140082bf7
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082bf7
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082bf7
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40002
ja 0x140082b3d
jb 0x140082b74
cmp esi, 0x5f
jb 0x140082b74
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140082b4d
mov dword [rbx], 1
xor edx, edx
test r13, r13
je 0x140082b58
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082b6a
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082b80
mov rbx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rsp + 0x40]
cmp edi, 0x40003
ja 0x140082b92
jb 0x140082bbb
cmp esi, 0x448
jb 0x140082bbb
test rbx, rbx
je 0x140082b9d
mov dword [rbx], 2
test r13, r13
je 0x140082ba6
mov dword [r13], edx
test rax, rax
je 0x140082bb3
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
cmp edi, 0x40004
ja 0x140082bca
jb 0x140082c01
cmp esi, 0x44
jb 0x140082c01
test rbx, rbx
je 0x140082bd5
mov dword [rbx], 3
xor esi, esi
test r13, r13
je 0x140082be0
mov dword [r13], esi
test rax, rax
je 0x140082bed
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082c03
mov rcx, rbx
call fcn.14008c210
jmp 0x140082c03
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082c33
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082c33
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082c10
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 0x140082c60
add rax, 2
sub rcx, 1
jne 0x140082c50
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082cc4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082cb6
add r8, 0x7ffffdff
lea r9, str.d3drg8x.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082cb6
movzx eax, word [rcx + r9]
test ax, ax
je 0x140082cb6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082c97
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 0x140082d9d
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140082d9d
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 0x140082d91
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082d91
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082d91
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40004
ja 0x140082d5a
jb 0x140082d9b
cmp esi, 0x46
jb 0x140082d9b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082d6a
mov dword [rax], 3
xor esi, esi
test r13, r13
je 0x140082d75
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082d87
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082d9d
mov rcx, rbx
call fcn.14008c210
jmp 0x140082d9d
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082dd3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082dd3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082db0
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 0x140082e00
add rax, 2
sub rcx, 1
jne 0x140082df0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082e62
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082e54
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140082e54
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082e54
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082e33
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 0x140082fc6
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140082fc6
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 0x1400832f2
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400832f2
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400832f2
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40005
ja 0x140082f03
jb 0x140082f3c
cmp esi, 0x9b
jb 0x140082f3c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140082f13
mov dword [rcx], 5
xor edx, edx
test r13, r13
je 0x140082f1e
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
mov r8d, 0x20
test rax, rax
je 0x140082f32
mov word [rax], r8w
mov dword [rsp + 0x24], 1
jmp 0x140082f4e
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov rax, qword [rsp + 0x40]
xor edx, edx
cmp edi, 0x40006
ja 0x140082f60
jb 0x140082fc4
cmp esi, 0x13e
jb 0x140082f85
test rcx, rcx
je 0x140082f6b
mov dword [rcx], 6
test r13, r13
je 0x140082f74
mov dword [r13], edx
test rax, rax
je 0x140082f7d
mov word [rax], r8w
mov dword [rsp + 0x24], 1
cmp edi, 0x40006
ja 0x140082f97
jb 0x140082fc4
cmp esi, 0x1b4
jb 0x140082fc4
test rcx, rcx
je 0x140082fa2
mov dword [rcx], 6
test r13, r13
je 0x140082faf
mov dword [r13], 1
test rax, rax
je 0x140082fbc
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 0x140082ff3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082ff3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082fd0
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 0x140083020
add rax, 2
sub rcx, 1
jne 0x140083010
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083084
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083076
add r8, 0x7ffffdff
lea r9, str.dplayx.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140083076
movzx eax, word [rcx + r9]
test ax, ax
je 0x140083076
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140083057
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 0x14008315e
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x14008315e
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 0x1400832ff
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400832ff
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400832ff
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40006
ja 0x140083125
jb 0x14008315c
cmp esi, 0x30206
jb 0x14008315c
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140083135
mov dword [rax], 6
test r13, r13
je 0x140083142
mov dword [r13], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140083154
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 0x140083193
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140083193
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083170
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 0x1400831c0
add rax, 2
sub rcx, 1
jne 0x1400831b0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083222
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083214
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140083214
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140083214
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400831f3
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 0x140083318
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140083318
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 0x14008330c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008330c
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008330c
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40007
ja 0x1400832bb
jb 0x140083316
cmp esi, 0x2bc
jb 0x140083316
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400832cb
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x1400832d6
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400832e8
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140083318
mov rcx, rbx
call fcn.14008c210
jmp 0x140082fc6
mov rcx, rbx
call fcn.14008c210
jmp 0x14008315e
mov rcx, rbx
call fcn.14008c210
jmp 0x140083318
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140083343
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140083343
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083320
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 0x140083370
add rax, 2
sub rcx, 1
jne 0x140083360
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400833d4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400833c6
add r8, 0x7ffffdff
lea r9, str.dinput.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x1400833c6
movzx eax, word [rcx + r9]
test ax, ax
je 0x1400833c6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x1400833a7
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 0x1400834b0
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x1400834b0
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 0x1400834a4
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400834a4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400834a4
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x40007
ja 0x14008346d
jb 0x1400834ae
cmp esi, 0x2cc
jb 0x1400834ae
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14008347d
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140083488
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14008349a
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x1400834b0
mov rcx, rbx
call fcn.14008c210
jmp 0x1400834b0
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400834e3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400834e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400834c0
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 0x140083510
add rax, 2
sub rcx, 1
jne 0x140083500
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x14008356f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083561
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
sub r12, rcx
test rax, rax
je 0x140083561
movzx r8d, word [rcx + r12]
test r8w, r8w
je 0x140083561
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083540
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 0x140083674
mov ecx, eax
call fcn.14008c218
mov rdi, rax
test rax, rax
je 0x140083674
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 0x140083668
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083668
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083668
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008c210
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140083617
cmp ebx, 0x40008
ja 0x14008362f
jb 0x140083617
cmp esi, 0x18f
ja 0x14008362f
cmp ax, 5
jne 0x140083672
cmp ebx, 0x50001
ja 0x14008362f
jb 0x140083672
cmp esi, 0x8d20190
jb 0x140083672
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14008363f
mov dword [rax], 8
xor esi, esi
test r13, r13
je 0x14008364a
mov dword [r13], esi
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x14008365e
mov eax, 0x20
mov word [r12], ax
mov dword [rsp + 0x24], 1
jmp 0x140083679
mov rcx, rdi
call fcn.14008c210
jmp 0x140083674
xor esi, esi
mov r12, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400836a4
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400836a4
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083681
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 0x1400836d0
add rax, 2
sub rcx, 1
jne 0x1400836c0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083734
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083726
add r8, 0x7ffffdff
lea r9, str.d3d8.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140083726
movzx eax, word [r9 + rcx]
test ax, ax
je 0x140083726
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140083707
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 0x140083894
mov ecx, eax
call fcn.14008c218
mov rdi, rax
test rax, rax
je 0x140083894
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 0x140083bed
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083bed
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083bed
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008c210
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400837e0
cmp ebx, 0x40008
ja 0x1400837f8
jb 0x1400837e0
cmp esi, 0x10370
ja 0x1400837f8
cmp ax, 5
jne 0x14008382e
cmp ebx, 0x50001
ja 0x1400837f8
jb 0x14008382e
cmp esi, 0xa280371
jb 0x14008382e
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140083808
mov dword [rcx], 8
test r13, r13
je 0x140083815
mov dword [r13], 1
test r12, r12
je 0x140083824
mov edx, 0x20
mov word [r12], dx
mov dword [rsp + 0x24], 1
jmp 0x140083833
mov rcx, qword [rsp + 0x30]
cmp ax, 4
jne 0x14008384b
cmp ebx, 0x40008
ja 0x140083863
jb 0x14008384b
cmp esi, 0x10384
ja 0x140083863
cmp ax, 5
jne 0x140083892
cmp ebx, 0x50001
ja 0x140083863
jb 0x140083892
cmp esi, 0xa280385
jb 0x140083892
test rcx, rcx
je 0x14008386e
mov dword [rcx], 8
test r13, r13
je 0x14008387b
mov dword [r13], 1
test r12, r12
je 0x14008388a
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 0x1400838c3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400838c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400838a0
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 0x1400838f0
add rax, 2
sub rcx, 1
jne 0x1400838e0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083956
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083948
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x140083948
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140083948
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083927
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 0x140083a2d
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140083a2d
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 0x140083bfa
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083bfa
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083bfa
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
cmp edi, 0x60003
ja 0x1400839f7
jb 0x140083a2b
cmp esi, 0x10375
jb 0x140083a2b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140083a07
mov dword [rax], 8
test r13, r13
je 0x140083a14
mov dword [r13], 1
test r12, r12
je 0x140083a23
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 0x140083a63
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083a63
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083a40
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 0x140083a90
add rax, 2
sub rcx, 1
jne 0x140083a80
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083af6
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083ae8
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.dpnet.dll
sub r9, rcx
test rax, rax
je 0x140083ae8
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140083ae8
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083ac7
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 0x140083c0f
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140083c0f
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 0x140083c07
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083c07
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083c07
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c210
mov eax, edi
shr eax, 0x10
cmp ax, 4
jne 0x140083ba2
cmp edi, 0x40009
ja 0x140083bba
jb 0x140083ba2
cmp esi, 0x85
ja 0x140083bba
cmp ax, 5
jne 0x140083c0f
cmp edi, 0x50002
ja 0x140083bba
jb 0x140083c0f
cmp esi, 0xe5d0086
jb 0x140083c0f
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x140083bca
mov dword [rdi], 8
test r13, r13
je 0x140083bd7
mov dword [r13], 2
test r12, r12
je 0x140083be6
mov eax, 0x20
mov word [r12], ax
mov esi, 1
jmp 0x140083c18
mov rcx, rdi
call fcn.14008c210
jmp 0x140083894
mov rcx, rbx
call fcn.14008c210
jmp 0x140083a2d
mov rcx, rbx
call fcn.14008c210
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 0x140083c43
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083c43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083c20
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 0x140083c70
add rax, 2
sub rcx, 1
jne 0x140083c60
mov rax, r14
mov rdx, r15
sub rax, rcx
test rcx, rcx
cmovne rdx, rax
je 0x140083cd2
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rdx*2]
sub r14, rdx
je 0x140083cc3
lea rax, [rdx + 0x7ffffdff]
add rax, r14
lea r8, str.d3d9.dll
sub r8, rcx
test rax, rax
je 0x140083cc3
movzx edx, word [r8 + rcx]
test dx, dx
je 0x140083cc3
mov word [rcx], dx
dec rax
add rcx, 2
sub r14, 1
jne 0x140083ca4
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 0x140083d7d
mov ecx, eax
call fcn.14008c218
mov rbx, rax
test rax, rax
je 0x140083d7d
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 0x140083d75
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r15
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4224]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083d75
cmp qword [rsp + 0x28], r15
je 0x140083d75
mov rcx, rbx
call fcn.14008c210
test rdi, rdi
je 0x140083d5b
mov dword [rdi], 9
test r13, r13
je 0x140083d64
mov dword [r13], r15d
test r12, r12
je 0x140083da5
mov eax, 0x20
mov word [r12], ax
jmp 0x140083da5
mov rcx, rbx
call fcn.14008c210
test esi, esi
jne 0x140083da5
mov rbx, qword [rsp + 0x30]
xor esi, esi
lea ecx, [rsi + 0x20]
test rbx, rbx
je 0x140083d92
mov dword [rbx], esi
test r13, r13
je 0x140083d9b
mov dword [r13], esi
test r12, r12
je 0x140083da5
mov word [r12], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.14022b1a0
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret