Function at 0x1400cd270
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 [0x140315d90]
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 0x1400ce9f7
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 0x1400cd335
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400cd335
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cd310
jmp 0x1400cd33a
test rdx, rdx
jne 0x1400cd33e
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 0x1400cd369
add rax, 2
sub rcx, 1
jne 0x1400cd350
jmp 0x1400cd3d0
test rcx, rcx
je 0x1400cd3d0
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xe8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cd3c7
lea rdx, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
nop
nop
test rdx, rdx
je 0x1400cd3c2
movzx edi, word [r8 + rax]
test di, di
je 0x1400cd3c2
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x1400cd3a0
jmp 0x1400cd3c7
test rcx, rcx
jne 0x1400cd3cb
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 0x1400cd593
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cd593
mov r9, rax
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cd58b
mov qword [rsp + 0x68], 0
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cd58b
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400cd58b
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.1401ebdc0
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cd49c
cmp esi, eax
jb 0x1400cd4d4
cmp ebx, 0x5f
ja 0x1400cd49c
cmp ebx, 0x5f
jb 0x1400cd4cd
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400cd4ac
mov dword [rcx], 1
test r15, r15
je 0x1400cd4b8
mov dword [r15], 0
test r14, r14
je 0x1400cd4c3
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400cd4d9
mov rcx, qword [rsp + 0x38]
jmp 0x1400cd4d9
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 0x1400cd50a
cmp esi, eax
jb 0x1400cd534
cmp ebx, 0x448
ja 0x1400cd50a
cmp ebx, 0x448
jb 0x1400cd534
test rcx, rcx
je 0x1400cd515
mov dword [rcx], 2
test r15, r15
je 0x1400cd521
mov dword [r15], 0
test r14, r14
je 0x1400cd52c
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 0x1400cd55f
cmp esi, eax
jb 0x1400cd593
cmp ebx, 0x44
ja 0x1400cd55f
cmp ebx, 0x44
jb 0x1400cd593
test rcx, rcx
je 0x1400cd56a
mov dword [rcx], 3
test r15, r15
je 0x1400cd576
mov dword [r15], 0
test r14, r14
je 0x1400cd581
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400cd593
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cd5c5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x1400cd5c5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cd5a0
jmp 0x1400cd5ca
test rdx, rdx
jne 0x1400cd5ce
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400cd5f2
add rax, 2
sub rcx, 1
jne 0x1400cd5e0
jmp 0x1400cd657
test rcx, rcx
je 0x1400cd657
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cd64e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3drg8x.dll
sub r8, rax
test rdi, rdi
je 0x1400cd649
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400cd649
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400cd627
jmp 0x1400cd64e
test rcx, rcx
jne 0x1400cd652
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 0x1400cd75d
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cd75d
mov r9, rax
mov r8d, dword [rsp + 0x54]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cd755
mov qword [rsp + 0xa0], 0
lea r9, [rsp + 0x54]
lea r8, [rsp + 0xa0]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cd755
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400cd755
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.1401ebdc0
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cd724
cmp esi, eax
jb 0x1400cd75d
cmp ebx, 0x46
ja 0x1400cd724
cmp ebx, 0x46
jb 0x1400cd75d
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400cd734
mov dword [rax], 3
test r15, r15
je 0x1400cd740
mov dword [r15], 0
test r14, r14
je 0x1400cd74b
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400cd75d
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cd795
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400cd795
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cd770
jmp 0x1400cd79a
test rdx, rdx
jne 0x1400cd79e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400cd7c2
add rax, 2
sub rcx, 1
jne 0x1400cd7b0
jmp 0x1400cd823
test rcx, rcx
je 0x1400cd823
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cd81a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400cd815
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400cd815
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400cd7f3
jmp 0x1400cd81a
test rcx, rcx
jne 0x1400cd81e
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 0x1400cd9fb
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cd9fb
mov r9, rax
mov r8d, dword [rsp + 0x5c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cd9f3
mov qword [rsp + 0x90], 0
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x90]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cd9f3
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400cd9f3
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.1401ebdc0
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cd8fe
cmp esi, eax
jb 0x1400cd936
cmp ebx, 0x9b
ja 0x1400cd8fe
cmp ebx, 0x9b
jb 0x1400cd92f
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400cd90e
mov dword [rcx], 5
test r15, r15
je 0x1400cd91a
mov dword [r15], 0
test r14, r14
je 0x1400cd925
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400cd93b
mov rcx, qword [rsp + 0x38]
jmp 0x1400cd93b
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 0x1400cd96c
cmp esi, eax
jb 0x1400cd996
cmp ebx, 0x13e
ja 0x1400cd96c
cmp ebx, 0x13e
jb 0x1400cd996
test rcx, rcx
je 0x1400cd977
mov dword [rcx], 6
test r15, r15
je 0x1400cd983
mov dword [r15], 0
test r14, r14
je 0x1400cd98e
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 0x1400cd9c7
cmp esi, eax
jb 0x1400cd9fb
cmp ebx, 0x1b4
ja 0x1400cd9c7
cmp ebx, 0x1b4
jb 0x1400cd9fb
test rcx, rcx
je 0x1400cd9d2
mov dword [rcx], 6
test r15, r15
je 0x1400cd9de
mov dword [r15], 1
test r14, r14
je 0x1400cd9e9
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400cd9fb
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cda35
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400cda35
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cda10
jmp 0x1400cda3a
test rdx, rdx
jne 0x1400cda3e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400cda62
add rax, 2
sub rcx, 1
jne 0x1400cda50
jmp 0x1400cdac7
test rcx, rcx
je 0x1400cdac7
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x110], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cdabe
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dplayx.dll
sub r8, rax
test rdi, rdi
je 0x1400cdab9
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400cdab9
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400cda97
jmp 0x1400cdabe
test rcx, rcx
jne 0x1400cdac2
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 0x1400cdbd7
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cdbd7
mov r9, rax
mov r8d, dword [rsp + 0x64]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cdbcf
mov qword [rsp + 0xb0], 0
lea r9, [rsp + 0x64]
lea r8, [rsp + 0xb0]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cdbcf
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400cdbcf
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.1401ebdc0
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cdb9e
cmp esi, eax
jb 0x1400cdbd7
cmp ebx, 0x30206
ja 0x1400cdb9e
cmp ebx, 0x30206
jb 0x1400cdbd7
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400cdbae
mov dword [rax], 6
test r15, r15
je 0x1400cdbba
mov dword [r15], 1
test r14, r14
je 0x1400cdbc5
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400cdbd7
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cdc07
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400cdc07
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cdbe2
jmp 0x1400cdc0c
test rdx, rdx
jne 0x1400cdc10
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400cdc32
add rax, 2
sub rcx, 1
jne 0x1400cdc20
jmp 0x1400cdc93
test rcx, rcx
je 0x1400cdc93
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x130], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cdc8a
lea rdi, [rcx + rdx + 0x7ffffdff]
mov r8, rbp
sub r8, rax
test rdi, rdi
je 0x1400cdc85
movzx edx, word [r8 + rax]
test dx, dx
je 0x1400cdc85
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400cdc63
jmp 0x1400cdc8a
test rcx, rcx
jne 0x1400cdc8e
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 0x1400cdd9a
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cdd9a
mov r9, rax
mov r8d, dword [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cdd92
mov qword [rsp + 0x78], 0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cdd92
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400cdd92
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.1401ebdc0
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cdd61
cmp esi, eax
jb 0x1400cdd9a
cmp ebx, 0x2bc
ja 0x1400cdd61
cmp ebx, 0x2bc
jb 0x1400cdd9a
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400cdd71
mov dword [rax], 7
test r15, r15
je 0x1400cdd7d
mov dword [r15], 0
test r14, r14
je 0x1400cdd88
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400cdd9a
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cddd5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400cddd5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cddb0
jmp 0x1400cddda
test rdx, rdx
jne 0x1400cddde
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400cde02
add rax, 2
sub rcx, 1
jne 0x1400cddf0
jmp 0x1400cde67
test rcx, rcx
je 0x1400cde67
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf0], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400cde5e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.dinput.dll
sub r8, rax
test rdi, rdi
je 0x1400cde59
movzx edx, word [rax + r8]
test dx, dx
je 0x1400cde59
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400cde37
jmp 0x1400cde5e
test rcx, rcx
jne 0x1400cde62
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 0x1400cdf77
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400cdf77
mov r9, rax
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400cdf6f
mov qword [rsp + 0x88], 0
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x88]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400cdf6f
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400cdf6f
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.1401ebdc0
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400cdf3e
cmp esi, eax
jb 0x1400cdf77
cmp ebx, 0x2cc
ja 0x1400cdf3e
cmp ebx, 0x2cc
jb 0x1400cdf77
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400cdf4e
mov dword [rax], 7
test r15, r15
je 0x1400cdf5a
mov dword [r15], 0
test r14, r14
je 0x1400cdf65
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400cdf77
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400cdfa7
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400cdfa7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400cdf82
jmp 0x1400cdfac
test rdx, rdx
jne 0x1400cdfb0
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400cdfd2
add rax, 2
sub rcx, 1
jne 0x1400cdfc0
jmp 0x1400ce02f
test rcx, rcx
je 0x1400ce02f
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0xf8], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ce026
lea rdi, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test rdi, rdi
je 0x1400ce021
movzx edx, word [rax + rbp]
test dx, dx
je 0x1400ce021
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ce000
jmp 0x1400ce026
test rcx, rcx
jne 0x1400ce02a
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 0x1400ce19f
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400ce1a6
mov r9, rax
mov r8d, dword [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ce182
mov qword [rsp + 0x98], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x98]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ce182
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400ce182
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.1401ebdc0
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ce115
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce150
cmp esi, eax
jb 0x1400ce115
cmp ebx, 0x190
ja 0x1400ce150
cmp ebx, 0x190
jae 0x1400ce150
cmp dx, 5
jne 0x1400ce1ad
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce150
cmp esi, eax
jb 0x1400ce198
cmp ebx, 0x8d20190
ja 0x1400ce150
cmp ebx, 0x8d20190
jb 0x1400ce191
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1400ce161
mov dword [rbp], 8
test r15, r15
je 0x1400ce16d
mov dword [r15], 0
test r14, r14
je 0x1400ce178
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
jmp 0x1400ce1b2
mov rcx, rdi
call fcn.1401ebdc0
mov rbp, qword [rsp + 0x38]
jmp 0x1400ce1b2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ce1b2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ce1b2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ce1b2
mov rbp, qword [rsp + 0x38]
jmp 0x1400ce1b2
mov rbp, qword [rsp + 0x38]
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ce1e5
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ce1e5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ce1c0
jmp 0x1400ce1ea
test rdx, rdx
jne 0x1400ce1ee
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ce212
add rax, 2
sub rcx, 1
jne 0x1400ce200
jmp 0x1400ce277
test rcx, rcx
je 0x1400ce277
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x108], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ce26e
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.d3d8.dll
sub r8, rax
test rdi, rdi
je 0x1400ce269
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ce269
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ce247
jmp 0x1400ce26e
test rcx, rcx
jne 0x1400ce272
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 0x1400ce459
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400ce459
mov r9, rax
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ce451
mov qword [rsp + 0x70], 0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ce451
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400ce451
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.1401ebdc0
mov edx, esi
shr edx, 0x10
cmp dx, 4
jne 0x1400ce354
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce38b
cmp esi, eax
jb 0x1400ce354
cmp ebx, 0x10371
ja 0x1400ce38b
cmp ebx, 0x10371
jae 0x1400ce38b
cmp dx, 5
jne 0x1400ce3b6
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce38b
cmp esi, eax
jb 0x1400ce3b6
cmp ebx, 0xa280371
ja 0x1400ce38b
cmp ebx, 0xa280371
jb 0x1400ce3b6
test rbp, rbp
je 0x1400ce397
mov dword [rbp], 8
test r15, r15
je 0x1400ce3a3
mov dword [r15], 1
test r14, r14
je 0x1400ce3ae
mov word [r14], 0x20
mov dword [rsp + 0x28], 1
cmp dx, 4
jne 0x1400ce3ed
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce424
cmp esi, eax
jb 0x1400ce3ed
cmp ebx, 0x10385
ja 0x1400ce424
cmp ebx, 0x10385
jae 0x1400ce424
cmp dx, 5
jne 0x1400ce459
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce424
cmp esi, eax
jb 0x1400ce459
cmp ebx, 0xa280385
ja 0x1400ce424
cmp ebx, 0xa280385
jb 0x1400ce459
test rbp, rbp
je 0x1400ce430
mov dword [rbp], 8
test r15, r15
je 0x1400ce43c
mov dword [r15], 1
test r14, r14
je 0x1400ce447
mov word [r14], 0x61
mov dword [rsp + 0x28], 1
jmp 0x1400ce459
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ce489
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ce489
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ce464
jmp 0x1400ce48e
test rdx, rdx
jne 0x1400ce492
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
cmp word [rax], 0
je 0x1400ce4b4
add rax, 2
sub rcx, 1
jne 0x1400ce4a2
jmp 0x1400ce520
test rcx, rcx
je 0x1400ce520
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x118], rdx
mov rcx, r13
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ce517
lea rdi, [rcx + rdx + 0x7ffffdff]
lea r8, str.mpg2splt.ax
sub r8, rax
nop
nop
test rdi, rdi
je 0x1400ce512
movzx edx, word [rax + r8]
test dx, dx
je 0x1400ce512
mov word [rax], dx
add rax, 2
sub rdi, 1
sub rcx, 1
jne 0x1400ce4f0
jmp 0x1400ce517
test rcx, rcx
jne 0x1400ce51b
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 0x1400ce62c
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400ce62c
mov r9, rax
mov r8d, dword [rsp + 0x44]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ce624
mov qword [rsp + 0xa8], 0
lea r9, [rsp + 0x44]
lea r8, [rsp + 0xa8]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ce624
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400ce624
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.1401ebdc0
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x1400ce5f7
cmp esi, eax
jb 0x1400ce62c
cmp ebx, 0x10375
ja 0x1400ce5f7
cmp ebx, 0x10375
jb 0x1400ce62c
test rbp, rbp
je 0x1400ce603
mov dword [rbp], 8
test r15, r15
je 0x1400ce60f
mov dword [r15], 1
test r14, r14
je 0x1400ce61a
mov word [r14], 0x62
mov dword [rsp + 0x28], 1
jmp 0x1400ce62c
mov rcx, rdi
call fcn.1401ebdc0
mov rdx, r13
lea rcx, [rsp + 0x140]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x1400ce665
movzx eax, word [rcx + r12]
test ax, ax
je 0x1400ce665
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400ce640
jmp 0x1400ce66a
test rdx, rdx
jne 0x1400ce66e
sub rcx, 2
mov word [rcx], 0
mov rcx, r13
lea rax, [rsp + 0x140]
nop
cmp word [rax], 0
je 0x1400ce692
add rax, 2
sub rcx, 1
jne 0x1400ce680
jmp 0x1400ce6f3
test rcx, rcx
je 0x1400ce6f3
mov rdx, r13
sub rdx, rcx
mov qword [rsp + 0x128], rdx
sub r13, rdx
lea rax, [rsp + rdx*2 + 0x140]
je 0x1400ce6ea
lea rcx, [r13 + rdx + 0x7ffffdff]
lea rdi, str.dpnet.dll
sub rdi, rax
test rcx, rcx
je 0x1400ce6e5
movzx edx, word [rax + rdi]
test dx, dx
je 0x1400ce6e5
mov word [rax], dx
add rax, 2
sub rcx, 1
sub r13, 1
jne 0x1400ce6c4
jmp 0x1400ce6ea
test r13, r13
jne 0x1400ce6ee
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 0x1400ce85c
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400ce863
mov r9, rax
mov r8d, dword [rsp + 0x4c]
xor edx, edx
lea rcx, [rsp + 0x140]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ce83f
mov qword [rsp + 0xb8], 0
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0xb8]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ce83f
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1400ce83f
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.1401ebdc0
mov edx, ebx
shr edx, 0x10
cmp dx, 4
jne 0x1400ce7d9
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400ce814
cmp ebx, eax
jb 0x1400ce7d9
cmp esi, 0x86
ja 0x1400ce814
cmp esi, 0x86
jae 0x1400ce814
cmp dx, 5
jne 0x1400ce86a
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp ebx, eax
ja 0x1400ce814
cmp ebx, eax
jb 0x1400ce855
cmp esi, 0xe5d0086
ja 0x1400ce814
cmp esi, 0xe5d0086
jb 0x1400ce84e
test rbp, rbp
je 0x1400ce820
mov dword [rbp], 8
test r15, r15
je 0x1400ce82c
mov dword [r15], 2
test r14, r14
je 0x1400ce837
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400ce86f
mov rcx, rdi
call fcn.1401ebdc0
mov r12d, dword [rsp + 0x28]
jmp 0x1400ce86f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ce86f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ce86f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ce86f
mov r12d, dword [rsp + 0x28]
jmp 0x1400ce86f
mov r12d, dword [rsp + 0x28]
mov esi, 9
xor r13d, r13d
call fcn.1401fa4b0
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400ce9ec
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.1400040e0
mov rbx, qword [rsp + 0x20]
cmp dword [rbx - 8], 1
jle 0x1400ce8d8
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140003da0
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400ce99e
lea rdx, [rsp + 0x38]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [rsp + 0x28], eax
test eax, eax
je 0x1400ce985
mov ecx, eax
call fcn.1401ebdc8
mov rdi, rax
test rax, rax
je 0x1400ce985
mov r9, rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400ce97d
mov qword [rsp + 0x80], r13
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x80]
lea rdx, [0x1402729f8]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400ce97d
cmp qword [rsp + 0x80], 0
je 0x1400ce97d
mov rcx, rdi
call fcn.1401ebdc0
test rbp, rbp
je 0x1400ce962
mov dword [rbp], esi
test r15, r15
je 0x1400ce96a
mov dword [r15], r13d
test r14, r14
je 0x1400ce975
mov word [r14], 0x20
mov r12d, 1
jmp 0x1400ce985
mov rcx, rdi
call fcn.1401ebdc0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x1400ce9e1
jmp 0x1400ce9a1
mov ecx, r13d
cmp ecx, dword [rbx - 0xc]
jg 0x1400ce9e1
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 0x1400ce9ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, 1
cmp esi, 0x63
jl 0x1400ce877
test r12d, r12d
jne 0x1400cea13
jmp 0x1400ce9f7
mov ecx, 0x80070057
call fcn.140003d20
nop
mov ecx, 0x80004005
call fcn.140003d20
int3
test rbp, rbp
je 0x1400cea00
mov dword [rbp], r13d
test r15, r15
je 0x1400cea08
mov dword [r15], r13d
test r14, r14
je 0x1400cea13
mov word [r14], 0x20
xor eax, eax
mov rcx, qword [rsp + 0x940]
xor rcx, rsp
call fcn.1402272f0
mov rbx, qword [rsp + 0x9a8]
add rsp, 0x950
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret