Function at 0x140004880
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x1400691d8]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rdi, rdx
mov qword [rsp + 0x38], rdx
xor r15d, r15d
mov qword [rbp + 0x120], r15
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 7
mov word [rbp + 0x120], r15w
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.RtlGetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140004bfc
mov dword [rbp - 0x20], 0x11c
lea rcx, [rbp - 0x20]
call rax
mov edx, dword [rbp - 0x1c]
lea rcx, [rbp + 0x1c0]
call fcn.140003e00
mov rbx, rax
mov rdx, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, r9
sub rax, rdx
mov rcx, rbx
cmp rax, 1
jb 0x14000495f
lea r8, [rdx + 1]
mov qword [rbx + 0x10], r8
cmp r9, 8
jb 0x14000494d
mov rcx, qword [rbx]
movzx eax, word [0x14005a31c]
mov word [rcx + rdx*2], ax
mov word [rcx + r8*2], r15w
jmp 0x14000497c
mov qword [rsp + 0x20], 1
lea r9, [0x14005a31c]
mov edx, 1
call fcn.1400075a0
mov rbx, rax
mov edx, dword [rbp - 0x18]
lea rcx, [rbp + 0x180]
call fcn.140003e00
mov r10, rax
mov rdx, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, r9
sub rax, rdx
mov rcx, r10
cmp rax, 1
jb 0x1400049c8
lea r8, [rdx + 1]
mov qword [r10 + 0x10], r8
cmp r9, 8
jb 0x1400049b6
mov rcx, qword [r10]
movzx eax, word [0x14005a31c]
mov word [rcx + rdx*2], ax
mov word [rcx + r8*2], r15w
jmp 0x1400049e5
mov qword [rsp + 0x20], 1
lea r9, [0x14005a31c]
mov edx, 1
call fcn.1400075a0
mov r10, rax
mov rdx, qword [r10 + 0x10]
cmp qword [r10 + 0x18], 8
jb 0x1400049f3
mov r10, qword [r10]
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140004a31
lea r14, [rcx + rdx]
mov qword [rbx + 0x10], r14
mov rsi, rbx
cmp r8, 8
jb 0x140004a1a
mov rsi, qword [rbx]
lea rcx, [rsi + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r10
call fcn.1400277f0
mov word [rsi + r14*2], r15w
jmp 0x140004a44
mov qword [rsp + 0x20], rdx
mov r9, r10
mov rcx, rbx
call fcn.1400075a0
mov rbx, rax
mov edx, dword [rbp - 0x14]
lea rcx, [rbp + 0x160]
call fcn.140003e00
mov r9, rax
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140004a64
mov r9, qword [rax]
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140004aa2
lea r14, [rdx + rcx]
mov qword [rbx + 0x10], r14
mov rsi, rbx
cmp r8, 8
jb 0x140004a8b
mov rsi, qword [rbx]
lea rcx, [rsi + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.1400277f0
mov word [rsi + r14*2], r15w
jmp 0x140004ab2
mov qword [rsp + 0x20], rdx
mov rcx, rbx
call fcn.1400075a0
mov rbx, rax
lea rax, [rbp + 0x120]
cmp rax, rbx
je 0x140004adc
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140004acc
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.140006e00
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 8
jb 0x140004b22
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004b1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005567
call fcn.140025900
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x178], 7
mov word [rbp + 0x160], r15w
mov rdx, qword [rbp + 0x198]
cmp rdx, 8
jb 0x140004b82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004b7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000556d
call fcn.140025900
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x198], 7
mov word [rbp + 0x180], r15w
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 8
jb 0x140004be2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004bdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005573
call fcn.140025900
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rdi + 0x10], xmm1
jmp 0x14000552c
xor edx, edx
lea rcx, [0x14005a320]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov ebx, eax
mov ecx, eax
call fcn.140025be0
mov r14, rax
mov r9, rax
mov r8d, ebx
xor edx, edx
lea rcx, [0x14005a320]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
mov dword [rsp + 0x30], r15d
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea rdx, str.VarFileInfoTranslation
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
mov ebx, r15d
mov ecx, dword [rsp + 0x30]
test rcx, 0xfffffffffffffffc
jbe 0x140004dfd
mov rsi, r15
mov qword [rbp + 0x100], r15
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x118], 7
mov word [rbp + 0x100], r15w
xor r8d, r8d
lea edx, [r8 + 0x32]
lea rcx, [rbp + 0x100]
call fcn.140006c60
nop
mov rax, qword [rsp + 0x38]
movzx edx, word [rsi + rax + 2]
movzx r9d, word [rsi + rax]
lea rcx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rcx, qword [rbp + 0x100]
mov dword [rsp + 0x20], edx
lea r8, str.StringFileInfo_04x_04xProductVersion
mov edx, 0x32
call fcn.1400041a0
mov qword [rbp + 0x140], r15
mov dword [rsp + 0x34], r15d
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
lea r9, [rsp + 0x34]
lea r8, [rbp + 0x140]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
mov r8d, dword [rsp + 0x34]
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x178], 7
mov rdx, qword [rbp + 0x140]
lea rcx, [rbp + 0x160]
call fcn.140006e00
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x140004d81
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005579
call fcn.140025900
movups xmm0, xmmword [rbp + 0x160]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rbp + 0x170]
movups xmmword [rbp + 0x130], xmm1
mov rdx, qword [rbp + 0x118]
cmp rdx, 8
jb 0x140004de3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004dde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000557f
call fcn.140025900
inc ebx
add rsi, 4
mov ecx, dword [rsp + 0x30]
shr rcx, 2
movsxd rax, ebx
cmp rax, rcx
jb 0x140004c62
mov rcx, r14
call fcn.140025900
mov r8d, 1
lea rdx, str._d_._d_._d_.
lea rcx, [rbp - 0x50]
call fcn.1400067b0
nop
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x48], 0
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x78], 0
movdqa xmmword [rbp - 0x80], xmm0
mov byte [rbp - 0x70], 0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
mov byte [rbp - 0x58], 0
lea rcx, [rbp + 0x120]
mov rax, qword [rbp + 0x130]
cmp qword [rbp + 0x138], 8
jb 0x140004e7c
mov rcx, qword [rbp + 0x120]
lea rdx, [rcx + rax*2]
jmp 0x140004e87
lea rdx, [rcx + rax*2]
lea rcx, [rbp + 0x120]
lea r9, [rbp - 0x50]
lea r8, [rsp + 0x40]
call fcn.1400083a0
test al, al
je 0x140005429
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
sub rcx, rbx
movabs r14, 0x2aaaaaaaaaaaaaab
mov rax, r14
imul rcx
mov rsi, rdx
sar rsi, 2
mov rax, rsi
shr rax, 0x3f
add rsi, rax
cmp rsi, 3
lea rax, [rbp - 0x68]
jbe 0x140004ed9
lea rax, [rbx + 0x48]
cmp byte [rax + 0x10], 0
je 0x140004eeb
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x140], xmm0
jmp 0x140004ef6
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x178], 7
mov word [rbp + 0x160], r15w
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
cmp rdx, r8
je 0x140004f3d
sub r8, rdx
sar r8, 1
lea rcx, [rbp + 0x160]
call fcn.140006e00
nop
cmp rsi, 2
lea rax, [rbp - 0x68]
jbe 0x140004f4b
lea rax, [rbx + 0x30]
cmp byte [rax + 0x10], 0
je 0x140004f5d
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x140], xmm0
jmp 0x140004f68
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x198], 7
mov word [rbp + 0x180], r15w
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
cmp rdx, r8
je 0x140004faf
sub r8, rdx
sar r8, 1
lea rcx, [rbp + 0x180]
call fcn.140006e00
nop
cmp rsi, 1
lea rax, [rbp - 0x68]
jbe 0x140004fbd
lea rax, [rbx + 0x18]
cmp byte [rax + 0x10], 0
je 0x140004fcf
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x140], xmm0
jmp 0x140004fda
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x100], r15
mov r9, r15
mov qword [rbp + 0x110], r15
mov r10d, 7
mov qword [rbp + 0x118], r10
mov word [rbp + 0x100], r15w
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
cmp rdx, r8
je 0x140005033
sub r8, rdx
sar r8, 1
lea rcx, [rbp + 0x100]
call fcn.140006e00
mov r10, qword [rbp + 0x118]
mov r9, qword [rbp + 0x110]
mov rax, r10
sub rax, r9
lea rcx, [rbp + 0x100]
cmp rax, 1
jb 0x140005077
lea rdx, [r9 + 1]
mov qword [rbp + 0x110], rdx
cmp r10, 8
cmovae rcx, qword [rbp + 0x100]
movzx eax, word [0x14005a31c]
mov word [rcx + r9*2], ax
mov word [rcx + rdx*2], r15w
lea rax, [rbp + 0x100]
jmp 0x140005091
mov qword [rsp + 0x20], 1
lea r9, [0x14005a31c]
mov edx, 1
call fcn.1400075a0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1d0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea r9, [rbp + 0x180]
lea r8, [rbp + 0x1c0]
lea rcx, [rbp + 0x1a0]
call fcn.1400080a0
nop
mov r8, qword [rbp + 0x1b0]
mov r9, qword [rbp + 0x1b8]
mov rax, r9
sub rax, r8
lea rcx, [rbp + 0x1a0]
cmp rax, 1
jb 0x140005123
lea rdx, [r8 + 1]
mov qword [rbp + 0x1b0], rdx
cmp r9, 8
cmovae rcx, qword [rbp + 0x1a0]
movzx eax, word [0x14005a31c]
mov word [rcx + r8*2], ax
mov word [rcx + rdx*2], r15w
lea rax, [rbp + 0x1a0]
jmp 0x14000513d
mov qword [rsp + 0x20], 1
lea r9, [0x14005a31c]
mov edx, 1
call fcn.1400075a0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x150], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea r9, [rbp + 0x160]
lea r8, [rbp + 0x140]
mov rcx, rdi
call fcn.1400080a0
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x1400051c0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400051ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005585
call fcn.140025900
nop
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 8
jb 0x140005206
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005201
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000558b
call fcn.140025900
mov qword [rbp + 0x1b0], r15
mov qword [rbp + 0x1b8], 7
mov word [rbp + 0x1a0], r15w
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 8
jb 0x140005267
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005261
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005591
call fcn.140025900
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 8
jb 0x1400052ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005597
call fcn.140025900
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x118], 7
mov word [rbp + 0x100], r15w
mov rdx, qword [rbp + 0x198]
cmp rdx, 8
jb 0x14000530e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005308
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000559d
call fcn.140025900
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 8
jb 0x140005355
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000534f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400055a3
call fcn.140025900
nop
test rbx, rbx
je 0x1400053ac
mov rcx, qword [rsp + 0x60]
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400053a3
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400055a9
mov rcx, rbx
call fcn.140025900
nop
lea rcx, [rbp - 0x50]
call fcn.140006be0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1400053db
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1400053db
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x14000552c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005527
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005561
jmp 0x140005527
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 7
mov word [rbp + 0x120], r15w
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x1400054bb
mov rcx, qword [rsp + 0x60]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x1400054b2
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400055af
mov rcx, r8
call fcn.140025900
nop
lea rcx, [rbp - 0x50]
call fcn.140006be0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1400054ea
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1400054ea
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x14000552c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005527
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000555b
call fcn.140025900
mov rax, rdi
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1400258e0
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14002e1d4
int3
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
nop
call fcn.14002e1d4
int3
call fcn.14002e1d4
int3