Function at 0x1401352d0
Capabilities:
Get file version info

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
mov rax, qword [0x1403ceac0]
xor rax, rsp
mov qword [rbp - 1], rax
mov qword [rbp - 0x69], r9
mov qword [rbp - 0x71], r8
mov qword [rbp - 0x79], rdx
mov rdi, rcx
mov rax, qword [rbp + 0x7f]
mov qword [rbp - 0x61], rax
mov dword [rsp + 0x48], 1
cmp qword [rcx + 0x10], 0
je 0x140135888
cmp qword [rcx + 0x18], 8
jb 0x14013532b
mov rcx, qword [rcx]
lea rdx, [rsp + 0x48]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
je 0x140135888
inc esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov ecx, esi
call fcn.1402974ec
mov rbx, rax
mov qword [rbp - 0x49], rax
mov ecx, 0x18
call fcn.140296fc8
mov r13, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
test rax, rax
je 0x140135396
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_void_.0
mov qword [r13], rax
mov qword [r13 + 0x10], rbx
jmp 0x140135399
mov r13, r14
xor edx, edx
xor ecx, ecx
call fcn.140296f94
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], r13
cmp qword [rdi + 0x18], 8
jb 0x1401353b4
mov rdi, qword [rdi]
mov r9, rbx
mov r8d, esi
xor edx, edx
mov rcx, rdi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1401356ad
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x24], r14d
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x58]
lea rdx, [0x140348500]
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueW
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x1401356ad
mov r15d, r14d
mov dword [rsp + 0x20], r14d
test rax, 0xfffffffffffffffc
jbe 0x1401356ad
mov rdx, r14
mov qword [rsp + 0x50], rdx
mov edi, 0xa
nop dword [rax]
mov rax, qword [rsp + 0x58]
movzx r9d, word [rdx + rax + 2]
movzx r8d, word [rdx + rax]
lea rdx, str.StringFileInfo_04x_04xProductVersion
lea rcx, [rbp - 0x21]
call fcn.14012bba0
nop
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x28], r14d
lea rdx, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rdx, qword [rbp - 0x21]
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x60]
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueW
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x1401356f3
mov r15, qword [rsp + 0x60]
test r15, r15
je 0x1401356ee
mov r14d, eax
xor eax, eax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], ax
lea r12, [r14 + r14]
lea rcx, [rbp - 0x41]
cmp r14, 7
ja 0x1401354c6
mov qword [rbp - 0x31], r14
mov r8, r12
mov rdx, r15
call fcn.1402b53e0
xor r14d, r14d
mov word [rbp + r12 - 0x41], r14w
jmp 0x140135503
mov rsi, r14
or rsi, 7
cmp rsi, 0xa
cmovb rsi, rdi
lea rdx, [rsi + 1]
call fcn.14002bf30
mov rdi, rax
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], rsi
mov r8, r12
mov rdx, r15
mov rcx, rax
call fcn.1402b53e0
xor r14d, r14d
mov word [rdi + r12], r14w
mov qword [rbp - 0x41], rdi
mov r8d, 0x2c
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x30]
call fcn.14012c430
nop
mov rsi, qword [rsp + 0x38]
mov rax, rsi
mov rdi, qword [rsp + 0x30]
sub rax, rdi
sar rax, 5
cmp rax, 4
je 0x140135738
test rdi, rdi
je 0x1401355e8
cmp rdi, rsi
je 0x1401355a1
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140135583
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14013557e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401358b0
mov rcx, r8
call fcn.140296f94
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
add rdi, 0x20
cmp rdi, rsi
jne 0x140135544
mov rdi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x1401355d2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358b0
mov rcx, rdi
call fcn.140296f94
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov rdx, qword [rbp - 0x29]
cmp rdx, 8
jb 0x140135628
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140135623
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358b6
call fcn.140296f94
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], r14w
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x140135679
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140135674
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358aa
call fcn.140296f94
mov edi, 0xa
mov r15d, dword [rsp + 0x20]
inc r15d
mov dword [rsp + 0x20], r15d
mov rdx, qword [rsp + 0x50]
add rdx, 4
mov qword [rsp + 0x50], rdx
mov ecx, dword [rsp + 0x24]
shr rcx, 2
movsxd rax, r15d
cmp rax, rcx
jb 0x140135420
xor dil, dil
test r13, r13
je 0x1401356e5
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [r13 + 8], eax
cmp eax, 1
jne 0x1401356e5
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx]
lock xadd dword [r13 + 0xc], ebx
cmp ebx, 1
jne 0x1401356e5
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
movzx eax, dil
jmp 0x14013588a
mov r15d, dword [rsp + 0x20]
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x140135683
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013572e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358aa
call fcn.140296f94
jmp 0x140135683
mov rcx, rdi
call fcn.1401251b0
mov rcx, qword [rbp - 0x79]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x20
call fcn.1401251b0
mov rcx, qword [rbp - 0x71]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x40
call fcn.1401251b0
mov rcx, qword [rbp - 0x69]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x60
call fcn.1401251b0
mov rcx, qword [rbp - 0x61]
mov dword [rcx], eax
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x1401357f3
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x1401357ac
mov rcx, rbx
call fcn.14002ced0
add rbx, 0x20
cmp rbx, rdi
jne 0x140135796
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401357dd
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358b0
mov rcx, rbx
call fcn.140296f94
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov rdx, qword [rbp - 0x29]
cmp rdx, 8
jb 0x140135833
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013582e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358b6
call fcn.140296f94
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], r14w
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x140135880
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013587b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401358aa
call fcn.140296f94
mov dil, 1
jmp 0x1401356b0
xor al, al
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140296f70
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
int3