Function at 0x1400ab460
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 0x1400acbe7
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 0x1400ab525
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400ab525
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ab500
jmp 0x1400ab52a
test rdx, rdx
jne 0x1400ab52e
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 0x1400ab559
add rax, 2
sub rcx, 1
jne 0x1400ab540
jmp 0x1400ab5c0
test rcx, rcx
je 0x1400ab5c0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xe8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ab5b7
lea rdx, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
nop
nop
test rdx, rdx
je 0x1400ab5b2
movzx edi, word [r8 + rax]
test di, di
je 0x1400ab5b2
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x1400ab590
jmp 0x1400ab5b7
test rcx, rcx
jne 0x1400ab5bb
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 0x1400ab783
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ab783
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ab77b
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 0x1400ab77b
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400ab77b
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.1401287f4
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab68c
cmp esi, eax
jb 0x1400ab6c4
cmp ebx, 0x5f
ja 0x1400ab68c
cmp ebx, 0x5f
jb 0x1400ab6bd
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400ab69c
mov dword [rcx], 1
test r15, r15
je 0x1400ab6a8
mov dword [r15], 0
test r14, r14
je 0x1400ab6b3
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ab6c9
mov rcx, qword [rsp + 0x38]
jmp 0x1400ab6c9
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 0x1400ab6fa
cmp esi, eax
jb 0x1400ab724
cmp ebx, 0x448
ja 0x1400ab6fa
cmp ebx, 0x448
jb 0x1400ab724
test rcx, rcx
je 0x1400ab705
mov dword [rcx], 2
test r15, r15
je 0x1400ab711
mov dword [r15], 0
test r14, r14
je 0x1400ab71c
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 0x1400ab74f
cmp esi, eax
jb 0x1400ab783
cmp ebx, 0x44
ja 0x1400ab74f
cmp ebx, 0x44
jb 0x1400ab783
test rcx, rcx
je 0x1400ab75a
mov dword [rcx], 3
test r15, r15
je 0x1400ab766
mov dword [r15], 0
test r14, r14
je 0x1400ab771
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ab783
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ab7b5
movzx eax, word [r12 + rcx]
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 0x1400ab847
test rcx, rcx
je 0x1400ab847
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ab83e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3drg8x.dll
sub r8, rax
test rdi, rdi
je 0x1400ab839
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400ab839
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ab817
jmp 0x1400ab83e
test rcx, rcx
jne 0x1400ab842
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 0x1400ab94d
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ab94d
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ab945
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 0x1400ab945
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400ab945
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.1401287f4
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ab914
cmp esi, eax
jb 0x1400ab94d
cmp ebx, 0x46
ja 0x1400ab914
cmp ebx, 0x46
jb 0x1400ab94d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400ab924
mov dword [rax], 3
test r15, r15
je 0x1400ab930
mov dword [r15], 0
test r14, r14
je 0x1400ab93b
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ab94d
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ab985
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ab985
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ab960
jmp 0x1400ab98a
test rdx, rdx
jne 0x1400ab98e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ab9b2
add rax, 2
sub rcx, 1
jne 0x1400ab9a0
jmp 0x1400aba13
test rcx, rcx
je 0x1400aba13
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400aba0a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400aba05
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400aba05
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ab9e3
jmp 0x1400aba0a
test rcx, rcx
jne 0x1400aba0e
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 0x1400abbeb
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400abbeb
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abbe3
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 0x1400abbe3
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400abbe3
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.1401287f4
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abaee
cmp esi, eax
jb 0x1400abb26
cmp ebx, 0x9b
ja 0x1400abaee
cmp ebx, 0x9b
jb 0x1400abb1f
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400abafe
mov dword [rcx], 5
test r15, r15
je 0x1400abb0a
mov dword [r15], 0
test r14, r14
je 0x1400abb15
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400abb2b
mov rcx, qword [rsp + 0x38]
jmp 0x1400abb2b
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 0x1400abb5c
cmp esi, eax
jb 0x1400abb86
cmp ebx, 0x13e
ja 0x1400abb5c
cmp ebx, 0x13e
jb 0x1400abb86
test rcx, rcx
je 0x1400abb67
mov dword [rcx], 6
test r15, r15
je 0x1400abb73
mov dword [r15], 0
test r14, r14
je 0x1400abb7e
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 0x1400abbb7
cmp esi, eax
jb 0x1400abbeb
cmp ebx, 0x1b4
ja 0x1400abbb7
cmp ebx, 0x1b4
jb 0x1400abbeb
test rcx, rcx
je 0x1400abbc2
mov dword [rcx], 6
test r15, r15
je 0x1400abbce
mov dword [r15], 1
test r14, r14
je 0x1400abbd9
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400abbeb
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abc25
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abc25
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abc00
jmp 0x1400abc2a
test rdx, rdx
jne 0x1400abc2e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400abc52
add rax, 2
sub rcx, 1
jne 0x1400abc40
jmp 0x1400abcb7
test rcx, rcx
je 0x1400abcb7
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x110], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400abcae
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dplayx.dll
sub r8, rax
test rdi, rdi
je 0x1400abca9
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400abca9
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400abc87
jmp 0x1400abcae
test rcx, rcx
jne 0x1400abcb2
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 0x1400abdc7
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400abdc7
mov r9, rax
mov r8d, dword [rsp + 0x64]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abdbf
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 0x1400abdbf
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400abdbf
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.1401287f4
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abd8e
cmp esi, eax
jb 0x1400abdc7
cmp ebx, 0x30206
ja 0x1400abd8e
cmp ebx, 0x30206
jb 0x1400abdc7
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400abd9e
mov dword [rax], 6
test r15, r15
je 0x1400abdaa
mov dword [r15], 1
test r14, r14
je 0x1400abdb5
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400abdc7
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abdf7
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abdf7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abdd2
jmp 0x1400abdfc
test rdx, rdx
jne 0x1400abe00
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400abe22
add rax, 2
sub rcx, 1
jne 0x1400abe10
jmp 0x1400abe83
test rcx, rcx
je 0x1400abe83
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x130], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400abe7a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400abe75
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400abe75
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400abe53
jmp 0x1400abe7a
test rcx, rcx
jne 0x1400abe7e
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 0x1400abf8a
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400abf8a
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400abf82
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 0x1400abf82
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400abf82
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.1401287f4
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400abf51
cmp esi, eax
jb 0x1400abf8a
cmp ebx, 0x2bc
ja 0x1400abf51
cmp ebx, 0x2bc
jb 0x1400abf8a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400abf61
mov dword [rax], 7
test r15, r15
je 0x1400abf6d
mov dword [r15], 0
test r14, r14
je 0x1400abf78
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400abf8a
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400abfc5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400abfc5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400abfa0
jmp 0x1400abfca
test rdx, rdx
jne 0x1400abfce
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400abff2
add rax, 2
sub rcx, 1
jne 0x1400abfe0
jmp 0x1400ac057
test rcx, rcx
je 0x1400ac057
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac04e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dinput.dll
sub r8, rax
test rdi, rdi
je 0x1400ac049
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ac049
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac027
jmp 0x1400ac04e
test rcx, rcx
jne 0x1400ac052
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 0x1400ac167
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ac167
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac15f
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 0x1400ac15f
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400ac15f
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.1401287f4
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac12e
cmp esi, eax
jb 0x1400ac167
cmp ebx, 0x2cc
ja 0x1400ac12e
cmp ebx, 0x2cc
jb 0x1400ac167
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400ac13e
mov dword [rax], 7
test r15, r15
je 0x1400ac14a
mov dword [r15], 0
test r14, r14
je 0x1400ac155
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ac167
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac197
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac197
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac172
jmp 0x1400ac19c
test rdx, rdx
jne 0x1400ac1a0
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400ac1c2
add rax, 2
sub rcx, 1
jne 0x1400ac1b0
jmp 0x1400ac21f
test rcx, rcx
je 0x1400ac21f
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac216
lea rdi, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test rdi, rdi
je 0x1400ac211
movzx edx, word [rax + rbp]
test dx, dx
je 0x1400ac211
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac1f0
jmp 0x1400ac216
test rcx, rcx
jne 0x1400ac21a
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 0x1400ac38f
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ac396
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac372
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 0x1400ac372
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400ac372
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.1401287f4
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ac305
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac340
cmp esi, eax
jb 0x1400ac305
cmp ebx, 0x190
ja 0x1400ac340
cmp ebx, 0x190
jae 0x1400ac340
cmp dx, 5
jne 0x1400ac39d
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac340
cmp esi, eax
jb 0x1400ac388
cmp ebx, 0x8d20190
ja 0x1400ac340
cmp ebx, 0x8d20190
jb 0x1400ac381
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1400ac351
mov dword [rbp], 8
test r15, r15
je 0x1400ac35d
mov dword [r15], 0
test r14, r14
je 0x1400ac368
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ac3a2
mov rcx, rdi
call fcn.1401287f4
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac3a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac3a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac3a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac3a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ac3a2
mov rbp, qword [rsp + 0x38]
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac3d5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac3d5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac3b0
jmp 0x1400ac3da
test rdx, rdx
jne 0x1400ac3de
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ac402
add rax, 2
sub rcx, 1
jne 0x1400ac3f0
jmp 0x1400ac467
test rcx, rcx
je 0x1400ac467
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x108], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac45e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3d8.dll
sub r8, rax
test rdi, rdi
je 0x1400ac459
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ac459
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac437
jmp 0x1400ac45e
test rcx, rcx
jne 0x1400ac462
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 0x1400ac649
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ac649
mov r9, rax
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac641
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 0x1400ac641
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400ac641
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.1401287f4
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ac544
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac57b
cmp esi, eax
jb 0x1400ac544
cmp ebx, 0x10371
ja 0x1400ac57b
cmp ebx, 0x10371
jae 0x1400ac57b
cmp dx, 5
jne 0x1400ac5a6
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac57b
cmp esi, eax
jb 0x1400ac5a6
cmp ebx, 0xa280371
ja 0x1400ac57b
cmp ebx, 0xa280371
jb 0x1400ac5a6
test rbp, rbp
je 0x1400ac587
mov dword [rbp], 8
test r15, r15
je 0x1400ac593
mov dword [r15], 1
test r14, r14
je 0x1400ac59e
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
cmp dx, 4
jne 0x1400ac5dd
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac614
cmp esi, eax
jb 0x1400ac5dd
cmp ebx, 0x10385
ja 0x1400ac614
cmp ebx, 0x10385
jae 0x1400ac614
cmp dx, 5
jne 0x1400ac649
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac614
cmp esi, eax
jb 0x1400ac649
cmp ebx, 0xa280385
ja 0x1400ac614
cmp ebx, 0xa280385
jb 0x1400ac649
test rbp, rbp
je 0x1400ac620
mov dword [rbp], 8
test r15, r15
je 0x1400ac62c
mov dword [r15], 1
test r14, r14
je 0x1400ac637
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ac649
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac679
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac679
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac654
jmp 0x1400ac67e
test rdx, rdx
jne 0x1400ac682
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400ac6a4
add rax, 2
sub rcx, 1
jne 0x1400ac692
jmp 0x1400ac710
test rcx, rcx
je 0x1400ac710
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x118], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac707
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.mpg2splt.ax
sub r8, rax
nop
nop
test rdi, rdi
je 0x1400ac702
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ac702
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ac6e0
jmp 0x1400ac707
test rcx, rcx
jne 0x1400ac70b
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 0x1400ac81c
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400ac81c
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ac814
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 0x1400ac814
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400ac814
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.1401287f4
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ac7e7
cmp esi, eax
jb 0x1400ac81c
cmp ebx, 0x10375
ja 0x1400ac7e7
cmp ebx, 0x10375
jb 0x1400ac81c
test rbp, rbp
je 0x1400ac7f3
mov dword [rbp], 8
test r15, r15
je 0x1400ac7ff
mov dword [r15], 1
test r14, r14
je 0x1400ac80a
mov word [r14], 0x62
mov dword [rsp + 0x28], 1
jmp 0x1400ac81c
mov rcx, rdi
call fcn.1401287f4
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ac855
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ac855
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ac830
jmp 0x1400ac85a
test rdx, rdx
jne 0x1400ac85e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ac882
add rax, 2
sub rcx, 1
jne 0x1400ac870
jmp 0x1400ac8e3
test rcx, rcx
je 0x1400ac8e3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x128], rdx
sub r13, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ac8da
lea rcx, [r13 + rdx + 0x7ffffdff]
lea rdi, str.dpnet.dll
sub rdi, rax
test rcx, rcx
je 0x1400ac8d5
movzx edx, word [rax + rdi]
test dx, dx
je 0x1400ac8d5
mov word [rax], dx
add rax, 2
sub rcx, 1
sub r13, 1
jne 0x1400ac8b4
jmp 0x1400ac8da
test r13, r13
jne 0x1400ac8de
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 0x1400aca4c
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400aca53
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400aca2f
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 0x1400aca2f
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1400aca2f
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.1401287f4
mov edx, ebx
shr edx, 0x10
cmp dx, 4
jne 0x1400ac9c9
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400aca04
cmp ebx, eax
jb 0x1400ac9c9
cmp esi, 0x86
ja 0x1400aca04
cmp esi, 0x86
jae 0x1400aca04
cmp dx, 5
jne 0x1400aca5a
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400aca04
cmp ebx, eax
jb 0x1400aca45
cmp esi, 0xe5d0086
ja 0x1400aca04
cmp esi, 0xe5d0086
jb 0x1400aca3e
test rbp, rbp
je 0x1400aca10
mov dword [rbp], 8
test r15, r15
je 0x1400aca1c
mov dword [r15], 2
test r14, r14
je 0x1400aca27
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400aca5f
mov rcx, rdi
call fcn.1401287f4
mov r12d, dword [rsp + 0x28]
jmp 0x1400aca5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400aca5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400aca5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400aca5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400aca5f
mov r12d, dword [rsp + 0x28]
mov esi, 9
xor r13d, r13d
call fcn.14012a060
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400acbdc
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.140004aa0
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 8], 1
jle 0x1400acac8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140002d30
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400acb8e
lea rdx, [rsp + 0x38]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x28], eax
test eax, eax
je 0x1400acb75
mov ecx, eax
call fcn.1401287fc
mov rdi, rax
test rax, rax
je 0x1400acb75
mov r9, rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400acb6d
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 0x1400acb6d
cmp qword [rsp + 0x80], 0
je 0x1400acb6d
mov rcx, rdi
call fcn.1401287f4
test rbp, rbp
je 0x1400acb52
mov dword [rbp], esi
test r15, r15
je 0x1400acb5a
mov dword [r15], r13d
test r14, r14
je 0x1400acb65
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400acb75
mov rcx, rdi
call fcn.1401287f4
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x1400acbd1
jmp 0x1400acb91
mov ecx, r13d
cmp ecx, dword [rbx - 0xc]
jg 0x1400acbd1
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 0x1400acbbe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, 1
cmp esi, 0x63
jl 0x1400aca67
test r12d, r12d
jne 0x1400acc03
jmp 0x1400acbe7
mov ecx, 0x80070057
call fcn.140002cb0
nop
mov ecx, 0x80004005
call fcn.140002cb0
int3
test rbp, rbp
je 0x1400acbf0
mov dword [rbp], r13d
test r15, r15
je 0x1400acbf8
mov dword [r15], r13d
test r14, r14
je 0x1400acc03
mov word [r14], 0x20
xor eax, eax
mov rcx, qword [rsp + 0x940]
xor rcx, rsp
call fcn.140144dc0
mov rbx, qword [rsp + 0x9a8]
add rsp, 0x950
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret