Function at 0x14000ffc0
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14019cfa0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r13, rcx
xor r12d, r12d
mov dword [rbp - 0x65], r12d
call fcn.140004ea0
mov rcx, rax
test rax, rax
je 0x140010585
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x1f], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140010048
mov edx, 0x104
lea rcx, [rbp + 0x1f]
call fcn.140004870
mov rbx, qword [rbp + 0x1f]
mov r8d, 0x104
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r15, [rbx - 0x18]
test rbx, rbx
jne 0x140010067
mov eax, r12d
jmp 0x14001007b
movsxd rdx, dword [r15 + 0xc]
mov rcx, rbx
call fcn.1400e432c
test eax, eax
js 0x14001057a
cmp eax, dword [r15 + 0xc]
jg 0x14001057a
mov dword [r15 + 8], eax
cdqe
mov word [rbx + rax*2], r12w
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
mov esi, 0xffffffff
test eax, eax
je 0x14001052a
mov ecx, edi
call fcn.1400c7eb0
mov r14, rax
mov r9, rax
mov r8d, edi
xor edx, edx
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoW
mov qword [rbp + 7], r12
mov dword [rbp + 0x17], r12d
lea r9, [rbp + 0x17]
lea r8, [rbp + 7]
lea rdx, [0x14016d848]
mov rcx, r14
call sub.VERSION.dll_VerQueryValueW
nop
call fcn.140004ea0
mov rcx, rax
test rax, rax
je 0x140010590
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp + 0xf], rax
mov rdx, qword [rbp + 7]
movzx eax, word [rdx + 0x14]
movzx ecx, word [rdx + 0x16]
movzx r9d, word [rdx + 0x10]
movzx r8d, word [rdx + 0x12]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rdx, str._u__u__u__u
lea rcx, [rbp + 0xf]
call fcn.14000ed00
mov rbx, qword [rbp + 0xf]
mov rdx, rbx
mov rcx, r13
call fcn.140005bf0
mov rcx, r14
call fcn.1400c7ea8
lea r14, [rbx - 0x18]
movsxd rax, dword [r14 + 8]
lea rdi, [rbx + rax*2]
cmp rbx, rdi
jae 0x1400101a4
lea rdx, [0x140170408]
mov rcx, rbx
call fcn.1400f5350
mov r12, rax
movsxd rcx, eax
lea rcx, [rbx + rcx*2]
cmp rcx, rdi
jae 0x1400101a1
lea rdx, [0x140170408]
call fcn.1400f5310
lea edi, [rax + 1]
add edi, r12d
mov r9d, eax
mov r8d, r12d
lea rdx, [rbp - 0x59]
lea rcx, [rbp + 0xf]
call fcn.14000e520
mov rbx, qword [rbp - 0x59]
jmp 0x1400101e9
xor r12d, r12d
mov edi, esi
mov rcx, qword [r14]
test rcx, rcx
je 0x1400101b9
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
jmp 0x1400101bc
mov rcx, r12
test rcx, rcx
jne 0x1400101d2
call fcn.140004ea0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14001059b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x59], rbx
mov rdx, rbx
lea rcx, [r13 + 0x60]
call fcn.140005bf0
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010210
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test edi, edi
js 0x1400105a6
movsxd rcx, edi
mov rax, qword [rbp + 0xf]
lea rbx, [rax + rcx*2]
movsxd rcx, dword [r14 + 8]
lea r12, [rax + rcx*2]
cmp rbx, r12
jae 0x14001027e
lea rdx, [0x140170408]
mov rcx, rbx
call fcn.1400f5350
mov qword [rbp - 0x61], rax
movsxd rcx, eax
lea rcx, [rbx + rcx*2]
cmp rcx, r12
jae 0x14001027e
lea rdx, [0x140170408]
call fcn.1400f5310
mov r8, qword [rbp - 0x61]
add r8d, edi
lea edi, [rax + 1]
add edi, r8d
mov r9d, eax
lea rdx, [rbp - 0x51]
lea rcx, [rbp + 0xf]
call fcn.14000e520
mov rbx, qword [rbp - 0x51]
jmp 0x1400102be
mov edi, esi
mov rcx, qword [r14]
test rcx, rcx
je 0x140010291
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rcx, rcx
jne 0x1400102a7
call fcn.140004ea0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x1400105b1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x51], rbx
mov rdx, rbx
lea rcx, [r13 + 0x80]
call fcn.140005bf0
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400102e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test edi, edi
js 0x1400105bc
movsxd rcx, edi
mov rax, qword [rbp + 0xf]
lea rbx, [rax + rcx*2]
movsxd rcx, dword [r14 + 8]
lea r12, [rax + rcx*2]
cmp rbx, r12
jae 0x140010350
lea rdx, [0x140170408]
mov rcx, rbx
call fcn.1400f5350
mov qword [rbp - 0x61], rax
movsxd rcx, eax
lea rcx, [rbx + rcx*2]
cmp rcx, r12
jae 0x140010350
lea rdx, [0x140170408]
call fcn.1400f5310
mov r8, qword [rbp - 0x61]
add r8d, edi
mov r9d, eax
lea rdx, [rbp - 0x49]
lea rcx, [rbp + 0xf]
call fcn.14000e520
mov rbx, qword [rbp - 0x49]
jmp 0x14001038e
mov rcx, qword [r14]
test rcx, rcx
je 0x140010361
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rcx, rcx
jne 0x140010377
call fcn.140004ea0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14001056f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
mov rdx, rbx
lea rcx, [r13 + 0x40]
call fcn.140005bf0
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400103b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x31], xmm0
lea rcx, [rbp - 0x41]
call fcn.140005ff0
xor r12d, r12d
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rbp - 0x69], r12w
lea rdx, [rbp - 0x69]
mov rcx, rax
call fcn.140006420
mov dword [rbp - 0x65], sendto
lea rcx, [r13 + 0x60]
call fcn.140005ff0
mov rbx, qword [rax + 0x10]
lea rcx, [0x1401703e8]
call fcn.140005c60
lea rcx, [rbx + rax]
call fcn.140005e20
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.140010770
lea rcx, [r13 + 0x60]
call fcn.140005ff0
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140005f20
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.14000c420
lea rcx, [0x1401703e8]
call fcn.140005c60
mov rcx, rax
call fcn.140005e20
mov r8, rax
lea rdx, [0x1401703e8]
lea rcx, [rbp - 0x41]
call fcn.14000c420
lea rcx, [r13 + 0x80]
call fcn.140005ff0
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140005f20
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.14000c420
mov rdi, rax
mov rcx, rax
call fcn.140005ff0
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov rcx, rdi
call fcn.140005ff0
mov rbx, rax
lea rcx, [rbp - 0x19]
call fcn.140005ff0
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov rcx, rdi
call fcn.140005ff0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rbp - 0x67], r12w
lea rdx, [rbp - 0x67]
mov rcx, rax
call fcn.140006420
mov dword [rbp - 0x65], 0x1f
lea rcx, [r13 + 0x20]
lea rdx, [rbp - 0x19]
call fcn.14000c180
nop
lea rcx, [rbp - 0x19]
call fcn.14000a480
nop
lea rcx, [rbp - 0x41]
call fcn.14000a480
nop
mov eax, esi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14001052a
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [r15 + 0x10], esi
sub esi, 1
jg 0x140010542
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400dbfd0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80070057
call fcn.140004d90
nop
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80070057
call fcn.140004d90
nop
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80070057
call fcn.140004d90
int3