Function at 0x1400937f0
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 [0x14044f8c0]
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 0x140094b49
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 0x1400938a7
movzx eax, word [r15 + rcx]
test ax, ax
je 0x1400938a7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140093884
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 0x1400938cf
add rax, 2
sub rcx, 1
jne 0x1400938c0
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140093934
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140093926
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
test rax, rax
je 0x140093926
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140093926
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140093905
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 0x140093a9e
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140093a9e
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 0x140093a92
mov qword [rsp + 0x68], rdi
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x68]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140093a92
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140093a92
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.140153a7c
cmp edi, 0x40002
ja 0x1400939d7
jb 0x140093a0b
cmp esi, 0x5f
jb 0x140093a0b
test r13, r13
je 0x1400939e4
mov dword [r13], 1
test r12, r12
je 0x1400939ef
xor eax, eax
mov dword [r12], eax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140093a01
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140093a10
mov rax, qword [rsp + 0x28]
cmp edi, 0x40003
ja 0x140093a22
jb 0x140093a4f
cmp esi, 0x448
jb 0x140093a4f
test r13, r13
je 0x140093a2f
mov dword [r13], 2
test r12, r12
je 0x140093a3a
xor ecx, ecx
mov dword [r12], ecx
test rax, rax
je 0x140093a47
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
cmp edi, 0x40004
ja 0x140093a5e
jb 0x140093a9c
cmp esi, 0x44
jb 0x140093a9c
test r13, r13
je 0x140093a6b
mov dword [r13], 3
xor edi, edi
test r12, r12
je 0x140093a76
mov dword [r12], edi
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x140093a88
mov eax, 0x20
mov word [rsi], ax
mov dword [rsp + 0x20], 1
jmp 0x140093a9e
mov rcx, rbx
call fcn.140153a7c
jmp 0x140093a9e
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140093ad3
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140093ad3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140093ab0
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 0x140093af8
add rax, 2
sub rcx, 1
jne 0x140093ae8
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140093b5f
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140093b51
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.d3drg8x.dll
sub r9, rcx
nop
test rax, rax
je 0x140093b51
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140093b51
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140093b30
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 0x140093c2e
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140093c2e
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 0x140093c22
mov qword [rsp + 0x70], rdi
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x70]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140093c22
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140093c22
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.140153a7c
cmp edi, 0x40004
ja 0x140093bee
jb 0x140093c2c
cmp esi, 0x46
jb 0x140093c2c
test r13, r13
je 0x140093bfb
mov dword [r13], 3
xor edi, edi
test r12, r12
je 0x140093c06
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140093c18
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140093c2e
mov rcx, rbx
call fcn.140153a7c
jmp 0x140093c2e
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140093c63
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140093c63
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140093c40
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 0x140093c88
add rax, 2
sub rcx, 1
jne 0x140093c78
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140093cef
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140093ce1
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
nop
test rax, rax
je 0x140093ce1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140093ce1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140093cc0
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 0x140093e50
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140093e50
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 0x140094166
mov qword [rsp + 0x78], rdi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x78]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094166
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140094166
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.140153a7c
cmp edi, 0x40005
ja 0x140093d95
jb 0x140093dc9
cmp esi, 0x9b
jb 0x140093dc9
test r13, r13
je 0x140093da2
mov dword [r13], 5
test r12, r12
je 0x140093dad
xor eax, eax
mov dword [r12], eax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140093dbf
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140093dce
mov rax, qword [rsp + 0x28]
cmp edi, 0x40006
ja 0x140093de0
jb 0x140093e4e
cmp esi, 0x13e
jb 0x140093e0d
test r13, r13
je 0x140093ded
mov dword [r13], 6
test r12, r12
je 0x140093df8
xor ecx, ecx
mov dword [r12], ecx
test rax, rax
je 0x140093e05
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
cmp edi, 0x40006
ja 0x140093e1f
jb 0x140093e4e
cmp esi, 0x1b4
jb 0x140093e4e
test r13, r13
je 0x140093e2c
mov dword [r13], 6
test r12, r12
je 0x140093e39
mov dword [r12], 1
test rax, rax
je 0x140093e46
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 0x140093e83
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140093e83
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140093e60
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 0x140093ea8
add rax, 2
sub rcx, 1
jne 0x140093e98
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140093f0d
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140093eff
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.dplayx.dll
sub r9, rcx
nop
test r8, r8
je 0x140093eff
movzx eax, word [rcx + r9]
test ax, ax
je 0x140093eff
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140093ee0
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 0x140093fde
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140093fde
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 0x140094173
mov qword [rbp - 0x80], rdi
lea r9, [rsp + 0x44]
lea r8, [rbp - 0x80]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094173
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140094173
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.140153a7c
cmp edi, 0x40006
ja 0x140093fa8
jb 0x140093fdc
cmp esi, 0x30206
jb 0x140093fdc
test r13, r13
je 0x140093fb5
mov dword [r13], 6
test r12, r12
je 0x140093fc2
mov dword [r12], 1
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140093fd4
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 0x140094013
movzx eax, word [r15 + rcx]
test ax, ax
je 0x140094013
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140093ff0
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 0x140094038
add rax, 2
sub rcx, 1
jne 0x140094028
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14009409f
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140094091
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.ddraw.dll
sub r9, rcx
nop
test rax, rax
je 0x140094091
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140094091
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140094070
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 0x14009418c
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x14009418c
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 0x140094180
mov qword [rbp - 0x78], rdi
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x78]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094180
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140094180
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.140153a7c
cmp edi, 0x40007
ja 0x140094132
jb 0x14009418a
cmp esi, 0x2bc
jb 0x14009418a
test r13, r13
je 0x14009413f
mov dword [r13], 7
xor edi, edi
test r12, r12
je 0x14009414a
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14009415c
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x14009418c
mov rcx, rbx
call fcn.140153a7c
jmp 0x140093e50
mov rcx, rbx
call fcn.140153a7c
jmp 0x140093fde
mov rcx, rbx
call fcn.140153a7c
jmp 0x14009418c
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400941b6
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400941b6
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140094193
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 0x1400941e0
add rax, 2
sub rcx, 1
jne 0x1400941d0
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x140094243
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x140094235
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.dinput.dll
sub r9, rcx
test r8, r8
je 0x140094235
movzx eax, word [rcx + r9]
test ax, ax
je 0x140094235
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140094216
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 0x140094312
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140094312
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 0x140094306
mov qword [rbp - 0x70], rdi
lea r9, [rsp + 0x4c]
lea r8, [rbp - 0x70]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094306
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140094306
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.140153a7c
cmp edi, 0x40007
ja 0x1400942d2
jb 0x140094310
cmp esi, 0x2cc
jb 0x140094310
test r13, r13
je 0x1400942df
mov dword [r13], 7
xor edi, edi
test r12, r12
je 0x1400942ea
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400942fc
mov ecx, 0x61
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x140094312
mov rcx, rbx
call fcn.140153a7c
jmp 0x140094312
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140094343
movzx eax, word [rcx + r15]
test ax, ax
je 0x140094343
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140094320
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 0x140094368
add rax, 2
sub rcx, 1
jne 0x140094358
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x1400943d4
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x1400943c6
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r13, str.ddraw.dll
sub r13, rcx
nop
test rax, rax
je 0x1400943c1
movzx r8d, word [rcx + r13]
test r8w, r8w
je 0x1400943c1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x1400943a0
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 0x1400944d2
mov ecx, eax
call fcn.140153a84
mov rdi, rax
test rax, rax
je 0x1400944d0
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 0x1400944c8
xor eax, eax
mov qword [rbp - 0x68], rax
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x68]
lea rdx, [0x140393ef0]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400944c8
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x1400944c8
mov ebx, dword [rax + 8]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + 0xc]
mov rcx, rdi
call fcn.140153a7c
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14009447c
cmp ebx, 0x40008
ja 0x140094494
jb 0x14009447c
cmp esi, 0x18f
ja 0x140094494
cmp ax, 5
jne 0x1400944d0
cmp ebx, 0x50001
ja 0x140094494
jb 0x1400944d0
cmp esi, 0x8d20190
jb 0x1400944d0
test r13, r13
je 0x1400944a1
mov dword [r13], 8
xor edi, edi
test r12, r12
je 0x1400944ac
mov dword [r12], edi
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400944be
mov ecx, 0x20
mov word [rax], cx
mov dword [rsp + 0x20], 1
jmp 0x1400944d2
mov rcx, rdi
call fcn.140153a7c
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
nop dword [rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140094503
movzx eax, word [rcx + r15]
test ax, ax
je 0x140094503
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400944e0
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 0x140094528
add rax, 2
sub rcx, 1
jne 0x140094518
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14009458d
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x14009457f
add r8, 0x7ffffdfe
add r8, rdx
lea r9, str.d3d8.dll
sub r9, rcx
nop
test r8, r8
je 0x14009457f
movzx eax, word [rcx + r9]
test ax, ax
je 0x14009457f
mov word [rcx], ax
add rcx, 2
dec r8
sub rdx, 1
jne 0x140094560
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 0x1400946fb
mov ecx, eax
call fcn.140153a84
mov rdi, rax
test rax, rax
je 0x1400946f9
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 0x1400946f1
xor eax, eax
mov qword [rbp - 0x60], rax
lea r9, [rsp + 0x54]
lea r8, [rbp - 0x60]
lea rdx, [0x140393ef0]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400946f1
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1400946f1
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.140153a7c
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x14009463d
cmp ebx, 0x40008
ja 0x140094655
jb 0x14009463d
cmp esi, 0x10370
ja 0x140094655
cmp ax, 5
jne 0x14009468b
cmp ebx, 0x50001
ja 0x140094655
jb 0x14009468b
cmp esi, 0xa280371
jb 0x14009468b
test r13, r13
je 0x140094662
mov dword [r13], 8
test r12, r12
je 0x14009466f
mov dword [r12], 1
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140094681
mov edx, 0x20
mov word [rcx], dx
mov dword [rsp + 0x20], 1
jmp 0x140094690
mov rcx, qword [rsp + 0x28]
cmp ax, 4
jne 0x1400946a8
cmp ebx, 0x40008
ja 0x1400946c0
jb 0x1400946a8
cmp esi, 0x10384
ja 0x1400946c0
cmp ax, 5
jne 0x1400946f9
cmp ebx, 0x50001
ja 0x1400946c0
jb 0x1400946f9
cmp esi, 0xa280385
jb 0x1400946f9
test r13, r13
je 0x1400946cd
mov dword [r13], 8
test r12, r12
je 0x1400946da
mov dword [r12], 1
test rcx, rcx
je 0x1400946e7
mov eax, 0x61
mov word [rcx], ax
mov dword [rsp + 0x20], 1
jmp 0x1400946f9
mov rcx, rdi
call fcn.140153a7c
xor edi, edi
mov rdx, r14
lea rcx, [rbp - 0x20]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x140094725
movzx eax, word [rcx + r15]
test ax, ax
je 0x140094725
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140094702
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 0x140094750
add rax, 2
sub rcx, 1
jne 0x140094740
mov rax, r14
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x1400947b5
mov rdx, r14
sub rdx, r8
lea rcx, [rbp - 0x20]
lea rcx, [rcx + r8*2]
je 0x1400947a7
lea rax, [r8 + 0x7ffffdfe]
add rax, rdx
lea r9, str.mpg2splt.ax
sub r9, rcx
test rax, rax
je 0x1400947a7
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400947a7
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140094786
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 0x140094886
mov ecx, eax
call fcn.140153a84
mov rbx, rax
test rax, rax
je 0x140094886
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 0x140094a38
mov qword [rbp - 0x58], rdi
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x58]
lea rdx, [0x140393ef0]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094a38
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140094a38
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.140153a7c
cmp edi, 0x60003
ja 0x140094850
jb 0x140094884
cmp esi, 0x10375
jb 0x140094884
test r13, r13
je 0x14009485d
mov dword [r13], 8
test r12, r12
je 0x14009486a
mov dword [r12], 1
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14009487c
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 0x1400948b3
movzx eax, word [rcx + r15]
test ax, ax
je 0x1400948b3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140094890
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 0x1400948d8
add rax, 2
sub rcx, 1
jne 0x1400948c8
mov rax, r14
sub rax, rcx
mov rdx, rdi
test rcx, rcx
cmovne rdx, rax
je 0x14009493d
sub r14, rdx
lea rcx, [rbp - 0x20]
lea rcx, [rcx + rdx*2]
je 0x14009492f
lea rax, [rdx + 0x7ffffdfe]
add rax, r14
lea r8, str.dpnet.dll
sub r8, rcx
nop dword [rax + rax]
test rax, rax
je 0x14009492f
movzx edx, word [r8 + rcx]
test dx, dx
je 0x14009492f
mov word [rcx], dx
add rcx, 2
dec rax
sub r14, 1
jne 0x140094910
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 0x140094a4d
mov ecx, eax
call fcn.140153a84
mov rdi, rax
test rax, rax
je 0x140094a4d
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 0x140094a45
xor eax, eax
mov qword [rsp + 0x60], rax
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x60]
lea rdx, [0x140393ef0]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140094a45
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140094a45
mov ebx, dword [rax + 8]
mov dword [rsp + 0x34], ebx
mov esi, dword [rax + 0xc]
mov rcx, rdi
call fcn.140153a7c
mov eax, ebx
shr eax, 0x10
cmp ax, 4
jne 0x1400949ec
cmp ebx, 0x40009
ja 0x140094a04
jb 0x1400949ec
cmp esi, 0x85
ja 0x140094a04
cmp ax, 5
jne 0x140094a4d
cmp ebx, 0x50002
ja 0x140094a04
jb 0x140094a4d
cmp esi, 0xe5d0086
jb 0x140094a4d
test r13, r13
je 0x140094a11
mov dword [r13], 8
test r12, r12
je 0x140094a1e
mov dword [r12], 2
mov rsi, qword [rsp + 0x28]
test rsi, rsi
je 0x140094a30
mov eax, 0x20
mov word [rsi], ax
mov r14d, 1
jmp 0x140094a57
mov rcx, rbx
call fcn.140153a7c
jmp 0x140094886
mov rcx, rdi
call fcn.140153a7c
mov r14d, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov edi, 9
nop dword [rax]
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x140094b9a
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.140012720
mov rbx, qword [rsp + 0x28]
cmp dword [rbx - 8], 1
jle 0x140094ab8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.1400124b0
mov rbx, qword [rsp + 0x28]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140094bb0
test eax, eax
js 0x140094af0
test r13, r13
je 0x140094ad2
mov dword [r13], edi
test r12, r12
je 0x140094add
xor eax, eax
mov dword [r12], eax
test rsi, rsi
je 0x140094aea
mov eax, 0x20
mov word [rsi], ax
mov r14d, 1
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1402f3448
test eax, eax
js 0x140094b8f
cmp eax, dword [rbx - 0xc]
jg 0x140094b8f
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 0x140094b34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc edi
cmp edi, 0x63
jl 0x140094a60
test r14d, r14d
jne 0x140094b63
xor edi, edi
lea ecx, [rdi + 0x20]
test r13, r13
je 0x140094b52
mov dword [r13], edi
test r12, r12
je 0x140094b5b
mov dword [r12], edi
test rsi, rsi
je 0x140094b63
mov word [rsi], cx
xor eax, eax
mov rcx, qword [rbp + 0x7e0]
xor rcx, rsp
call fcn.1402ecc20
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.140012800
nop
mov ecx, 0x80004005
call fcn.140012800
int3