Function at 0x140105c00
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 [0x14035dc30]
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 0x1401061ca
cmp qword [rcx + 0x18], 8
jb 0x140105c5b
mov rcx, qword [rcx]
lea rdx, [rsp + 0x48]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
je 0x1401061ca
inc esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov ecx, esi
call fcn.140269b2c
mov rbx, rax
mov qword [rbp - 0x49], rax
mov ecx, 0x18
call fcn.1402695b8
mov r13, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
test rax, rax
je 0x140105cc6
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 0x140105cc9
mov r13, r14
xor edx, edx
xor ecx, ecx
call fcn.140269844
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], r13
cmp qword [rdi + 0x18], 8
jb 0x140105ce4
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 0x140105fdd
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x24], r14d
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x58]
lea rdx, str.VarFileInfoTranslation
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueW
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x140105fdd
mov r15d, r14d
mov dword [rsp + 0x20], r14d
test rax, 0xfffffffffffffffc
jbe 0x140105fdd
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.1400fd340
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 0x140106031
mov r15, qword [rsp + 0x60]
test r15, r15
je 0x14010602c
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 0x140105df6
mov qword [rbp - 0x31], r14
mov r8, r12
mov rdx, r15
call fcn.14026bb50
xor r14d, r14d
mov word [rbp + r12 - 0x41], r14w
jmp 0x140105e33
mov rsi, r14
or rsi, 7
cmp rsi, 0xa
cmovb rsi, rdi
lea rdx, [rsi + 1]
call fcn.140026230
mov rdi, rax
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], rsi
mov r8, r12
mov rdx, r15
mov rcx, rax
call fcn.14026bb50
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.1400fd750
nop
mov rsi, qword [rsp + 0x38]
mov rax, rsi
mov rdi, qword [rsp + 0x30]
sub rax, rdi
sar rax, 5
cmp rax, 4
je 0x14010607a
test rdi, rdi
je 0x140105f18
cmp rdi, rsi
je 0x140105ed1
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140105eb3
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140105eae
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401061f2
mov rcx, r8
call fcn.140269844
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
add rdi, 0x20
cmp rdi, rsi
jne 0x140105e74
mov rdi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x140105f02
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061f2
mov rcx, rdi
call fcn.140269844
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov rdx, qword [rbp - 0x29]
cmp rdx, 8
jb 0x140105f58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140105f53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061f8
call fcn.140269844
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], r14w
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x140105fa9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140105fa4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061ec
call fcn.140269844
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 0x140105d50
xor dil, dil
test r13, r13
je 0x140106023
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [r13 + 8], eax
cmp eax, 1
jne 0x140106023
mov rax, qword [r13]
mov rcx, r13
mov rax, qword [rax]
call qword [case.0x1400ac8a1.0]
lock xadd dword [r13 + 0xc], ebx
cmp ebx, 1
jne 0x140106023
mov rdx, qword [r13]
mov rcx, r13
mov rax, qword [rdx + 8]
call qword [case.0x1400ac8a1.0]
movzx eax, dil
jmp 0x1401061cc
mov r15d, dword [rsp + 0x20]
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x140105fb3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140106070
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061ec
call fcn.140269844
jmp 0x140105fb3
mov rcx, rdi
call fcn.1400d4c00
mov rcx, qword [rbp - 0x79]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x20
call fcn.1400d4c00
mov rcx, qword [rbp - 0x71]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x40
call fcn.1400d4c00
mov rcx, qword [rbp - 0x69]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
add rcx, 0x60
call fcn.1400d4c00
mov rcx, qword [rbp - 0x61]
mov dword [rcx], eax
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140106135
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x1401060ee
mov rcx, rbx
call fcn.140025d90
add rbx, 0x20
cmp rbx, rdi
jne 0x1401060d8
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14010611f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061f2
mov rcx, rbx
call fcn.140269844
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov rdx, qword [rbp - 0x29]
cmp rdx, 8
jb 0x140106175
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140106170
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061f8
call fcn.140269844
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], r14w
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x1401061c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401061bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401061ec
call fcn.140269844
mov dil, 1
jmp 0x140105fe0
xor al, al
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140269300
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140277ff8
nop
call fcn.140277ff8
nop
call fcn.140277ff8
int3