Function at 0x140075d70
Capabilities:
Get common file path
Get file version info

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7f0]
sub rsp, 0x8f0
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x948], rbx
mov rax, qword [0x1403b88b0]
xor rax, rsp
mov qword [rbp + 0x7e0], rax
mov rsi, r8
mov qword [rsp + 0x28], r8
mov r12, rdx
mov r13, rcx
mov qword [rsp + 0x60], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov edx, 0x104
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [rdi + 0x20]
test eax, eax
je 0x1400770c9
mov word [rbp + 0x5e6], di
mov r14d, 0x200
mov edx, r14d
lea rcx, [rbp - 0x20]
lea r15, [rbp + 0x3e0]
lea rax, [rbp - 0x20]
sub r15, rax
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140075e27
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140075e27
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140075e04
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
nop dword [rax]
cmp word [rax], di
je 0x140075e4f
add rax, 2
sub rcx, 1
jne 0x140075e40
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140075eb4
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140075ea6
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
test rax, rax
je 0x140075ea6
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140075ea6
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140075e85
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x14007601e
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x14007601e
mov r9, rax
mov r8d, dword [rsp + 0x38]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076012
mov qword [rsp + 0x68], rdi
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x68]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076012
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140076012
mov edi, dword [rax + 8]
mov dword [rsp + 0x34], edi
mov esi, dword [rax + 0xc]
mov dword [rsp + 0x30], esi
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40002
ja 0x140075f57
jb 0x140075f8b
cmp esi, 0x5f
jb 0x140075f8b
test r13, r13
je 0x140075f64
mov dword [r13], 1
test r12, r12
je 0x140075f6f
xor eax, eax
mov dword [r12], eax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140075f81
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140075f90
mov rax, qword [rsp + 0x28]
cmp edi, 0x40003
ja 0x140075fa2
jb 0x140075fcf
cmp esi, 0x448
jb 0x140075fcf
test r13, r13
je 0x140075faf
mov dword [r13], 2
test r12, r12
je 0x140075fba
xor ecx, ecx
mov dword [r12], ecx
test rax, rax
je 0x140075fc7
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
cmp edi, 0x40004
ja 0x140075fde
jb 0x14007601c
cmp esi, 0x44
jb 0x14007601c
test r13, r13
je 0x140075feb
mov dword [r13], 3
xor edi, edi
test r12, r12
je 0x140075ff6
mov dword [r12], edi
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x140076008
mov eax, 0x20
mov word [rsi], ax
mov dword [rsp + 0x20], 1
jmp 0x14007601e
mov rcx, rbx
call fcn.1400f4944
jmp 0x14007601e
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076053
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140076053
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076030
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x140076078
add rax, 2
sub rcx, 1
jne 0x140076068
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x1400760df
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x1400760d1
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.d3drg8x.dll
sub r9, rcx
nop
test rax, rax
je 0x1400760d1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x1400760d1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x1400760b0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x2c]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x1400761ae
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x1400761ae
mov r9, rax
mov r8d, dword [rsp + 0x3c]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400761a2
mov qword [rsp + 0x70], rdi
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x70]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400761a2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400761a2
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40004
ja 0x14007616e
jb 0x1400761ac
cmp esi, 0x46
jb 0x1400761ac
test r13, r13
je 0x14007617b
mov dword [r13], 3
xor edi, edi
test r12, r12
je 0x140076186
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140076198
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x1400761ae
mov rcx, rbx
call fcn.1400f4944
jmp 0x1400761ae
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400761e3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400761e3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400761c0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x140076208
add rax, 2
sub rcx, 1
jne 0x1400761f8
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14007626f
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140076261
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
nop
test rax, rax
je 0x140076261
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140076261
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140076240
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1400763d0
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x1400763d0
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400766e6
mov qword [rsp + 0x78], rdi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x78]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400766e6
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400766e6
mov edi, dword [rax + 8]
mov dword [rsp + 0x34], edi
mov esi, dword [rax + 0xc]
mov dword [rsp + 0x30], esi
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40005
ja 0x140076315
jb 0x140076349
cmp esi, 0x9b
jb 0x140076349
test r13, r13
je 0x140076322
mov dword [r13], 5
test r12, r12
je 0x14007632d
xor eax, eax
mov dword [r12], eax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007633f
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x14007634e
mov rax, qword [rsp + 0x28]
cmp edi, 0x40006
ja 0x140076360
jb 0x1400763ce
cmp esi, 0x13e
jb 0x14007638d
test r13, r13
je 0x14007636d
mov dword [r13], 6
test r12, r12
je 0x140076378
xor ecx, ecx
mov dword [r12], ecx
test rax, rax
je 0x140076385
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
cmp edi, 0x40006
ja 0x14007639f
jb 0x1400763ce
cmp esi, 0x1b4
jb 0x1400763ce
test r13, r13
je 0x1400763ac
mov dword [r13], 6
test r12, r12
je 0x1400763b9
mov dword [r12], 1
test rax, rax
je 0x1400763c6
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076403
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140076403
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400763e0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x140076428
add rax, 2
sub rcx, 1
jne 0x140076418
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14007648d
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x14007647f
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.dplayx.dll
sub r9, rcx
nop
test r8, r8
je 0x14007647f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14007647f
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140076460
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x4c]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14007655e
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x14007655e
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1400766f3
mov qword [rbp - 0x80], rdi
lea r9, [rsp + 0x44]
lea r8, [rbp - 0x80]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400766f3
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400766f3
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40006
ja 0x140076528
jb 0x14007655c
cmp esi, 0x30206
jb 0x14007655c
test r13, r13
je 0x140076535
mov dword [r13], 6
test r12, r12
je 0x140076542
mov dword [r12], 1
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140076554
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x20], 1
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076593
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140076593
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076570
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x1400765b8
add rax, 2
sub rcx, 1
jne 0x1400765a8
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14007661f
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140076611
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
nop
test rax, rax
je 0x140076611
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140076611
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x1400765f0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14007670c
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x14007670c
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076700
mov qword [rbp - 0x78], rdi
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x78]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076700
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140076700
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40007
ja 0x1400766b2
jb 0x14007670a
cmp esi, 0x2bc
jb 0x14007670a
test r13, r13
je 0x1400766bf
mov dword [r13], 7
xor edi, edi
test r12, r12
je 0x1400766ca
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400766dc
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x14007670c
mov rcx, rbx
call fcn.1400f4944
jmp 0x1400763d0
mov rcx, rbx
call fcn.1400f4944
jmp 0x14007655e
mov rcx, rbx
call fcn.1400f4944
jmp 0x14007670c
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076736
movzx eax, word [rcx + r15]
test ax, ax
je 0x140076736
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076713
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
nop dword [rax + rax]
cmp word [rax], 0
je 0x140076760
add rax, 2
sub rcx, 1
jne 0x140076750
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x1400767c3
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x1400767b5
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.dinput.dll
sub r9, rcx
test r8, r8
je 0x1400767b5
movzx eax, word [rcx + r9]
test ax, ax
je 0x1400767b5
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140076796
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x44]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x140076892
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x140076892
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076886
mov qword [rbp - 0x70], rdi
lea r9, [rsp + 0x4c]
lea r8, [rbp - 0x70]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076886
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140076886
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x40007
ja 0x140076852
jb 0x140076890
cmp esi, 0x2cc
jb 0x140076890
test r13, r13
je 0x14007685f
mov dword [r13], 7
xor edi, edi
test r12, r12
je 0x14007686a
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14007687c
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140076892
mov rcx, rbx
call fcn.1400f4944
jmp 0x140076892
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400768c3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400768c3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400768a0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x1400768e8
add rax, 2
sub rcx, 1
jne 0x1400768d8
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140076954
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140076946
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r13, str.ddraw.dll
sub r13, rcx
nop
test rax, rax
je 0x140076941
movzx r8d, word [rcx + r13]
test r8w, r8w
je 0x140076941
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140076920
mov r13, qword [rsp + 0x60]
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x50], eax
test eax, eax
je 0x140076a52
mov ecx, eax
call fcn.1400f494c
mov rdi, rax
test rax, rax
je 0x140076a50
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076a48
xor eax, eax
mov qword [rbp - 0x68], rax
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x68]
lea rdx, [0x140329108]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076a48
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140076a48
mov ebx, dword [rax + 8]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + 0xc]
mov rcx, rdi
call fcn.1400f4944
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400769fc
cmp ebx, 0x40008
ja 0x140076a14
jb 0x1400769fc
cmp esi, 0x18f
ja 0x140076a14
cmp ax, 5
jne 0x140076a50
cmp ebx, 0x50001
ja 0x140076a14
jb 0x140076a50
cmp esi, 0x8d20190
jb 0x140076a50
test r13, r13
je 0x140076a21
mov dword [r13], 8
xor edi, edi
test r12, r12
je 0x140076a2c
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140076a3e
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140076a52
mov rcx, rdi
call fcn.1400f4944
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076a83
movzx eax, word [rcx + r15]
test ax, ax
je 0x140076a83
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076a60
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x140076aa8
add rax, 2
sub rcx, 1
jne 0x140076a98
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140076b0d
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140076aff
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.d3d8.dll
sub r9, rcx
nop
test r8, r8
je 0x140076aff
movzx eax, word [rcx + r9]
test ax, ax
je 0x140076aff
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140076ae0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x3c]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x54], eax
test eax, eax
je 0x140076c7b
mov ecx, eax
call fcn.1400f494c
mov rdi, rax
test rax, rax
je 0x140076c79
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076c71
xor eax, eax
mov qword [rbp - 0x60], rax
lea r9, [rsp + 0x54]
lea r8, [rbp - 0x60]
lea rdx, [0x140329108]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076c71
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x140076c71
mov ebx, dword [rax + 8]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + 0xc]
mov dword [rsp + 0x30], esi
mov rcx, rdi
call fcn.1400f4944
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140076bbd
cmp ebx, 0x40008
ja 0x140076bd5
jb 0x140076bbd
cmp esi, 0x10370
ja 0x140076bd5
cmp ax, 5
jne 0x140076c0b
cmp ebx, 0x50001
ja 0x140076bd5
jb 0x140076c0b
cmp esi, 0xa280371
jb 0x140076c0b
test r13, r13
je 0x140076be2
mov dword [r13], 8
test r12, r12
je 0x140076bef
mov dword [r12], 1
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140076c01
mov edx, 0x20
mov word [rcx], dx
mov dword [rsp + 0x20], 1
jmp 0x140076c10
mov rcx, qword [rsp + 0x28]
cmp ax, 4
jne 0x140076c28
cmp ebx, 0x40008
ja 0x140076c40
jb 0x140076c28
cmp esi, 0x10384
ja 0x140076c40
cmp ax, 5
jne 0x140076c79
cmp ebx, 0x50001
ja 0x140076c40
jb 0x140076c79
cmp esi, 0xa280385
jb 0x140076c79
test r13, r13
je 0x140076c4d
mov dword [r13], 8
test r12, r12
je 0x140076c5a
mov dword [r12], 1
test rcx, rcx
je 0x140076c67
mov eax, 0x61
mov word [rcx], ax
mov dword [rsp + 0x20], 1
jmp 0x140076c79
mov rcx, rdi
call fcn.1400f4944
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076ca5
movzx eax, word [rcx + r15]
test ax, ax
je 0x140076ca5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076c82
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
nop word [rax + rax]
cmp word [rax], 0
je 0x140076cd0
add rax, 2
sub rcx, 1
jne 0x140076cc0
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140076d35
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140076d27
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x140076d27
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140076d27
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140076d06
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x58], eax
test eax, eax
je 0x140076e06
mov ecx, eax
call fcn.1400f494c
mov rbx, rax
test rax, rax
je 0x140076e06
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076fb8
mov qword [rbp - 0x58], rdi
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x58]
lea rdx, [0x140329108]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076fb8
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140076fb8
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.1400f4944
cmp edi, 0x60003
ja 0x140076dd0
jb 0x140076e04
cmp esi, 0x10375
jb 0x140076e04
test r13, r13
je 0x140076ddd
mov dword [r13], 8
test r12, r12
je 0x140076dea
mov dword [r12], 1
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140076dfc
mov ecx, 0x62
mov word [rax], cx
mov dword [rsp + 0x20], 1
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140076e33
movzx eax, word [rcx + r15]
test ax, ax
je 0x140076e33
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140076e10
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rcx, r14
lea rax, [rbp - 0x20]
cmp word [rax], 0
je 0x140076e58
add rax, 2
sub rcx, 1
jne 0x140076e48
mov rax, r14
sub rax, rcx
mov rdx, rdi
test rcx, rcx
cmovne rdx, rax
je 0x140076ebd
sub r14, rdx
lea rcx, [rbp - 0x20]
lea rcx, [rcx + rdx*2]
je 0x140076eaf
lea rax, [rdx + 0x7ffffdfe]
add rax, r14
lea r8, str.dpnet.dll
sub r8, rcx
nop dword [rax + rax]
test rax, rax
je 0x140076eaf
movzx edx, word [r8 + rcx]
test dx, dx
je 0x140076eaf
mov word [rcx], dx
add rcx, 2
dec rax
sub r14, 1
jne 0x140076e90
lea rax, [rcx - 2]
test r14, r14
cmovne rax, rcx
mov word [rax], di
lea rdx, [rbp - 0x34]
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [rsp + 0x5c], eax
test eax, eax
je 0x140076fcd
mov ecx, eax
call fcn.1400f494c
mov rdi, rax
test rax, rax
je 0x140076fcd
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140076fc5
xor eax, eax
mov qword [rsp + 0x60], rax
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x60]
lea rdx, [0x140329108]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140076fc5
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140076fc5
mov ebx, dword [rax + 8]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + 0xc]
mov rcx, rdi
call fcn.1400f4944
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x140076f6c
cmp ebx, 0x40009
ja 0x140076f84
jb 0x140076f6c
cmp esi, 0x85
ja 0x140076f84
cmp ax, 5
jne 0x140076fcd
cmp ebx, 0x50002
ja 0x140076f84
jb 0x140076fcd
cmp esi, 0xe5d0086
jb 0x140076fcd
test r13, r13
je 0x140076f91
mov dword [r13], 8
test r12, r12
je 0x140076f9e
mov dword [r12], 2
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x140076fb0
mov eax, 0x20
mov word [rsi], ax
mov r14d, 1
jmp 0x140076fd7
mov rcx, rbx
call fcn.1400f4944
jmp 0x140076e06
mov rcx, rdi
call fcn.1400f4944
mov r14d, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov edi, 9
nop dword [rax]
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x14007711a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r9d, edi
lea r8, [rbp + 0x3e0]
lea rdx, str._sd3d_d.dll
lea rcx, [rsp + 0x28]
call fcn.14000dd70
mov rbx, qword [rsp + 0x28]
cmp dword [rbx - 8], 1
jle 0x140077038
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.14000da70
mov rbx, qword [rsp + 0x28]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140077130
test eax, eax
js 0x140077070
test r13, r13
je 0x140077052
mov dword [r13], edi
test r12, r12
je 0x14007705d
xor eax, eax
mov dword [r12], eax
test rsi, rsi
je 0x14007706a
mov eax, 0x20
mov word [rsi], ax
mov r14d, 1
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140289b40
test eax, eax
js 0x14007710f
cmp eax, dword [rbx - 0xc]
jg 0x14007710f
mov dword [rbx - 0x10], eax
cdqe
xor ecx, ecx
mov word [rbx + rax*2], cx
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400770b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc edi
cmp edi, 0x63
jl 0x140076fe0
test r14d, r14d
jne 0x1400770e3
xor edi, edi
lea ecx, [rdi + 0x20]
test r13, r13
je 0x1400770d2
mov dword [r13], edi
test r12, r12
je 0x1400770db
mov dword [r12], edi
test rsi, rsi
je 0x1400770e3
mov word [rsi], cx
xor eax, eax
mov rcx, qword [rbp + 0x7e0]
xor rcx, rsp
call fcn.140281bf0
mov rbx, qword [rsp + 0x948]
add rsp, 0x8f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070057
call fcn.14000dc70
nop
mov ecx, 0x80004005
call fcn.14000dc70
int3