Function at 0x1400b6840
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 [0x14020e318]
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 0x1400b7fc7
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 0x1400b6905
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400b6905
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b68e0
jmp 0x1400b690a
test rdx, rdx
jne 0x1400b690e
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 0x1400b6939
add rax, 2
sub rcx, 1
jne 0x1400b6920
jmp 0x1400b69a0
test rcx, rcx
je 0x1400b69a0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xe8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b6997
lea rdx, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
nop
nop
test rdx, rdx
je 0x1400b6992
movzx edi, word [r8 + rax]
test di, di
je 0x1400b6992
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x1400b6970
jmp 0x1400b6997
test rcx, rcx
jne 0x1400b699b
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 0x1400b6b63
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b6b63
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b6b5b
mov qword [rsp + 0x68], 0
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b6b5b
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400b6b5b
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.14013c754
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b6a6c
cmp esi, eax
jb 0x1400b6aa4
cmp ebx, 0x5f
ja 0x1400b6a6c
cmp ebx, 0x5f
jb 0x1400b6a9d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400b6a7c
mov dword [rcx], 1
test r15, r15
je 0x1400b6a88
mov dword [r15], 0
test r14, r14
je 0x1400b6a93
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b6aa9
mov rcx, qword [rsp + 0x38]
jmp 0x1400b6aa9
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 0x1400b6ada
cmp esi, eax
jb 0x1400b6b04
cmp ebx, 0x448
ja 0x1400b6ada
cmp ebx, 0x448
jb 0x1400b6b04
test rcx, rcx
je 0x1400b6ae5
mov dword [rcx], 2
test r15, r15
je 0x1400b6af1
mov dword [r15], 0
test r14, r14
je 0x1400b6afc
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 0x1400b6b2f
cmp esi, eax
jb 0x1400b6b63
cmp ebx, 0x44
ja 0x1400b6b2f
cmp ebx, 0x44
jb 0x1400b6b63
test rcx, rcx
je 0x1400b6b3a
mov dword [rcx], 3
test r15, r15
je 0x1400b6b46
mov dword [r15], 0
test r14, r14
je 0x1400b6b51
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b6b63
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b6b95
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400b6b95
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b6b70
jmp 0x1400b6b9a
test rdx, rdx
jne 0x1400b6b9e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b6bc2
add rax, 2
sub rcx, 1
jne 0x1400b6bb0
jmp 0x1400b6c27
test rcx, rcx
je 0x1400b6c27
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b6c1e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3drg8x.dll
sub r8, rax
test rdi, rdi
je 0x1400b6c19
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400b6c19
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b6bf7
jmp 0x1400b6c1e
test rcx, rcx
jne 0x1400b6c22
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 0x1400b6d2d
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b6d2d
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b6d25
mov qword [rsp + 0xa0], 0
lea r9, [rsp + 0x54]
lea r8, [rsp + 0xa0]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b6d25
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400b6d25
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.14013c754
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b6cf4
cmp esi, eax
jb 0x1400b6d2d
cmp ebx, 0x46
ja 0x1400b6cf4
cmp ebx, 0x46
jb 0x1400b6d2d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400b6d04
mov dword [rax], 3
test r15, r15
je 0x1400b6d10
mov dword [r15], 0
test r14, r14
je 0x1400b6d1b
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400b6d2d
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b6d65
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b6d65
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b6d40
jmp 0x1400b6d6a
test rdx, rdx
jne 0x1400b6d6e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b6d92
add rax, 2
sub rcx, 1
jne 0x1400b6d80
jmp 0x1400b6df3
test rcx, rcx
je 0x1400b6df3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b6dea
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400b6de5
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400b6de5
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b6dc3
jmp 0x1400b6dea
test rcx, rcx
jne 0x1400b6dee
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 0x1400b6fcb
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b6fcb
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b6fc3
mov qword [rsp + 0x90], 0
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x90]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b6fc3
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400b6fc3
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.14013c754
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b6ece
cmp esi, eax
jb 0x1400b6f06
cmp ebx, 0x9b
ja 0x1400b6ece
cmp ebx, 0x9b
jb 0x1400b6eff
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400b6ede
mov dword [rcx], 5
test r15, r15
je 0x1400b6eea
mov dword [r15], 0
test r14, r14
je 0x1400b6ef5
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b6f0b
mov rcx, qword [rsp + 0x38]
jmp 0x1400b6f0b
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 0x1400b6f3c
cmp esi, eax
jb 0x1400b6f66
cmp ebx, 0x13e
ja 0x1400b6f3c
cmp ebx, 0x13e
jb 0x1400b6f66
test rcx, rcx
je 0x1400b6f47
mov dword [rcx], 6
test r15, r15
je 0x1400b6f53
mov dword [r15], 0
test r14, r14
je 0x1400b6f5e
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 0x1400b6f97
cmp esi, eax
jb 0x1400b6fcb
cmp ebx, 0x1b4
ja 0x1400b6f97
cmp ebx, 0x1b4
jb 0x1400b6fcb
test rcx, rcx
je 0x1400b6fa2
mov dword [rcx], 6
test r15, r15
je 0x1400b6fae
mov dword [r15], 1
test r14, r14
je 0x1400b6fb9
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b6fcb
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b7005
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b7005
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b6fe0
jmp 0x1400b700a
test rdx, rdx
jne 0x1400b700e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b7032
add rax, 2
sub rcx, 1
jne 0x1400b7020
jmp 0x1400b7097
test rcx, rcx
je 0x1400b7097
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x110], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b708e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dplayx.dll
sub r8, rax
test rdi, rdi
je 0x1400b7089
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400b7089
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b7067
jmp 0x1400b708e
test rcx, rcx
jne 0x1400b7092
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 0x1400b71a7
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b71a7
mov r9, rax
mov r8d, dword [rsp + 0x64]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b719f
mov qword [rsp + 0xb0], 0
lea r9, [rsp + 0x64]
lea r8, [rsp + 0xb0]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b719f
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400b719f
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.14013c754
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b716e
cmp esi, eax
jb 0x1400b71a7
cmp ebx, 0x30206
ja 0x1400b716e
cmp ebx, 0x30206
jb 0x1400b71a7
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400b717e
mov dword [rax], 6
test r15, r15
je 0x1400b718a
mov dword [r15], 1
test r14, r14
je 0x1400b7195
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400b71a7
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b71d7
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b71d7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b71b2
jmp 0x1400b71dc
test rdx, rdx
jne 0x1400b71e0
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400b7202
add rax, 2
sub rcx, 1
jne 0x1400b71f0
jmp 0x1400b7263
test rcx, rcx
je 0x1400b7263
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x130], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b725a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400b7255
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400b7255
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b7233
jmp 0x1400b725a
test rcx, rcx
jne 0x1400b725e
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 0x1400b736a
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b736a
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7362
mov qword [rsp + 0x78], 0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7362
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400b7362
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.14013c754
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b7331
cmp esi, eax
jb 0x1400b736a
cmp ebx, 0x2bc
ja 0x1400b7331
cmp ebx, 0x2bc
jb 0x1400b736a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400b7341
mov dword [rax], 7
test r15, r15
je 0x1400b734d
mov dword [r15], 0
test r14, r14
je 0x1400b7358
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b736a
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b73a5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b73a5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b7380
jmp 0x1400b73aa
test rdx, rdx
jne 0x1400b73ae
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b73d2
add rax, 2
sub rcx, 1
jne 0x1400b73c0
jmp 0x1400b7437
test rcx, rcx
je 0x1400b7437
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b742e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dinput.dll
sub r8, rax
test rdi, rdi
je 0x1400b7429
movzx edx, word [rax + r8]
test dx, dx
je 0x1400b7429
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b7407
jmp 0x1400b742e
test rcx, rcx
jne 0x1400b7432
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 0x1400b7547
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7547
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b753f
mov qword [rsp + 0x88], 0
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x88]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b753f
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400b753f
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.14013c754
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b750e
cmp esi, eax
jb 0x1400b7547
cmp ebx, 0x2cc
ja 0x1400b750e
cmp ebx, 0x2cc
jb 0x1400b7547
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400b751e
mov dword [rax], 7
test r15, r15
je 0x1400b752a
mov dword [r15], 0
test r14, r14
je 0x1400b7535
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400b7547
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b7577
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b7577
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b7552
jmp 0x1400b757c
test rdx, rdx
jne 0x1400b7580
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400b75a2
add rax, 2
sub rcx, 1
jne 0x1400b7590
jmp 0x1400b75ff
test rcx, rcx
je 0x1400b75ff
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b75f6
lea rdi, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test rdi, rdi
je 0x1400b75f1
movzx edx, word [rax + rbp]
test dx, dx
je 0x1400b75f1
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b75d0
jmp 0x1400b75f6
test rcx, rcx
jne 0x1400b75fa
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 0x1400b776f
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7776
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7752
mov qword [rsp + 0x98], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x98]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7752
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400b7752
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.14013c754
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400b76e5
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b7720
cmp esi, eax
jb 0x1400b76e5
cmp ebx, 0x190
ja 0x1400b7720
cmp ebx, 0x190
jae 0x1400b7720
cmp dx, 5
jne 0x1400b777d
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b7720
cmp esi, eax
jb 0x1400b7768
cmp ebx, 0x8d20190
ja 0x1400b7720
cmp ebx, 0x8d20190
jb 0x1400b7761
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1400b7731
mov dword [rbp], 8
test r15, r15
je 0x1400b773d
mov dword [r15], 0
test r14, r14
je 0x1400b7748
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400b7782
mov rcx, rdi
call fcn.14013c754
mov rbp, qword [rsp + 0x38]
jmp 0x1400b7782
mov rbp, qword [rsp + 0x38]
jmp 0x1400b7782
mov rbp, qword [rsp + 0x38]
jmp 0x1400b7782
mov rbp, qword [rsp + 0x38]
jmp 0x1400b7782
mov rbp, qword [rsp + 0x38]
jmp 0x1400b7782
mov rbp, qword [rsp + 0x38]
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b77b5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b77b5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b7790
jmp 0x1400b77ba
test rdx, rdx
jne 0x1400b77be
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b77e2
add rax, 2
sub rcx, 1
jne 0x1400b77d0
jmp 0x1400b7847
test rcx, rcx
je 0x1400b7847
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x108], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b783e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3d8.dll
sub r8, rax
test rdi, rdi
je 0x1400b7839
movzx edx, word [rax + r8]
test dx, dx
je 0x1400b7839
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b7817
jmp 0x1400b783e
test rcx, rcx
jne 0x1400b7842
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 0x1400b7a29
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7a29
mov r9, rax
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7a21
mov qword [rsp + 0x70], 0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7a21
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400b7a21
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.14013c754
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400b7924
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b795b
cmp esi, eax
jb 0x1400b7924
cmp ebx, 0x10371
ja 0x1400b795b
cmp ebx, 0x10371
jae 0x1400b795b
cmp dx, 5
jne 0x1400b7986
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b795b
cmp esi, eax
jb 0x1400b7986
cmp ebx, 0xa280371
ja 0x1400b795b
cmp ebx, 0xa280371
jb 0x1400b7986
test rbp, rbp
je 0x1400b7967
mov dword [rbp], 8
test r15, r15
je 0x1400b7973
mov dword [r15], 1
test r14, r14
je 0x1400b797e
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
cmp dx, 4
jne 0x1400b79bd
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b79f4
cmp esi, eax
jb 0x1400b79bd
cmp ebx, 0x10385
ja 0x1400b79f4
cmp ebx, 0x10385
jae 0x1400b79f4
cmp dx, 5
jne 0x1400b7a29
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b79f4
cmp esi, eax
jb 0x1400b7a29
cmp ebx, 0xa280385
ja 0x1400b79f4
cmp ebx, 0xa280385
jb 0x1400b7a29
test rbp, rbp
je 0x1400b7a00
mov dword [rbp], 8
test r15, r15
je 0x1400b7a0c
mov dword [r15], 1
test r14, r14
je 0x1400b7a17
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400b7a29
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b7a59
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b7a59
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b7a34
jmp 0x1400b7a5e
test rdx, rdx
jne 0x1400b7a62
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400b7a84
add rax, 2
sub rcx, 1
jne 0x1400b7a72
jmp 0x1400b7af0
test rcx, rcx
je 0x1400b7af0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x118], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b7ae7
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.mpg2splt.ax
sub r8, rax
nop
nop
test rdi, rdi
je 0x1400b7ae2
movzx edx, word [rax + r8]
test dx, dx
je 0x1400b7ae2
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400b7ac0
jmp 0x1400b7ae7
test rcx, rcx
jne 0x1400b7aeb
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 0x1400b7bfc
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7bfc
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7bf4
mov qword [rsp + 0xa8], 0
lea r9, [rsp + 0x44]
lea r8, [rsp + 0xa8]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7bf4
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400b7bf4
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.14013c754
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400b7bc7
cmp esi, eax
jb 0x1400b7bfc
cmp ebx, 0x10375
ja 0x1400b7bc7
cmp ebx, 0x10375
jb 0x1400b7bfc
test rbp, rbp
je 0x1400b7bd3
mov dword [rbp], 8
test r15, r15
je 0x1400b7bdf
mov dword [r15], 1
test r14, r14
je 0x1400b7bea
mov word [r14], 0x62
mov dword [rsp + 0x28], 1
jmp 0x1400b7bfc
mov rcx, rdi
call fcn.14013c754
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400b7c35
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400b7c35
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b7c10
jmp 0x1400b7c3a
test rdx, rdx
jne 0x1400b7c3e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400b7c62
add rax, 2
sub rcx, 1
jne 0x1400b7c50
jmp 0x1400b7cc3
test rcx, rcx
je 0x1400b7cc3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x128], rdx
sub r13, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400b7cba
lea rcx, [r13 + rdx + 0x7ffffdff]
lea rdi, str.dpnet.dll
sub rdi, rax
test rcx, rcx
je 0x1400b7cb5
movzx edx, word [rax + rdi]
test dx, dx
je 0x1400b7cb5
mov word [rax], dx
add rax, 2
sub rcx, 1
sub r13, 1
jne 0x1400b7c94
jmp 0x1400b7cba
test r13, r13
jne 0x1400b7cbe
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 0x1400b7e2c
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7e33
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7e0f
mov qword [rsp + 0xb8], 0
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0xb8]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7e0f
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1400b7e0f
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.14013c754
mov edx, ebx
shr edx, 0x10
cmp dx, 4
jne 0x1400b7da9
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400b7de4
cmp ebx, eax
jb 0x1400b7da9
cmp esi, 0x86
ja 0x1400b7de4
cmp esi, 0x86
jae 0x1400b7de4
cmp dx, 5
jne 0x1400b7e3a
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400b7de4
cmp ebx, eax
jb 0x1400b7e25
cmp esi, 0xe5d0086
ja 0x1400b7de4
cmp esi, 0xe5d0086
jb 0x1400b7e1e
test rbp, rbp
je 0x1400b7df0
mov dword [rbp], 8
test r15, r15
je 0x1400b7dfc
mov dword [r15], 2
test r14, r14
je 0x1400b7e07
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400b7e3f
mov rcx, rdi
call fcn.14013c754
mov r12d, dword [rsp + 0x28]
jmp 0x1400b7e3f
mov r12d, dword [rsp + 0x28]
jmp 0x1400b7e3f
mov r12d, dword [rsp + 0x28]
jmp 0x1400b7e3f
mov r12d, dword [rsp + 0x28]
jmp 0x1400b7e3f
mov r12d, dword [rsp + 0x28]
jmp 0x1400b7e3f
mov r12d, dword [rsp + 0x28]
mov esi, 9
xor r13d, r13d
call fcn.14013e120
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400b7fbc
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.140001df0
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 8], 1
jle 0x1400b7ea8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140001cf0
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400b7f6e
lea rdx, [rsp + 0x38]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x28], eax
test eax, eax
je 0x1400b7f55
mov ecx, eax
call fcn.14013c75c
mov rdi, rax
test rax, rax
je 0x1400b7f55
mov r9, rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b7f4d
mov qword [rsp + 0x80], r13
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x80]
lea rdx, [0x14019d8a0]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b7f4d
cmp qword [rsp + 0x80], 0
je 0x1400b7f4d
mov rcx, rdi
call fcn.14013c754
test rbp, rbp
je 0x1400b7f32
mov dword [rbp], esi
test r15, r15
je 0x1400b7f3a
mov dword [r15], r13d
test r14, r14
je 0x1400b7f45
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400b7f55
mov rcx, rdi
call fcn.14013c754
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x1400b7fb1
jmp 0x1400b7f71
mov ecx, r13d
cmp ecx, dword [rbx - 0xc]
jg 0x1400b7fb1
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 0x1400b7f9e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, 1
cmp esi, 0x63
jl 0x1400b7e47
test r12d, r12d
jne 0x1400b7fe3
jmp 0x1400b7fc7
mov ecx, 0x80070057
call fcn.140001c70
nop
mov ecx, 0x80004005
call fcn.140001c70
int3
test rbp, rbp
je 0x1400b7fd0
mov dword [rbp], r13d
test r15, r15
je 0x1400b7fd8
mov dword [r15], r13d
test r14, r14
je 0x1400b7fe3
mov word [r14], 0x20
xor eax, eax
mov rcx, qword [rsp + 0x940]
xor rcx, rsp
call fcn.14015b6f0
mov rbx, qword [rsp + 0x9a8]
add rsp, 0x950
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret