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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x950
mov qword [rsp + 0x120], 0xfffffffffffffffe
mov qword [rsp + 0x9a8], rbx
mov rax, qword [0x1401ea158]
xor rax, rsp
mov qword [rsp + 0x940], rax
mov r14, r8
mov r15, rdx
mov rbp, rcx
mov qword [rsp + 0x38], rcx
xor r13d, r13d
mov dword [rsp + 0x28], r13d
mov edx, 0x104
lea rcx, [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1400aca17
mov word [rsp + 0x746], r13w
mov r13d, 0x200
mov rdx, r13
lea rcx, [rsp + 0x140]
lea r12, [rsp + 0x540]
lea rax, [rsp + 0x140]
sub r12, rax
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ab355
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400ab355
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ab330
jmp 0x1400ab35a
test rdx, rdx
jne 0x1400ab35e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
lea rbp, str.ddraw.dll
cmp word [rax], 0
je 0x1400ab389
add rax, 2
sub rcx, 1
jne 0x1400ab370
jmp 0x1400ab3f0
test rcx, rcx
je 0x1400ab3f0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xe8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ab3e7
lea rdx, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
nop
nop
test rdx, rdx
je 0x1400ab3e2
movzx edi, word [r8 + rax]
test di, di
je 0x1400ab3e2
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x1400ab3c0
jmp 0x1400ab3e7
test rcx, rcx
jne 0x1400ab3eb
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x50], eax
test eax, eax
je 0x1400ab5b3
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ab5b3
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ab5ab
mov qword [rsp + 0x68], 0
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ab5ab
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400ab5ab
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab4bc
cmp esi, eax
jb 0x1400ab4f4
cmp ebx, 0x5f
ja 0x1400ab4bc
cmp ebx, 0x5f
jb 0x1400ab4ed
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400ab4cc
mov dword [rcx], 1
test r15, r15
je 0x1400ab4d8
mov dword [r15], 0
test r14, r14
je 0x1400ab4e3
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ab4f9
mov rcx, qword [rsp + 0x38]
jmp 0x1400ab4f9
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x24], 0x40003
mov dword [rsp + 0x20], 0x448
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab52a
cmp esi, eax
jb 0x1400ab554
cmp ebx, 0x448
ja 0x1400ab52a
cmp ebx, 0x448
jb 0x1400ab554
test rcx, rcx
je 0x1400ab535
mov dword [rcx], 2
test r15, r15
je 0x1400ab541
mov dword [r15], 0
test r14, r14
je 0x1400ab54c
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x44
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab57f
cmp esi, eax
jb 0x1400ab5b3
cmp ebx, 0x44
ja 0x1400ab57f
cmp ebx, 0x44
jb 0x1400ab5b3
test rcx, rcx
je 0x1400ab58a
mov dword [rcx], 3
test r15, r15
je 0x1400ab596
mov dword [r15], 0
test r14, r14
je 0x1400ab5a1
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ab5b3
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ab5e5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400ab5e5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ab5c0
jmp 0x1400ab5ea
test rdx, rdx
jne 0x1400ab5ee
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ab612
add rax, 2
sub rcx, 1
jne 0x1400ab600
jmp 0x1400ab677
test rcx, rcx
je 0x1400ab677
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ab66e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3drg8x.dll
sub r8, rax
test rdi, rdi
je 0x1400ab669
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400ab669
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ab647
jmp 0x1400ab66e
test rcx, rcx
jne 0x1400ab672
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xc4]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x54], eax
test eax, eax
je 0x1400ab77d
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ab77d
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ab775
mov qword [rsp + 0xa0], 0
lea r9, [rsp + 0x54]
lea r8, [rsp + 0xa0]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ab775
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400ab775
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab744
cmp esi, eax
jb 0x1400ab77d
cmp ebx, 0x46
ja 0x1400ab744
cmp ebx, 0x46
jb 0x1400ab77d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400ab754
mov dword [rax], 3
test r15, r15
je 0x1400ab760
mov dword [r15], 0
test r14, r14
je 0x1400ab76b
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ab77d
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ab7b5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ab7b5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ab790
jmp 0x1400ab7ba
test rdx, rdx
jne 0x1400ab7be
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ab7e2
add rax, 2
sub rcx, 1
jne 0x1400ab7d0
jmp 0x1400ab843
test rcx, rcx
je 0x1400ab843
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ab83a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400ab835
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400ab835
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ab813
jmp 0x1400ab83a
test rcx, rcx
jne 0x1400ab83e
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xd4]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x5c], eax
test eax, eax
je 0x1400aba1b
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400aba1b
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400aba13
mov qword [rsp + 0x90], 0
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x90]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400aba13
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400aba13
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab91e
cmp esi, eax
jb 0x1400ab956
cmp ebx, 0x9b
ja 0x1400ab91e
cmp ebx, 0x9b
jb 0x1400ab94f
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400ab92e
mov dword [rcx], 5
test r15, r15
je 0x1400ab93a
mov dword [r15], 0
test r14, r14
je 0x1400ab945
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ab95b
mov rcx, qword [rsp + 0x38]
jmp 0x1400ab95b
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x13e
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab98c
cmp esi, eax
jb 0x1400ab9b6
cmp ebx, 0x13e
ja 0x1400ab98c
cmp ebx, 0x13e
jb 0x1400ab9b6
test rcx, rcx
je 0x1400ab997
mov dword [rcx], 6
test r15, r15
je 0x1400ab9a3
mov dword [r15], 0
test r14, r14
je 0x1400ab9ae
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x1b4
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab9e7
cmp esi, eax
jb 0x1400aba1b
cmp ebx, 0x1b4
ja 0x1400ab9e7
cmp ebx, 0x1b4
jb 0x1400aba1b
test rcx, rcx
je 0x1400ab9f2
mov dword [rcx], 6
test r15, r15
je 0x1400ab9fe
mov dword [r15], 1
test r14, r14
je 0x1400aba09
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400aba1b
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400aba55
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400aba55
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400aba30
jmp 0x1400aba5a
test rdx, rdx
jne 0x1400aba5e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400aba82
add rax, 2
sub rcx, 1
jne 0x1400aba70
jmp 0x1400abae7
test rcx, rcx
je 0x1400abae7
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x110], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400abade
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dplayx.dll
sub r8, rax
test rdi, rdi
je 0x1400abad9
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400abad9
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400abab7
jmp 0x1400abade
test rcx, rcx
jne 0x1400abae2
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xdc]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x64], eax
test eax, eax
je 0x1400abbf7
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400abbf7
mov r9, rax
mov r8d, dword [rsp + 0x64]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abbef
mov qword [rsp + 0xb0], 0
lea r9, [rsp + 0x64]
lea r8, [rsp + 0xb0]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400abbef
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400abbef
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abbbe
cmp esi, eax
jb 0x1400abbf7
cmp ebx, 0x30206
ja 0x1400abbbe
cmp ebx, 0x30206
jb 0x1400abbf7
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400abbce
mov dword [rax], 6
test r15, r15
je 0x1400abbda
mov dword [r15], 1
test r14, r14
je 0x1400abbe5
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400abbf7
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abc27
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abc27
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abc02
jmp 0x1400abc2c
test rdx, rdx
jne 0x1400abc30
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400abc52
add rax, 2
sub rcx, 1
jne 0x1400abc40
jmp 0x1400abcb3
test rcx, rcx
je 0x1400abcb3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x130], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400abcaa
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400abca5
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400abca5
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400abc83
jmp 0x1400abcaa
test rcx, rcx
jne 0x1400abcae
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x48], eax
test eax, eax
je 0x1400abdba
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400abdba
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abdb2
mov qword [rsp + 0x78], 0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400abdb2
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400abdb2
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abd81
cmp esi, eax
jb 0x1400abdba
cmp ebx, 0x2bc
ja 0x1400abd81
cmp ebx, 0x2bc
jb 0x1400abdba
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400abd91
mov dword [rax], 7
test r15, r15
je 0x1400abd9d
mov dword [r15], 0
test r14, r14
je 0x1400abda8
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400abdba
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abdf5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abdf5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abdd0
jmp 0x1400abdfa
test rdx, rdx
jne 0x1400abdfe
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400abe22
add rax, 2
sub rcx, 1
jne 0x1400abe10
jmp 0x1400abe87
test rcx, rcx
je 0x1400abe87
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400abe7e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dinput.dll
sub r8, rax
test rdi, rdi
je 0x1400abe79
movzx edx, word [rax + r8]
test dx, dx
je 0x1400abe79
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400abe57
jmp 0x1400abe7e
test rcx, rcx
jne 0x1400abe82
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xcc]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x58], eax
test eax, eax
je 0x1400abf97
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400abf97
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abf8f
mov qword [rsp + 0x88], 0
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x88]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400abf8f
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400abf8f
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abf5e
cmp esi, eax
jb 0x1400abf97
cmp ebx, 0x2cc
ja 0x1400abf5e
cmp ebx, 0x2cc
jb 0x1400abf97
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400abf6e
mov dword [rax], 7
test r15, r15
je 0x1400abf7a
mov dword [r15], 0
test r14, r14
je 0x1400abf85
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400abf97
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abfc7
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abfc7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abfa2
jmp 0x1400abfcc
test rdx, rdx
jne 0x1400abfd0
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400abff2
add rax, 2
sub rcx, 1
jne 0x1400abfe0
jmp 0x1400ac04f
test rcx, rcx
je 0x1400ac04f
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac046
lea rdi, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test rdi, rdi
je 0x1400ac041
movzx edx, word [rax + rbp]
test dx, dx
je 0x1400ac041
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac020
jmp 0x1400ac046
test rcx, rcx
jne 0x1400ac04a
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xe4]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1400ac1bf
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ac1c6
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac1a2
mov qword [rsp + 0x98], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x98]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ac1a2
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400ac1a2
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ac135
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac170
cmp esi, eax
jb 0x1400ac135
cmp ebx, 0x190
ja 0x1400ac170
cmp ebx, 0x190
jae 0x1400ac170
cmp dx, 5
jne 0x1400ac1cd
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac170
cmp esi, eax
jb 0x1400ac1b8
cmp ebx, 0x8d20190
ja 0x1400ac170
cmp ebx, 0x8d20190
jb 0x1400ac1b1
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1400ac181
mov dword [rbp], 8
test r15, r15
je 0x1400ac18d
mov dword [r15], 0
test r14, r14
je 0x1400ac198
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ac1d2
mov rcx, rdi
call fcn.1401281e4
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac1d2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac1d2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac1d2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac1d2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac1d2
mov rbp, qword [rsp + 0x38]
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac205
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac205
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac1e0
jmp 0x1400ac20a
test rdx, rdx
jne 0x1400ac20e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ac232
add rax, 2
sub rcx, 1
jne 0x1400ac220
jmp 0x1400ac297
test rcx, rcx
je 0x1400ac297
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x108], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac28e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3d8.dll
sub r8, rax
test rdi, rdi
je 0x1400ac289
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ac289
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac267
jmp 0x1400ac28e
test rcx, rcx
jne 0x1400ac292
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x60], eax
test eax, eax
je 0x1400ac479
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ac479
mov r9, rax
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac471
mov qword [rsp + 0x70], 0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ac471
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400ac471
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ac374
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac3ab
cmp esi, eax
jb 0x1400ac374
cmp ebx, 0x10371
ja 0x1400ac3ab
cmp ebx, 0x10371
jae 0x1400ac3ab
cmp dx, 5
jne 0x1400ac3d6
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac3ab
cmp esi, eax
jb 0x1400ac3d6
cmp ebx, 0xa280371
ja 0x1400ac3ab
cmp ebx, 0xa280371
jb 0x1400ac3d6
test rbp, rbp
je 0x1400ac3b7
mov dword [rbp], 8
test r15, r15
je 0x1400ac3c3
mov dword [r15], 1
test r14, r14
je 0x1400ac3ce
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
cmp dx, 4
jne 0x1400ac40d
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac444
cmp esi, eax
jb 0x1400ac40d
cmp ebx, 0x10385
ja 0x1400ac444
cmp ebx, 0x10385
jae 0x1400ac444
cmp dx, 5
jne 0x1400ac479
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac444
cmp esi, eax
jb 0x1400ac479
cmp ebx, 0xa280385
ja 0x1400ac444
cmp ebx, 0xa280385
jb 0x1400ac479
test rbp, rbp
je 0x1400ac450
mov dword [rbp], 8
test r15, r15
je 0x1400ac45c
mov dword [r15], 1
test r14, r14
je 0x1400ac467
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ac479
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac4a9
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac4a9
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac484
jmp 0x1400ac4ae
test rdx, rdx
jne 0x1400ac4b2
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400ac4d4
add rax, 2
sub rcx, 1
jne 0x1400ac4c2
jmp 0x1400ac540
test rcx, rcx
je 0x1400ac540
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x118], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac537
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.mpg2splt.ax
sub r8, rax
nop
nop
test rdi, rdi
je 0x1400ac532
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ac532
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac510
jmp 0x1400ac537
test rcx, rcx
jne 0x1400ac53b
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1400ac64c
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ac64c
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac644
mov qword [rsp + 0xa8], 0
lea r9, [rsp + 0x44]
lea r8, [rsp + 0xa8]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ac644
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400ac644
mov esi, dword [rax + 8]
mov dword [rsp + 0x34], esi
mov ebx, dword [rax + 0xc]
mov dword [rsp + 0x30], ebx
mov rcx, rdi
call fcn.1401281e4
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac617
cmp esi, eax
jb 0x1400ac64c
cmp ebx, 0x10375
ja 0x1400ac617
cmp ebx, 0x10375
jb 0x1400ac64c
test rbp, rbp
je 0x1400ac623
mov dword [rbp], 8
test r15, r15
je 0x1400ac62f
mov dword [r15], 1
test r14, r14
je 0x1400ac63a
mov word [r14], 0x62
mov dword [rsp + 0x28], 1
jmp 0x1400ac64c
mov rcx, rdi
call fcn.1401281e4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac685
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac685
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac660
jmp 0x1400ac68a
test rdx, rdx
jne 0x1400ac68e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ac6b2
add rax, 2
sub rcx, 1
jne 0x1400ac6a0
jmp 0x1400ac713
test rcx, rcx
je 0x1400ac713
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x128], rdx
sub r13, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac70a
lea rcx, [r13 + rdx + 0x7ffffdff]
lea rdi, str.dpnet.dll
sub rdi, rax
test rcx, rcx
je 0x1400ac705
movzx edx, word [rax + rdi]
test dx, dx
je 0x1400ac705
mov word [rax], dx
add rax, 2
sub rcx, 1
sub r13, 1
jne 0x1400ac6e4
jmp 0x1400ac70a
test r13, r13
jne 0x1400ac70e
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x1400ac87c
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ac883
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac85f
mov qword [rsp + 0xb8], 0
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0xb8]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ac85f
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1400ac85f
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.1401281e4
mov edx, ebx
shr edx, 0x10
cmp dx, 4
jne 0x1400ac7f9
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400ac834
cmp ebx, eax
jb 0x1400ac7f9
cmp esi, 0x86
ja 0x1400ac834
cmp esi, 0x86
jae 0x1400ac834
cmp dx, 5
jne 0x1400ac88a
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400ac834
cmp ebx, eax
jb 0x1400ac875
cmp esi, 0xe5d0086
ja 0x1400ac834
cmp esi, 0xe5d0086
jb 0x1400ac86e
test rbp, rbp
je 0x1400ac840
mov dword [rbp], 8
test r15, r15
je 0x1400ac84c
mov dword [r15], 2
test r14, r14
je 0x1400ac857
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400ac88f
mov rcx, rdi
call fcn.1401281e4
mov r12d, dword [rsp + 0x28]
jmp 0x1400ac88f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ac88f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ac88f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ac88f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ac88f
mov r12d, dword [rsp + 0x28]
mov esi, 9
xor r13d, r13d
call fcn.140129a50
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400aca0c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r9d, esi
lea r8, [rsp + 0x540]
lea rdx, str._sd3d_d.dll
lea rcx, [rsp + 0x20]
call fcn.140004be0
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 8], 1
jle 0x1400ac8f8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140002e00
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400ac9be
lea rdx, [rsp + 0x38]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x28], eax
test eax, eax
je 0x1400ac9a5
mov ecx, eax
call fcn.1401281ec
mov rdi, rax
test rax, rax
je 0x1400ac9a5
mov r9, rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac99d
mov qword [rsp + 0x80], r13
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x80]
lea rdx, [0x140180dfc]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ac99d
cmp qword [rsp + 0x80], 0
je 0x1400ac99d
mov rcx, rdi
call fcn.1401281e4
test rbp, rbp
je 0x1400ac982
mov dword [rbp], esi
test r15, r15
je 0x1400ac98a
mov dword [r15], r13d
test r14, r14
je 0x1400ac995
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400ac9a5
mov rcx, rdi
call fcn.1401281e4
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x1400aca01
jmp 0x1400ac9c1
mov ecx, r13d
cmp ecx, dword [rbx - 0xc]
jg 0x1400aca01
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], 0
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400ac9ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, 1
cmp esi, 0x63
jl 0x1400ac897
test r12d, r12d
jne 0x1400aca33
jmp 0x1400aca17
mov ecx, 0x80070057
call fcn.140002d80
nop
mov ecx, 0x80004005
call fcn.140002d80
int3
test rbp, rbp
je 0x1400aca20
mov dword [rbp], r13d
test r15, r15
je 0x1400aca28
mov dword [r15], r13d
test r14, r14
je 0x1400aca33
mov word [r14], 0x20
xor eax, eax
mov rcx, qword [rsp + 0x940]
xor rcx, rsp
call fcn.1401447b0
mov rbx, qword [rsp + 0x9a8]
add rsp, 0x950
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret