Function at 0x1400bc960
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 [0x14031eda0]
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 0x1400be0e7
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 0x1400bca25
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400bca25
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bca00
jmp 0x1400bca2a
test rdx, rdx
jne 0x1400bca2e
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 0x1400bca59
add rax, 2
sub rcx, 1
jne 0x1400bca40
jmp 0x1400bcac0
test rcx, rcx
je 0x1400bcac0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xe8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bcab7
lea rdx, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
nop
nop
test rdx, rdx
je 0x1400bcab2
movzx edi, word [r8 + rax]
test di, di
je 0x1400bcab2
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x1400bca90
jmp 0x1400bcab7
test rcx, rcx
jne 0x1400bcabb
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 0x1400bcc83
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bcc83
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bcc7b
mov qword [rsp + 0x68], 0
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bcc7b
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400bcc7b
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.1401f0b88
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bcb8c
cmp esi, eax
jb 0x1400bcbc4
cmp ebx, 0x5f
ja 0x1400bcb8c
cmp ebx, 0x5f
jb 0x1400bcbbd
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400bcb9c
mov dword [rcx], 1
test r15, r15
je 0x1400bcba8
mov dword [r15], 0
test r14, r14
je 0x1400bcbb3
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bcbc9
mov rcx, qword [rsp + 0x38]
jmp 0x1400bcbc9
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 0x1400bcbfa
cmp esi, eax
jb 0x1400bcc24
cmp ebx, 0x448
ja 0x1400bcbfa
cmp ebx, 0x448
jb 0x1400bcc24
test rcx, rcx
je 0x1400bcc05
mov dword [rcx], 2
test r15, r15
je 0x1400bcc11
mov dword [r15], 0
test r14, r14
je 0x1400bcc1c
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 0x1400bcc4f
cmp esi, eax
jb 0x1400bcc83
cmp ebx, 0x44
ja 0x1400bcc4f
cmp ebx, 0x44
jb 0x1400bcc83
test rcx, rcx
je 0x1400bcc5a
mov dword [rcx], 3
test r15, r15
je 0x1400bcc66
mov dword [r15], 0
test r14, r14
je 0x1400bcc71
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bcc83
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bccb5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400bccb5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bcc90
jmp 0x1400bccba
test rdx, rdx
jne 0x1400bccbe
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bcce2
add rax, 2
sub rcx, 1
jne 0x1400bccd0
jmp 0x1400bcd47
test rcx, rcx
je 0x1400bcd47
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bcd3e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3drg8x.dll
sub r8, rax
test rdi, rdi
je 0x1400bcd39
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400bcd39
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bcd17
jmp 0x1400bcd3e
test rcx, rcx
jne 0x1400bcd42
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 0x1400bce4d
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bce4d
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bce45
mov qword [rsp + 0xa0], 0
lea r9, [rsp + 0x54]
lea r8, [rsp + 0xa0]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bce45
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400bce45
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.1401f0b88
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bce14
cmp esi, eax
jb 0x1400bce4d
cmp ebx, 0x46
ja 0x1400bce14
cmp ebx, 0x46
jb 0x1400bce4d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400bce24
mov dword [rax], 3
test r15, r15
je 0x1400bce30
mov dword [r15], 0
test r14, r14
je 0x1400bce3b
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400bce4d
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bce85
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bce85
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bce60
jmp 0x1400bce8a
test rdx, rdx
jne 0x1400bce8e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bceb2
add rax, 2
sub rcx, 1
jne 0x1400bcea0
jmp 0x1400bcf13
test rcx, rcx
je 0x1400bcf13
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bcf0a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400bcf05
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400bcf05
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bcee3
jmp 0x1400bcf0a
test rcx, rcx
jne 0x1400bcf0e
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 0x1400bd0eb
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bd0eb
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bd0e3
mov qword [rsp + 0x90], 0
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x90]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bd0e3
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400bd0e3
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.1401f0b88
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bcfee
cmp esi, eax
jb 0x1400bd026
cmp ebx, 0x9b
ja 0x1400bcfee
cmp ebx, 0x9b
jb 0x1400bd01f
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400bcffe
mov dword [rcx], 5
test r15, r15
je 0x1400bd00a
mov dword [r15], 0
test r14, r14
je 0x1400bd015
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bd02b
mov rcx, qword [rsp + 0x38]
jmp 0x1400bd02b
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 0x1400bd05c
cmp esi, eax
jb 0x1400bd086
cmp ebx, 0x13e
ja 0x1400bd05c
cmp ebx, 0x13e
jb 0x1400bd086
test rcx, rcx
je 0x1400bd067
mov dword [rcx], 6
test r15, r15
je 0x1400bd073
mov dword [r15], 0
test r14, r14
je 0x1400bd07e
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 0x1400bd0b7
cmp esi, eax
jb 0x1400bd0eb
cmp ebx, 0x1b4
ja 0x1400bd0b7
cmp ebx, 0x1b4
jb 0x1400bd0eb
test rcx, rcx
je 0x1400bd0c2
mov dword [rcx], 6
test r15, r15
je 0x1400bd0ce
mov dword [r15], 1
test r14, r14
je 0x1400bd0d9
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bd0eb
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bd125
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bd125
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bd100
jmp 0x1400bd12a
test rdx, rdx
jne 0x1400bd12e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bd152
add rax, 2
sub rcx, 1
jne 0x1400bd140
jmp 0x1400bd1b7
test rcx, rcx
je 0x1400bd1b7
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x110], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bd1ae
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dplayx.dll
sub r8, rax
test rdi, rdi
je 0x1400bd1a9
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400bd1a9
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bd187
jmp 0x1400bd1ae
test rcx, rcx
jne 0x1400bd1b2
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 0x1400bd2c7
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bd2c7
mov r9, rax
mov r8d, dword [rsp + 0x64]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bd2bf
mov qword [rsp + 0xb0], 0
lea r9, [rsp + 0x64]
lea r8, [rsp + 0xb0]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bd2bf
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400bd2bf
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.1401f0b88
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bd28e
cmp esi, eax
jb 0x1400bd2c7
cmp ebx, 0x30206
ja 0x1400bd28e
cmp ebx, 0x30206
jb 0x1400bd2c7
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400bd29e
mov dword [rax], 6
test r15, r15
je 0x1400bd2aa
mov dword [r15], 1
test r14, r14
je 0x1400bd2b5
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400bd2c7
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bd2f7
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bd2f7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bd2d2
jmp 0x1400bd2fc
test rdx, rdx
jne 0x1400bd300
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400bd322
add rax, 2
sub rcx, 1
jne 0x1400bd310
jmp 0x1400bd383
test rcx, rcx
je 0x1400bd383
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x130], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bd37a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400bd375
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400bd375
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bd353
jmp 0x1400bd37a
test rcx, rcx
jne 0x1400bd37e
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 0x1400bd48a
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bd48a
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bd482
mov qword [rsp + 0x78], 0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bd482
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400bd482
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.1401f0b88
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bd451
cmp esi, eax
jb 0x1400bd48a
cmp ebx, 0x2bc
ja 0x1400bd451
cmp ebx, 0x2bc
jb 0x1400bd48a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400bd461
mov dword [rax], 7
test r15, r15
je 0x1400bd46d
mov dword [r15], 0
test r14, r14
je 0x1400bd478
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bd48a
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bd4c5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bd4c5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bd4a0
jmp 0x1400bd4ca
test rdx, rdx
jne 0x1400bd4ce
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bd4f2
add rax, 2
sub rcx, 1
jne 0x1400bd4e0
jmp 0x1400bd557
test rcx, rcx
je 0x1400bd557
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bd54e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dinput.dll
sub r8, rax
test rdi, rdi
je 0x1400bd549
movzx edx, word [rax + r8]
test dx, dx
je 0x1400bd549
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bd527
jmp 0x1400bd54e
test rcx, rcx
jne 0x1400bd552
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 0x1400bd667
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bd667
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bd65f
mov qword [rsp + 0x88], 0
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x88]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bd65f
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400bd65f
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.1401f0b88
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bd62e
cmp esi, eax
jb 0x1400bd667
cmp ebx, 0x2cc
ja 0x1400bd62e
cmp ebx, 0x2cc
jb 0x1400bd667
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400bd63e
mov dword [rax], 7
test r15, r15
je 0x1400bd64a
mov dword [r15], 0
test r14, r14
je 0x1400bd655
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400bd667
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bd697
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bd697
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bd672
jmp 0x1400bd69c
test rdx, rdx
jne 0x1400bd6a0
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400bd6c2
add rax, 2
sub rcx, 1
jne 0x1400bd6b0
jmp 0x1400bd71f
test rcx, rcx
je 0x1400bd71f
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bd716
lea rdi, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test rdi, rdi
je 0x1400bd711
movzx edx, word [rax + rbp]
test dx, dx
je 0x1400bd711
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bd6f0
jmp 0x1400bd716
test rcx, rcx
jne 0x1400bd71a
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 0x1400bd88f
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bd896
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bd872
mov qword [rsp + 0x98], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x98]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bd872
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400bd872
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.1401f0b88
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400bd805
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bd840
cmp esi, eax
jb 0x1400bd805
cmp ebx, 0x190
ja 0x1400bd840
cmp ebx, 0x190
jae 0x1400bd840
cmp dx, 5
jne 0x1400bd89d
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bd840
cmp esi, eax
jb 0x1400bd888
cmp ebx, 0x8d20190
ja 0x1400bd840
cmp ebx, 0x8d20190
jb 0x1400bd881
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1400bd851
mov dword [rbp], 8
test r15, r15
je 0x1400bd85d
mov dword [r15], 0
test r14, r14
je 0x1400bd868
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400bd8a2
mov rcx, rdi
call fcn.1401f0b88
mov rbp, qword [rsp + 0x38]
jmp 0x1400bd8a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400bd8a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400bd8a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400bd8a2
mov rbp, qword [rsp + 0x38]
jmp 0x1400bd8a2
mov rbp, qword [rsp + 0x38]
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bd8d5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bd8d5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bd8b0
jmp 0x1400bd8da
test rdx, rdx
jne 0x1400bd8de
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bd902
add rax, 2
sub rcx, 1
jne 0x1400bd8f0
jmp 0x1400bd967
test rcx, rcx
je 0x1400bd967
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x108], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bd95e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3d8.dll
sub r8, rax
test rdi, rdi
je 0x1400bd959
movzx edx, word [rax + r8]
test dx, dx
je 0x1400bd959
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bd937
jmp 0x1400bd95e
test rcx, rcx
jne 0x1400bd962
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 0x1400bdb49
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bdb49
mov r9, rax
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bdb41
mov qword [rsp + 0x70], 0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bdb41
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400bdb41
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.1401f0b88
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400bda44
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bda7b
cmp esi, eax
jb 0x1400bda44
cmp ebx, 0x10371
ja 0x1400bda7b
cmp ebx, 0x10371
jae 0x1400bda7b
cmp dx, 5
jne 0x1400bdaa6
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bda7b
cmp esi, eax
jb 0x1400bdaa6
cmp ebx, 0xa280371
ja 0x1400bda7b
cmp ebx, 0xa280371
jb 0x1400bdaa6
test rbp, rbp
je 0x1400bda87
mov dword [rbp], 8
test r15, r15
je 0x1400bda93
mov dword [r15], 1
test r14, r14
je 0x1400bda9e
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
cmp dx, 4
jne 0x1400bdadd
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bdb14
cmp esi, eax
jb 0x1400bdadd
cmp ebx, 0x10385
ja 0x1400bdb14
cmp ebx, 0x10385
jae 0x1400bdb14
cmp dx, 5
jne 0x1400bdb49
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bdb14
cmp esi, eax
jb 0x1400bdb49
cmp ebx, 0xa280385
ja 0x1400bdb14
cmp ebx, 0xa280385
jb 0x1400bdb49
test rbp, rbp
je 0x1400bdb20
mov dword [rbp], 8
test r15, r15
je 0x1400bdb2c
mov dword [r15], 1
test r14, r14
je 0x1400bdb37
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400bdb49
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bdb79
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bdb79
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bdb54
jmp 0x1400bdb7e
test rdx, rdx
jne 0x1400bdb82
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400bdba4
add rax, 2
sub rcx, 1
jne 0x1400bdb92
jmp 0x1400bdc10
test rcx, rcx
je 0x1400bdc10
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x118], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bdc07
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.mpg2splt.ax
sub r8, rax
nop
nop
test rdi, rdi
je 0x1400bdc02
movzx edx, word [rax + r8]
test dx, dx
je 0x1400bdc02
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400bdbe0
jmp 0x1400bdc07
test rcx, rcx
jne 0x1400bdc0b
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 0x1400bdd1c
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bdd1c
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bdd14
mov qword [rsp + 0xa8], 0
lea r9, [rsp + 0x44]
lea r8, [rsp + 0xa8]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bdd14
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400bdd14
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.1401f0b88
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400bdce7
cmp esi, eax
jb 0x1400bdd1c
cmp ebx, 0x10375
ja 0x1400bdce7
cmp ebx, 0x10375
jb 0x1400bdd1c
test rbp, rbp
je 0x1400bdcf3
mov dword [rbp], 8
test r15, r15
je 0x1400bdcff
mov dword [r15], 1
test r14, r14
je 0x1400bdd0a
mov word [r14], 0x62
mov dword [rsp + 0x28], 1
jmp 0x1400bdd1c
mov rcx, rdi
call fcn.1401f0b88
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400bdd55
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400bdd55
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bdd30
jmp 0x1400bdd5a
test rdx, rdx
jne 0x1400bdd5e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400bdd82
add rax, 2
sub rcx, 1
jne 0x1400bdd70
jmp 0x1400bdde3
test rcx, rcx
je 0x1400bdde3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x128], rdx
sub r13, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400bddda
lea rcx, [r13 + rdx + 0x7ffffdff]
lea rdi, str.dpnet.dll
sub rdi, rax
test rcx, rcx
je 0x1400bddd5
movzx edx, word [rax + rdi]
test dx, dx
je 0x1400bddd5
mov word [rax], dx
add rax, 2
sub rcx, 1
sub r13, 1
jne 0x1400bddb4
jmp 0x1400bddda
test r13, r13
jne 0x1400bddde
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 0x1400bdf4c
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400bdf53
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bdf2f
mov qword [rsp + 0xb8], 0
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0xb8]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bdf2f
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1400bdf2f
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.1401f0b88
mov edx, ebx
shr edx, 0x10
cmp dx, 4
jne 0x1400bdec9
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400bdf04
cmp ebx, eax
jb 0x1400bdec9
cmp esi, 0x86
ja 0x1400bdf04
cmp esi, 0x86
jae 0x1400bdf04
cmp dx, 5
jne 0x1400bdf5a
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400bdf04
cmp ebx, eax
jb 0x1400bdf45
cmp esi, 0xe5d0086
ja 0x1400bdf04
cmp esi, 0xe5d0086
jb 0x1400bdf3e
test rbp, rbp
je 0x1400bdf10
mov dword [rbp], 8
test r15, r15
je 0x1400bdf1c
mov dword [r15], 2
test r14, r14
je 0x1400bdf27
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400bdf5f
mov rcx, rdi
call fcn.1401f0b88
mov r12d, dword [rsp + 0x28]
jmp 0x1400bdf5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400bdf5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400bdf5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400bdf5f
mov r12d, dword [rsp + 0x28]
jmp 0x1400bdf5f
mov r12d, dword [rsp + 0x28]
mov esi, 9
xor r13d, r13d
call fcn.1401ff164
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400be0dc
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.140003090
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 8], 1
jle 0x1400bdfc8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140002c40
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400be08e
lea rdx, [rsp + 0x38]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x28], eax
test eax, eax
je 0x1400be075
mov ecx, eax
call fcn.1401f0b90
mov rdi, rax
test rax, rax
je 0x1400be075
mov r9, rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400be06d
mov qword [rsp + 0x80], r13
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x80]
lea rdx, [0x140279558]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400be06d
cmp qword [rsp + 0x80], 0
je 0x1400be06d
mov rcx, rdi
call fcn.1401f0b88
test rbp, rbp
je 0x1400be052
mov dword [rbp], esi
test r15, r15
je 0x1400be05a
mov dword [r15], r13d
test r14, r14
je 0x1400be065
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400be075
mov rcx, rdi
call fcn.1401f0b88
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x1400be0d1
jmp 0x1400be091
mov ecx, r13d
cmp ecx, dword [rbx - 0xc]
jg 0x1400be0d1
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 0x1400be0be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, 1
cmp esi, 0x63
jl 0x1400bdf67
test r12d, r12d
jne 0x1400be103
jmp 0x1400be0e7
mov ecx, 0x80070057
call fcn.140002bc0
nop
mov ecx, 0x80004005
call fcn.140002bc0
int3
test rbp, rbp
je 0x1400be0f0
mov dword [rbp], r13d
test r15, r15
je 0x1400be0f8
mov dword [r15], r13d
test r14, r14
je 0x1400be103
mov word [r14], 0x20
xor eax, eax
mov rcx, qword [rsp + 0x940]
xor rcx, rsp
call fcn.14022b9b0
mov rbx, qword [rsp + 0x9a8]
add rsp, 0x950
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret