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

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x858
mov rax, qword [0x00535d58]
xor rax, rsp
mov qword [rsp + 0x840], rax
mov r15, rcx
mov r14, rdx
lea rcx, [rsp + 0x440]
mov edx, 0x104
mov r13, r8
mov dword [rsp + 0x2c], 0
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x4432ab
mov qword [rsp + 0x8a8], rbp
mov qword [rsp + 0x850], r12
lea rax, [rsp + 0x40]
lea r12, [rsp + 0x440]
mov r8d, 0x200
mov word [rsp + 0x646], 0
sub r12, rax
mov rdx, r8
lea rcx, [rsp + 0x40]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x441ae5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x441ae5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x441ac0
jmp 0x441aea
test rdx, rdx
jne 0x441aee
sub rcx, 2
mov ebx, 0x7fffffff
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
cmp word [rax], 0
lea rbp, str.ddraw.dll
je 0x441b19
add rax, 2
sub rcx, 1
jne 0x441b00
jmp 0x441b72
test rcx, rcx
je 0x441b72
mov rdx, rbx
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x441b69
mov r9, rbp
lea rdx, [rcx + rdx + 0x7ffffdff]
sub r9, rax
nop
test rdx, rdx
je 0x441b64
movzx r8d, word [rax + r9]
test r8w, r8w
je 0x441b64
mov word [rax], r8w
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x441b40
jmp 0x441b69
test rcx, rcx
jne 0x441b6d
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x441d36
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x441d31
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x441d14
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x441d14
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x441d14
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40002
mov dword [rsp + 0x20], 0x5f
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x441c2d
cmp esi, eax
jb 0x441c59
cmp edi, 0x5f
ja 0x441c2d
cmp edi, 0x5f
jb 0x441c59
test r15, r15
je 0x441c39
mov dword [r15], 1
test r14, r14
je 0x441c45
mov dword [r14], 0
test r13, r13
je 0x441c51
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x24], 0x40003
mov dword [rsp + 0x20], 0x448
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x441c8a
cmp esi, eax
jb 0x441cb6
cmp edi, 0x448
ja 0x441c8a
cmp edi, 0x448
jb 0x441cb6
test r15, r15
je 0x441c96
mov dword [r15], 2
test r14, r14
je 0x441ca2
mov dword [r14], 0
test r13, r13
je 0x441cae
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x44
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x441ce1
cmp esi, eax
jb 0x441d2a
cmp edi, 0x44
ja 0x441ce1
cmp edi, 0x44
jb 0x441d23
test r15, r15
je 0x441ced
mov dword [r15], 3
test r14, r14
je 0x441cf9
mov dword [r14], 0
test r13, r13
je 0x441d05
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x441d36
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x441d36
mov ebx, 0x7fffffff
jmp 0x441d36
mov ebx, 0x7fffffff
jmp 0x441d36
mov ebx, 0x7fffffff
mov r9d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r9
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x441d69
movzx eax, word [r12 + rcx]
test ax, ax
je 0x441d69
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x441d44
jmp 0x441d6e
test rdx, rdx
jne 0x441d72
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
cmp word [rax], 0
je 0x441d92
add rax, 2
sub rcx, 1
jne 0x441d80
jmp 0x441df0
test rcx, rcx
je 0x441df0
mov r8, rbx
mov rdx, r9
sub r8, rcx
sub rdx, r8
lea rax, [rsp + r8*2 + 0x40]
je 0x441de7
lea r9, str.d3drg8x.dll
lea r8, [rdx + r8 + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x441de2
movzx ecx, word [rax + r9]
test cx, cx
je 0x441de2
mov word [rax], cx
add rax, 2
sub r8, 1
sub rdx, 1
jne 0x441dc0
jmp 0x441de7
test rdx, rdx
jne 0x441deb
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x441ef8
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x441ef3
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x441ed6
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x441ed6
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x441ed6
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40004
mov dword [rsp + 0x20], 0x46
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x441ea3
cmp esi, eax
jb 0x441eec
cmp edi, 0x46
ja 0x441ea3
cmp edi, 0x46
jb 0x441ee5
test r15, r15
je 0x441eaf
mov dword [r15], 3
test r14, r14
je 0x441ebb
mov dword [r14], 0
test r13, r13
je 0x441ec7
mov word [r13], 0x61
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x441ef8
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x441ef8
mov ebx, 0x7fffffff
jmp 0x441ef8
mov ebx, 0x7fffffff
jmp 0x441ef8
mov ebx, 0x7fffffff
mov r8d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r8
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x441f35
movzx eax, word [r12 + rcx]
test ax, ax
je 0x441f35
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x441f10
jmp 0x441f3a
test rdx, rdx
jne 0x441f3e
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x441f62
add rax, 2
sub rcx, 1
jne 0x441f50
jmp 0x441fb8
test rcx, rcx
je 0x441fb8
mov rdx, rbx
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x441faf
mov r9, rbp
lea r8, [rcx + rdx + 0x7ffffdff]
sub r9, rax
test r8, r8
je 0x441faa
movzx edx, word [rax + r9]
test dx, dx
je 0x441faa
mov word [rax], dx
add rax, 2
sub r8, 1
sub rcx, 1
jne 0x441f88
jmp 0x441faf
test rcx, rcx
jne 0x441fb3
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442188
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442183
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x442166
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x442166
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x442166
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40005
mov dword [rsp + 0x20], 0x9b
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442079
cmp esi, eax
jb 0x4420a5
cmp edi, 0x9b
ja 0x442079
cmp edi, 0x9b
jb 0x4420a5
test r15, r15
je 0x442085
mov dword [r15], 5
test r14, r14
je 0x442091
mov dword [r14], 0
test r13, r13
je 0x44209d
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x13e
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x4420d6
cmp esi, eax
jb 0x442102
cmp edi, 0x13e
ja 0x4420d6
cmp edi, 0x13e
jb 0x442102
test r15, r15
je 0x4420e2
mov dword [r15], 6
test r14, r14
je 0x4420ee
mov dword [r14], 0
test r13, r13
je 0x4420fa
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x1b4
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442133
cmp esi, eax
jb 0x44217c
cmp edi, 0x1b4
ja 0x442133
cmp edi, 0x1b4
jb 0x442175
test r15, r15
je 0x44213f
mov dword [r15], 6
test r14, r14
je 0x44214b
mov dword [r14], 1
test r13, r13
je 0x442157
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x442188
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x442188
mov ebx, 0x7fffffff
jmp 0x442188
mov ebx, 0x7fffffff
jmp 0x442188
mov ebx, 0x7fffffff
mov r9d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r9
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x4421c5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x4421c5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x4421a0
jmp 0x4421ca
test rdx, rdx
jne 0x4421ce
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x4421f2
add rax, 2
sub rcx, 1
jne 0x4421e0
jmp 0x442250
test rcx, rcx
je 0x442250
mov r8, rbx
mov rdx, r9
sub r8, rcx
sub rdx, r8
lea rax, [rsp + r8*2 + 0x40]
je 0x442247
lea r9, str.dplayx.dll
lea r8, [rdx + r8 + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x442242
movzx ecx, word [rax + r9]
test cx, cx
je 0x442242
mov word [rax], cx
add rax, 2
sub r8, 1
sub rdx, 1
jne 0x442220
jmp 0x442247
test rdx, rdx
jne 0x44224b
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x44235e
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442359
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x44233c
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x44233c
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x44233c
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40006
mov dword [rsp + 0x20], 0x30206
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442309
cmp esi, eax
jb 0x442352
cmp edi, 0x30206
ja 0x442309
cmp edi, 0x30206
jb 0x44234b
test r15, r15
je 0x442315
mov dword [r15], 6
test r14, r14
je 0x442321
mov dword [r14], 1
test r13, r13
je 0x44232d
mov word [r13], 0x61
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x44235e
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x44235e
mov ebx, 0x7fffffff
jmp 0x44235e
mov ebx, 0x7fffffff
jmp 0x44235e
mov ebx, 0x7fffffff
mov r8d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r8
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442395
movzx eax, word [r12 + rcx]
test ax, ax
je 0x442395
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442370
jmp 0x44239a
test rdx, rdx
jne 0x44239e
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x4423c2
add rax, 2
sub rcx, 1
jne 0x4423b0
jmp 0x442418
test rcx, rcx
je 0x442418
mov rdx, rbx
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x44240f
mov r9, rbp
lea r8, [rcx + rdx + 0x7ffffdff]
sub r9, rax
test r8, r8
je 0x44240a
movzx edx, word [rax + r9]
test dx, dx
je 0x44240a
mov word [rax], dx
add rax, 2
sub r8, 1
sub rcx, 1
jne 0x4423e8
jmp 0x44240f
test rcx, rcx
jne 0x442413
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442526
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442521
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x442504
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x442504
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x442504
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2bc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x4424d1
cmp esi, eax
jb 0x44251a
cmp edi, 0x2bc
ja 0x4424d1
cmp edi, 0x2bc
jb 0x442513
test r15, r15
je 0x4424dd
mov dword [r15], 7
test r14, r14
je 0x4424e9
mov dword [r14], 0
test r13, r13
je 0x4424f5
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x442526
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x442526
mov ebx, 0x7fffffff
jmp 0x442526
mov ebx, 0x7fffffff
jmp 0x442526
mov ebx, 0x7fffffff
mov r9d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r9
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442559
movzx eax, word [r12 + rcx]
test ax, ax
je 0x442559
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442534
jmp 0x44255e
test rdx, rdx
jne 0x442562
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
cmp word [rax], 0
je 0x442582
add rax, 2
sub rcx, 1
jne 0x442570
jmp 0x4425e0
test rcx, rcx
je 0x4425e0
mov r8, rbx
mov rdx, r9
sub r8, rcx
sub rdx, r8
lea rax, [rsp + r8*2 + 0x40]
je 0x4425d7
lea r9, str.dinput.dll
lea r8, [rdx + r8 + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x4425d2
movzx ecx, word [rax + r9]
test cx, cx
je 0x4425d2
mov word [rax], cx
add rax, 2
sub r8, 1
sub rdx, 1
jne 0x4425b0
jmp 0x4425d7
test rdx, rdx
jne 0x4425db
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x4426ee
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x4426e9
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x4426cc
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4426cc
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x4426cc
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x40007
mov dword [rsp + 0x20], 0x2cc
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442699
cmp esi, eax
jb 0x4426e2
cmp edi, 0x2cc
ja 0x442699
cmp edi, 0x2cc
jb 0x4426db
test r15, r15
je 0x4426a5
mov dword [r15], 7
test r14, r14
je 0x4426b1
mov dword [r14], 0
test r13, r13
je 0x4426bd
mov word [r13], 0x61
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x4426ee
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x4426ee
mov ebx, 0x7fffffff
jmp 0x4426ee
mov ebx, 0x7fffffff
jmp 0x4426ee
mov ebx, 0x7fffffff
mov r8d, 0x200
lea rcx, [rsp + 0x40]
mov rdx, r8
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442725
movzx eax, word [r12 + rcx]
test ax, ax
je 0x442725
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442700
jmp 0x44272a
test rdx, rdx
jne 0x44272e
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x442752
add rax, 2
sub rcx, 1
jne 0x442740
jmp 0x4427a4
test rcx, rcx
je 0x4427a4
mov rdx, rbx
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x44279b
lea r8, [rcx + rdx + 0x7ffffdff]
sub rbp, rax
test r8, r8
je 0x442796
movzx edx, word [rax + rbp]
test dx, dx
je 0x442796
mov word [rax], dx
add rax, 2
sub r8, 1
sub rcx, 1
jne 0x442775
jmp 0x44279b
test rcx, rcx
jne 0x44279f
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442905
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x4428f9
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x4428dc
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
xor ebp, ebp
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4428dc
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x4428dc
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov r11d, esi
shr r11d, 0x10
cmp r11w, 4
jne 0x442871
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x4428ad
cmp esi, eax
jb 0x442871
cmp edi, 0x190
ja 0x4428ad
cmp edi, 0x190
jae 0x4428ad
cmp r11w, 5
jne 0x442900
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0x8d20190
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x4428ad
cmp esi, eax
jb 0x4428f2
cmp edi, 0x8d20190
ja 0x4428ad
cmp edi, 0x8d20190
jb 0x4428eb
test r15, r15
je 0x4428b9
mov dword [r15], 8
test r14, r14
je 0x4428c1
mov dword [r14], ebp
test r13, r13
je 0x4428cd
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x442905
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x442905
mov ebx, 0x7fffffff
jmp 0x442905
mov ebx, 0x7fffffff
jmp 0x442905
mov ebx, 0x7fffffff
jmp 0x442905
mov ebx, 0x7fffffff
mov ebp, 0x200
lea rcx, [rsp + 0x40]
mov rdx, rbp
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442937
movzx eax, word [r12 + rcx]
test ax, ax
je 0x442937
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442912
jmp 0x44293c
test rdx, rdx
jne 0x442940
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
cmp word [rax], 0
je 0x442962
add rax, 2
sub rcx, 1
jne 0x442950
jmp 0x4429c0
test rcx, rcx
je 0x4429c0
mov r8, rbx
mov rdx, rbp
sub r8, rcx
sub rdx, r8
lea rax, [rsp + r8*2 + 0x40]
je 0x4429b7
lea r9, str.d3d8.dll
lea r8, [rdx + r8 + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x4429b2
movzx ecx, word [r9 + rax]
test cx, cx
je 0x4429b2
mov word [rax], cx
add rax, 2
sub r8, 1
sub rdx, 1
jne 0x442990
jmp 0x4429b7
test rdx, rdx
jne 0x4429bb
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442bc3
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442bb7
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x442b9a
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x442b9a
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x442b9a
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov r11d, esi
shr r11d, 0x10
cmp r11w, 4
jne 0x442a8f
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442ac7
cmp esi, eax
jb 0x442a8f
cmp edi, 0x10371
ja 0x442ac7
cmp edi, 0x10371
jae 0x442ac7
cmp r11w, 5
jne 0x442af3
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280371
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442ac7
cmp esi, eax
jb 0x442af3
cmp edi, 0xa280371
ja 0x442ac7
cmp edi, 0xa280371
jb 0x442af3
test r15, r15
je 0x442ad3
mov dword [r15], 8
test r14, r14
je 0x442adf
mov dword [r14], 1
test r13, r13
je 0x442aeb
mov word [r13], 0x20
mov dword [rsp + 0x2c], 1
cmp r11w, 4
jne 0x442b2b
mov dword [rsp + 0x24], 0x40008
mov dword [rsp + 0x20], 0x10385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442b67
cmp esi, eax
jb 0x442b2b
cmp edi, 0x10385
ja 0x442b67
cmp edi, 0x10385
jae 0x442b67
cmp r11w, 5
jne 0x442bbe
mov dword [rsp + 0x24], 0x50001
mov dword [rsp + 0x20], 0xa280385
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442b67
cmp esi, eax
jb 0x442bb0
cmp edi, 0xa280385
ja 0x442b67
cmp edi, 0xa280385
jb 0x442ba9
test r15, r15
je 0x442b73
mov dword [r15], 8
test r14, r14
je 0x442b7f
mov dword [r14], 1
test r13, r13
je 0x442b8b
mov word [r13], 0x61
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x442bc3
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x442bc3
mov ebx, 0x7fffffff
jmp 0x442bc3
mov ebx, 0x7fffffff
jmp 0x442bc3
mov ebx, 0x7fffffff
jmp 0x442bc3
mov ebx, 0x7fffffff
mov rdx, rbp
lea rcx, [rsp + 0x40]
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442bf5
movzx eax, word [rcx + r12]
test ax, ax
je 0x442bf5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442bd0
jmp 0x442bfa
test rdx, rdx
jne 0x442bfe
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x442c22
add rax, 2
sub rcx, 1
jne 0x442c10
jmp 0x442c80
test rcx, rcx
je 0x442c80
mov rdx, rbx
sub rdx, rcx
mov rcx, rbp
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x442c77
lea r9, str.mpg2splt.ax
lea r8, [rcx + rdx + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x442c72
movzx edx, word [rax + r9]
test dx, dx
je 0x442c72
mov word [rax], dx
add rax, 2
sub r8, 1
sub rcx, 1
jne 0x442c50
jmp 0x442c77
test rcx, rcx
jne 0x442c7b
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442d8e
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442d89
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x442d6c
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x442d6c
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x442d6c
mov esi, dword [rax + 8]
mov edi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov dword [rsp + 0x24], 0x60003
mov dword [rsp + 0x20], 0x10375
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp esi, eax
ja 0x442d39
cmp esi, eax
jb 0x442d82
cmp edi, 0x10375
ja 0x442d39
cmp edi, 0x10375
jb 0x442d7b
test r15, r15
je 0x442d45
mov dword [r15], 8
test r14, r14
je 0x442d51
mov dword [r14], 1
test r13, r13
je 0x442d5d
mov word [r13], 0x62
mov dword [rsp + 0x2c], 1
mov ebx, 0x7fffffff
jmp 0x442d8e
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x442d8e
mov ebx, 0x7fffffff
jmp 0x442d8e
mov ebx, 0x7fffffff
jmp 0x442d8e
mov ebx, 0x7fffffff
mov rdx, rbp
lea rcx, [rsp + 0x40]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x442dc5
movzx eax, word [r12 + rcx]
test ax, ax
je 0x442dc5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442da0
jmp 0x442dca
test rdx, rdx
jne 0x442dce
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x442df2
add rax, 2
sub rcx, 1
jne 0x442de0
jmp 0x442e50
test rcx, rcx
je 0x442e50
mov rdx, rbx
sub rdx, rcx
mov rcx, rbp
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x442e47
lea r9, str.dpnet.dll
lea r8, [rcx + rdx + 0x7ffffdff]
sub r9, rax
nop
test r8, r8
je 0x442e42
movzx edx, word [r9 + rax]
test dx, dx
je 0x442e42
mov word [rax], dx
add rax, 2
sub r8, 1
sub rcx, 1
jne 0x442e20
jmp 0x442e47
test rcx, rcx
jne 0x442e4b
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x442fb4
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x442fba
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x442f8b
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
mov rcx, rbx
mov qword [rsp + 0x20], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x442f8b
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x442f8b
mov edi, dword [rax + 8]
mov esi, dword [rax + 0xc]
mov rcx, rbx
call fcn.00490454
mov r11d, edi
shr r11d, 0x10
cmp r11w, 4
jne 0x442f1f
mov dword [rsp + 0x24], 0x40009
mov dword [rsp + 0x20], 0x86
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp edi, eax
ja 0x442f5b
cmp edi, eax
jb 0x442f1f
cmp esi, 0x86
ja 0x442f5b
cmp esi, 0x86
jae 0x442f5b
cmp r11w, 5
jne 0x442fc5
mov dword [rsp + 0x24], 0x50002
mov dword [rsp + 0x20], 0xe5d0086
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp edi, eax
ja 0x442f5b
cmp edi, eax
jb 0x442fa9
cmp esi, 0xe5d0086
ja 0x442f5b
cmp esi, 0xe5d0086
jb 0x442f9e
test r15, r15
je 0x442f67
mov dword [r15], 8
test r14, r14
je 0x442f73
mov dword [r14], 2
test r13, r13
je 0x442f7f
mov word [r13], 0x20
mov edi, 1
mov ebx, 0x7fffffff
jmp 0x442fce
mov rcx, rbx
call fcn.00490454
mov edi, dword [rsp + 0x2c]
mov ebx, 0x7fffffff
jmp 0x442fce
mov edi, dword [rsp + 0x2c]
mov ebx, 0x7fffffff
jmp 0x442fce
mov edi, dword [rsp + 0x2c]
mov ebx, 0x7fffffff
jmp 0x442fce
mov edi, dword [rsp + 0x2c]
jmp 0x442fce
mov edi, dword [rsp + 0x2c]
mov ebx, 0x7fffffff
jmp 0x442fce
mov edi, dword [rsp + 0x2c]
mov ebx, 0x7fffffff
mov rdx, rbp
lea rcx, [rsp + 0x40]
nop
nop
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x443005
movzx eax, word [r12 + rcx]
test ax, ax
je 0x443005
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x442fe0
jmp 0x44300a
test rdx, rdx
jne 0x44300e
sub rcx, 2
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
nop
nop
cmp word [rax], 0
je 0x443032
add rax, 2
sub rcx, 1
jne 0x443020
jmp 0x443092
test rcx, rcx
je 0x443092
mov rdx, rbx
sub rdx, rcx
mov rcx, rbp
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x443089
lea r9, str.d3d9.dll
lea rdx, [rcx + rdx + 0x7ffffdff]
sub r9, rax
nop
test rdx, rdx
je 0x443084
movzx r8d, word [r9 + rax]
test r8w, r8w
je 0x443084
mov word [rax], r8w
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x443060
jmp 0x443089
test rcx, rcx
jne 0x44308d
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov dword [rsp + 0x28], eax
je 0x44314b
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x443146
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x443137
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
xor esi, esi
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x443137
cmp qword [rsp + 0x20], rsi
je 0x443137
mov rcx, rbx
call fcn.00490454
test r15, r15
je 0x443117
mov dword [r15], 9
test r14, r14
je 0x44311f
mov dword [r14], esi
test r13, r13
je 0x44312b
mov word [r13], 0x20
mov edi, 1
mov ebx, 0x7fffffff
jmp 0x44314b
mov rcx, rbx
call fcn.00490454
mov ebx, 0x7fffffff
jmp 0x44314b
mov ebx, 0x7fffffff
mov rdx, rbp
lea rcx, [rsp + 0x40]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x443178
movzx eax, word [r12 + rcx]
test ax, ax
je 0x443178
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x443153
jmp 0x44317d
test rdx, rdx
jne 0x443181
sub rcx, 2
mov r12, qword [rsp + 0x850]
mov word [rcx], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
cmp word [rax], 0
je 0x4431a8
add rax, 2
sub rcx, 1
jne 0x443196
jmp 0x443200
test rcx, rcx
je 0x443200
sub rbx, rcx
sub rbp, rbx
lea rax, [rsp + rbx*2 + 0x40]
je 0x4431f7
lea r8, str.d3d10.dll
lea rcx, [rbx + rbp + 0x7ffffdff]
sub r8, rax
nop
test rcx, rcx
je 0x4431f2
movzx edx, word [r8 + rax]
test dx, dx
je 0x4431f2
mov word [rax], dx
add rax, 2
sub rcx, 1
sub rbp, 1
jne 0x4431d0
jmp 0x4431f7
test rbp, rbp
jne 0x4431fb
sub rax, 2
mov word [rax], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov rbp, qword [rsp + 0x8a8]
test eax, eax
mov dword [rsp + 0x28], eax
je 0x4432a7
mov ecx, eax
call fcn.0049044c
test rax, rax
mov rbx, rax
je 0x4432a7
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov r9, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x44329f
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, [0x004f7618]
xor esi, esi
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x44329f
cmp qword [rsp + 0x20], rsi
je 0x44329f
mov rcx, rbx
call fcn.00490454
test r15, r15
je 0x443289
mov dword [r15], 0xa
test r14, r14
je 0x443291
mov dword [r14], esi
test r13, r13
je 0x4432c8
mov word [r13], 0x20
jmp 0x4432c8
mov rcx, rbx
call fcn.00490454
test edi, edi
jne 0x4432c8
test r15, r15
je 0x4432b7
mov dword [r15], 0
test r14, r14
je 0x4432c3
mov dword [r14], 0
test r13, r13
jne 0x443296
xor eax, eax
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.004c7bc0
add rsp, 0x858
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret