Function at 0x1400828d0
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 0x140083d0b
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 0x140082983
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082983
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082960
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 0x1400829af
add rax, 2
sub rcx, 1
jne 0x1400829a0
mov rax, r14
lea r12, str.ddraw.dll
sub rax, rcx
mov r8, rsi
test rcx, rcx
cmovne r8, rax
je 0x140082a1f
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082a11
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x140082a11
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082a11
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400829f0
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 0x140082b83
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140082b83
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 0x140082b77
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082b77
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082b77
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40002
ja 0x140082abd
jb 0x140082af4
cmp esi, 0x5f
jb 0x140082af4
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140082acd
mov dword [rbx], 1
xor edx, edx
test r13, r13
je 0x140082ad8
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082aea
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082b00
mov rbx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rsp + 0x40]
cmp edi, 0x40003
ja 0x140082b12
jb 0x140082b3b
cmp esi, 0x448
jb 0x140082b3b
test rbx, rbx
je 0x140082b1d
mov dword [rbx], 2
test r13, r13
je 0x140082b26
mov dword [r13], edx
test rax, rax
je 0x140082b33
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
cmp edi, 0x40004
ja 0x140082b4a
jb 0x140082b81
cmp esi, 0x44
jb 0x140082b81
test rbx, rbx
je 0x140082b55
mov dword [rbx], 3
xor esi, esi
test r13, r13
je 0x140082b60
mov dword [r13], esi
test rax, rax
je 0x140082b6d
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082b83
mov rcx, rbx
call fcn.14008c190
jmp 0x140082b83
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082bb3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082bb3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082b90
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 0x140082be0
add rax, 2
sub rcx, 1
jne 0x140082bd0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082c44
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082c36
add r8, 0x7ffffdff
lea r9, str.d3drg8x.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082c36
movzx eax, word [rcx + r9]
test ax, ax
je 0x140082c36
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082c17
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 0x140082d1d
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140082d1d
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 0x140082d11
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140082d11
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140082d11
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40004
ja 0x140082cda
jb 0x140082d1b
cmp esi, 0x46
jb 0x140082d1b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140082cea
mov dword [rax], 3
xor esi, esi
test r13, r13
je 0x140082cf5
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140082d07
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140082d1d
mov rcx, rbx
call fcn.14008c190
jmp 0x140082d1d
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140082d53
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082d53
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082d30
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 0x140082d80
add rax, 2
sub rcx, 1
jne 0x140082d70
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140082de2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082dd4
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140082dd4
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140082dd4
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140082db3
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 0x140082f46
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140082f46
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 0x140083272
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083272
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083272
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40005
ja 0x140082e83
jb 0x140082ebc
cmp esi, 0x9b
jb 0x140082ebc
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140082e93
mov dword [rcx], 5
xor edx, edx
test r13, r13
je 0x140082e9e
mov dword [r13], edx
mov rax, qword [rsp + 0x40]
mov r8d, 0x20
test rax, rax
je 0x140082eb2
mov word [rax], r8w
mov dword [rsp + 0x24], 1
jmp 0x140082ece
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov rax, qword [rsp + 0x40]
xor edx, edx
cmp edi, 0x40006
ja 0x140082ee0
jb 0x140082f44
cmp esi, 0x13e
jb 0x140082f05
test rcx, rcx
je 0x140082eeb
mov dword [rcx], 6
test r13, r13
je 0x140082ef4
mov dword [r13], edx
test rax, rax
je 0x140082efd
mov word [rax], r8w
mov dword [rsp + 0x24], 1
cmp edi, 0x40006
ja 0x140082f17
jb 0x140082f44
cmp esi, 0x1b4
jb 0x140082f44
test rcx, rcx
je 0x140082f22
mov dword [rcx], 6
test r13, r13
je 0x140082f2f
mov dword [r13], 1
test rax, rax
je 0x140082f3c
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 0x140082f73
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140082f73
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140082f50
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 0x140082fa0
add rax, 2
sub rcx, 1
jne 0x140082f90
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083004
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140082ff6
add r8, 0x7ffffdff
lea r9, str.dplayx.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140082ff6
movzx eax, word [rcx + r9]
test ax, ax
je 0x140082ff6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140082fd7
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 0x1400830de
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x1400830de
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 0x14008327f
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008327f
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008327f
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40006
ja 0x1400830a5
jb 0x1400830dc
cmp esi, 0x30206
jb 0x1400830dc
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400830b5
mov dword [rax], 6
test r13, r13
je 0x1400830c2
mov dword [r13], 1
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400830d4
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 0x140083113
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140083113
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400830f0
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 0x140083140
add rax, 2
sub rcx, 1
jne 0x140083130
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400831a2
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083194
lea rax, [r8 + 0x7ffffdff]
mov r9, r12
add rax, rdx
sub r9, rcx
test rax, rax
je 0x140083194
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140083194
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083173
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 0x140083298
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140083298
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 0x14008328c
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14008328c
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14008328c
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40007
ja 0x14008323b
jb 0x140083296
cmp esi, 0x2bc
jb 0x140083296
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14008324b
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140083256
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140083268
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140083298
mov rcx, rbx
call fcn.14008c190
jmp 0x140082f46
mov rcx, rbx
call fcn.14008c190
jmp 0x1400830de
mov rcx, rbx
call fcn.14008c190
jmp 0x140083298
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400832c3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400832c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400832a0
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 0x1400832f0
add rax, 2
sub rcx, 1
jne 0x1400832e0
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083354
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083346
add r8, 0x7ffffdff
lea r9, str.dinput.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x140083346
movzx eax, word [rcx + r9]
test ax, ax
je 0x140083346
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140083327
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 0x140083430
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140083430
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 0x140083424
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083424
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083424
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x40007
ja 0x1400833ed
jb 0x14008342e
cmp esi, 0x2cc
jb 0x14008342e
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400833fd
mov dword [rax], 7
xor esi, esi
test r13, r13
je 0x140083408
mov dword [r13], esi
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14008341a
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x24], 1
jmp 0x140083430
mov rcx, rbx
call fcn.14008c190
jmp 0x140083430
xor esi, esi
mov rdx, r14
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140083463
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140083463
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083440
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 0x140083490
add rax, 2
sub rcx, 1
jne 0x140083480
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400834ef
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400834e1
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
sub r12, rcx
test rax, rax
je 0x1400834e1
movzx r8d, word [rcx + r12]
test r8w, r8w
je 0x1400834e1
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400834c0
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 0x1400835f4
mov ecx, eax
call fcn.14008c198
mov rdi, rax
test rax, rax
je 0x1400835f4
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 0x1400835e8
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400835e8
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400835e8
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008c190
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140083597
cmp ebx, 0x40008
ja 0x1400835af
jb 0x140083597
cmp esi, 0x18f
ja 0x1400835af
cmp ax, 5
jne 0x1400835f2
cmp ebx, 0x50001
ja 0x1400835af
jb 0x1400835f2
cmp esi, 0x8d20190
jb 0x1400835f2
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400835bf
mov dword [rax], 8
xor esi, esi
test r13, r13
je 0x1400835ca
mov dword [r13], esi
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x1400835de
mov eax, 0x20
mov word [r12], ax
mov dword [rsp + 0x24], 1
jmp 0x1400835f9
mov rcx, rdi
call fcn.14008c190
jmp 0x1400835f4
xor esi, esi
mov r12, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140083624
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083624
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083601
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 0x140083650
add rax, 2
sub rcx, 1
jne 0x140083640
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400836b4
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400836a6
add r8, 0x7ffffdff
lea r9, str.d3d8.dll
add r8, rdx
sub r9, rcx
test r8, r8
je 0x1400836a6
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400836a6
mov word [rcx], ax
dec r8
add rcx, 2
sub rdx, 1
jne 0x140083687
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 0x140083814
mov ecx, eax
call fcn.14008c198
mov rdi, rax
test rax, rax
je 0x140083814
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 0x140083b6d
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rdi
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083b6d
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083b6d
mov ebx, dword [rax + 8]
mov rcx, rdi
mov esi, dword [rax + 0xc]
call fcn.14008c190
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140083760
cmp ebx, 0x40008
ja 0x140083778
jb 0x140083760
cmp esi, 0x10370
ja 0x140083778
cmp ax, 5
jne 0x1400837ae
cmp ebx, 0x50001
ja 0x140083778
jb 0x1400837ae
cmp esi, 0xa280371
jb 0x1400837ae
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140083788
mov dword [rcx], 8
test r13, r13
je 0x140083795
mov dword [r13], 1
test r12, r12
je 0x1400837a4
mov edx, 0x20
mov word [r12], dx
mov dword [rsp + 0x24], 1
jmp 0x1400837b3
mov rcx, qword [rsp + 0x30]
cmp ax, 4
jne 0x1400837cb
cmp ebx, 0x40008
ja 0x1400837e3
jb 0x1400837cb
cmp esi, 0x10384
ja 0x1400837e3
cmp ax, 5
jne 0x140083812
cmp ebx, 0x50001
ja 0x1400837e3
jb 0x140083812
cmp esi, 0xa280385
jb 0x140083812
test rcx, rcx
je 0x1400837ee
mov dword [rcx], 8
test r13, r13
je 0x1400837fb
mov dword [r13], 1
test r12, r12
je 0x14008380a
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 0x140083843
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083843
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083820
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 0x140083870
add rax, 2
sub rcx, 1
jne 0x140083860
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x1400838d6
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x1400838c8
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x1400838c8
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400838c8
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x1400838a7
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 0x1400839ad
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x1400839ad
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 0x140083b7a
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083b7a
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083b7a
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
cmp edi, 0x60003
ja 0x140083977
jb 0x1400839ab
cmp esi, 0x10375
jb 0x1400839ab
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140083987
mov dword [rax], 8
test r13, r13
je 0x140083994
mov dword [r13], 1
test r12, r12
je 0x1400839a3
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 0x1400839e3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400839e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400839c0
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 0x140083a10
add rax, 2
sub rcx, 1
jne 0x140083a00
mov rax, r14
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140083a76
mov rdx, r14
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140083a68
lea rax, [r8 + 0x7ffffdff]
add rax, rdx
lea r9, str.dpnet.dll
sub r9, rcx
test rax, rax
je 0x140083a68
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140083a68
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140083a47
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 0x140083b8f
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140083b8f
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 0x140083b87
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083b87
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140083b87
mov edi, dword [rax + 8]
mov rcx, rbx
mov esi, dword [rax + 0xc]
call fcn.14008c190
mov eax, edi
shr eax, 0x10
cmp ax, 4
jne 0x140083b22
cmp edi, 0x40009
ja 0x140083b3a
jb 0x140083b22
cmp esi, 0x85
ja 0x140083b3a
cmp ax, 5
jne 0x140083b8f
cmp edi, 0x50002
ja 0x140083b3a
jb 0x140083b8f
cmp esi, 0xe5d0086
jb 0x140083b8f
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x140083b4a
mov dword [rdi], 8
test r13, r13
je 0x140083b57
mov dword [r13], 2
test r12, r12
je 0x140083b66
mov eax, 0x20
mov word [r12], ax
mov esi, 1
jmp 0x140083b98
mov rcx, rdi
call fcn.14008c190
jmp 0x140083814
mov rcx, rbx
call fcn.14008c190
jmp 0x1400839ad
mov rcx, rbx
call fcn.14008c190
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 0x140083bc3
movzx eax, word [rcx + r15]
test ax, ax
je 0x140083bc3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140083ba0
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 0x140083bf0
add rax, 2
sub rcx, 1
jne 0x140083be0
mov rax, r14
mov rdx, r15
sub rax, rcx
test rcx, rcx
cmovne rdx, rax
je 0x140083c52
lea rcx, [rsp + 0x50]
lea rcx, [rcx + rdx*2]
sub r14, rdx
je 0x140083c43
lea rax, [rdx + 0x7ffffdff]
add rax, r14
lea r8, str.d3d9.dll
sub r8, rcx
test rax, rax
je 0x140083c43
movzx edx, word [r8 + rcx]
test dx, dx
je 0x140083c43
mov word [rcx], dx
dec rax
add rcx, 2
sub r14, 1
jne 0x140083c24
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 0x140083cfd
mov ecx, eax
call fcn.14008c198
mov rbx, rax
test rax, rax
je 0x140083cfd
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 0x140083cf5
lea r9, [rsp + 0x20]
mov qword [rsp + 0x28], r15
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x1402f4204]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140083cf5
cmp qword [rsp + 0x28], r15
je 0x140083cf5
mov rcx, rbx
call fcn.14008c190
test rdi, rdi
je 0x140083cdb
mov dword [rdi], 9
test r13, r13
je 0x140083ce4
mov dword [r13], r15d
test r12, r12
je 0x140083d25
mov eax, 0x20
mov word [r12], ax
jmp 0x140083d25
mov rcx, rbx
call fcn.14008c190
test esi, esi
jne 0x140083d25
mov rbx, qword [rsp + 0x30]
xor esi, esi
lea ecx, [rsi + 0x20]
test rbx, rbx
je 0x140083d12
mov dword [rbx], esi
test r13, r13
je 0x140083d1b
mov dword [r13], esi
test r12, r12
je 0x140083d25
mov word [r12], cx
xor eax, eax
mov rcx, qword [rbp + 0x750]
xor rcx, rsp
call fcn.14022b120
add rsp, 0x860
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret