Function at 0x1400148b0
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 8], rbx
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rsi, rdx
mov r13, rcx
xor r15d, r15d
mov dword [rbp - 0x2d], r15d
mov rcx, qword [rdx]
sub rcx, 0x18
call fcn.140001230
add rax, 0x18
mov qword [rbp - 0x41], rax
lea rdx, [0x14007d6e4]
lea rcx, [rbp - 0x41]
call fcn.1400071b0
mov rbx, qword [rbp - 0x41]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x140014fa0
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140014937
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.140001b30
mov rbx, qword [rbp - 0x41]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14004f348
cmp edi, dword [rbx - 0xc]
jg 0x140014fa0
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r15w
cmp dword [rbx - 0x10], 0
jl 0x1400149a1
lea rdx, [0x14007d6e8]
mov rcx, rbx
call fcn.1400451bc
test rax, rax
je 0x1400149a1
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
je 0x1400149a1
lea rdx, [rbx - 0x18]
mov r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001499c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x140014f72
call fcn.140001e40
mov rcx, rax
test rax, rax
je 0x140014fab
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
lea rdx, [0x14007b4f0]
lea rcx, [rbp - 0x49]
cmp rdx, 0x10000
jae 0x1400149de
movzx edx, dx
call fcn.140005c20
jmp 0x1400149e7
xor r8d, r8d
call fcn.14000bc00
nop
mov rcx, qword [r13 + 0x10]
sub rcx, 0x18
call fcn.140001230
add rax, 0x18
mov qword [rbp - 0x19], rax
mov r8d, dword [r13 + 0x20]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 1]
call fcn.14001aa70
nop
mov rcx, qword [rax + 0x18]
sub rcx, 0x18
call fcn.140001230
add rax, 0x18
mov qword [rbp - 0x21], rax
mov rdx, qword [rbp + 0x17]
add rdx, 0xffffffffffffffe8
mov r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014a47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp - 0x21]
cmp dword [rdi - 0x10], 3
jle 0x140014b89
mov dword [rbp + 0x7f], r15d
mov dword [rbp - 0x31], r15d
lea rdx, [rbp + 0x7f]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov esi, eax
mov ecx, eax
call fcn.1400436c0
mov r15, rax
mov r9, rax
mov r8d, esi
mov edx, dword [rbp + 0x7f]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140014b18
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x39]
lea rdx, [0x14007cf78]
mov rcx, r15
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140014b18
mov ecx, 0x10
call fcn.1400436c0
mov rdi, rax
mov rcx, qword [rbp - 0x39]
movzx r8d, word [rcx + 0xa]
mov dword [rax], r8d
mov rcx, qword [rbp - 0x39]
movzx r9d, word [rcx + 8]
mov dword [rax + 4], r9d
mov rcx, qword [rbp - 0x39]
movzx r10d, word [rcx + 0xe]
mov dword [rax + 8], r10d
mov rcx, qword [rbp - 0x39]
movzx edx, word [rcx + 0xc]
mov dword [rax + 0xc], edx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r10d
lea rdx, [0x14007d6f0]
lea rcx, [rbp - 0x49]
call fcn.140015bc0
mov rcx, rdi
call fcn.14004331c
mov rcx, r15
call fcn.14004331c
jmp 0x140014be8
mov rdx, qword [0x14008dfd8]
lea rcx, [rdx - 0x18]
mov rdi, qword [rbp - 0x49]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140014b7f
cmp dword [rdi + 0x10], 0
jl 0x140014b72
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140014b72
call fcn.140001230
mov rsi, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140014b60
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rsi + 0x18]
mov qword [rbp - 0x49], rax
mov rcx, r15
call fcn.14004331c
jmp 0x140014be8
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x49]
call fcn.14000bc00
mov rcx, r15
call fcn.14004331c
jmp 0x140014be8
mov rdx, qword [0x14008dfd0]
lea rcx, [rdx - 0x18]
mov rdi, qword [rbp - 0x49]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140014be8
cmp dword [rdi + 0x10], 0
jl 0x140014bdb
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140014bdb
call fcn.140001230
mov rsi, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140014bd1
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rsi + 0x18]
mov qword [rbp - 0x49], rax
jmp 0x140014be8
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x49]
call fcn.14000bc00
mov r12, qword [rbp - 0x49]
add r12, 0xffffffffffffffe8
mov rcx, r12
call fcn.140001230
add rax, 0x18
mov qword [rbp - 0x29], rax
lea rdx, [0x14007d6e4]
lea rcx, [rbp - 0x29]
call fcn.1400071b0
mov rdi, qword [rbp - 0x29]
lea r15, [rdi - 0x18]
mov rsi, qword [r13 + 0x1c0]
sub rsi, 0x18
cmp r15, rsi
je 0x140014c7f
cmp dword [rsi + 0x10], 0
jl 0x140014c6c
mov rax, qword [rsi]
cmp qword [r15], rax
jne 0x140014c6c
mov rcx, r15
call fcn.140001230
mov rdi, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140014c5b
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [r13 + 0x1c0], rax
mov rdi, qword [rbp - 0x29]
jmp 0x140014c7f
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [r13 + 0x1c0]
call fcn.14000bc00
mov rsi, qword [rbp - 0x41]
test rdi, rdi
je 0x140014cad
cmp dword [rbx - 0x10], 0
jl 0x140014cd6
mov rdx, rdi
mov rcx, rsi
call fcn.1400451bc
test rax, rax
je 0x140014cad
sub rax, rsi
sar rax, 1
cmp eax, 0xffffffff
jne 0x140014ef8
cmp dword [rbx - 0x10], 0
jl 0x140014cd6
lea rdx, [0x14007d708]
mov rcx, rsi
call fcn.1400451bc
test rax, rax
je 0x140014cd6
sub rax, rsi
sar rax, 1
cmp eax, 0xffffffff
jne 0x140014ef8
cmp byte [rbp + 0x77], 0
jne 0x140014ef8
call fcn.140001e40
mov rcx, rax
test rax, rax
je 0x140014fb6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 9], rax
mov rcx, qword [r12]
test rcx, rcx
je 0x140014d16
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140014d30
call fcn.140001e40
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140014fc1
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x11], rbx
mov edx, 1
mov dword [rbp - 0x2d], edx
mov rcx, qword [rbp - 0x49]
movsxd rsi, dword [rcx - 0x10]
lea edi, [rsi + 1]
test edi, edi
js 0x140014f95
sub edx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, edi
or eax, edx
jge 0x140014d74
mov edx, edi
lea rcx, [rbp - 0x11]
call fcn.140001b30
mov rbx, qword [rbp - 0x11]
test rbx, rbx
jne 0x140014d8b
call fcn.14004a488
mov dword [rax], 0x16
call fcn.14004a31c
jmp 0x140014d94
mov eax, dword [0x14007d710]
mov word [rbx], ax
mov r8, rsi
add r8, r8
lea rcx, [rbx + 2]
je 0x140014dc0
test rcx, rcx
jne 0x140014db7
call fcn.14004a488
mov dword [rax], 0x16
call fcn.14004a31c
jmp 0x140014dc0
mov rdx, qword [rbp - 0x49]
call fcn.140069c50
cmp edi, dword [rbx - 0xc]
jg 0x140014f95
mov dword [rbx - 0x10], edi
xor ecx, ecx
mov word [rbx + rsi*2 + 2], cx
mov r9, rbx
mov rsi, qword [rbp + 0x6f]
mov r8, qword [rsi]
mov rdx, qword [0x14008dfc8]
lea rcx, [rbp - 9]
call fcn.140015bc0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014e08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 0x34
mov r8, qword [0x14008df70]
mov rbx, qword [rbp - 9]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
sete dil
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014e46
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x140014e61
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014e80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x140014e9d
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014ebc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsi]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140014ed9
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
movzx eax, dil
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, r14d
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x140014f13
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014f32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x140014f4f
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014f6e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rsi, qword [rbp + 0x6f]
mov rdx, qword [rsi]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140014f8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov al, 1
jmp 0x140014edd
mov ecx, 0x80070057
call fcn.140001bd0
nop
mov ecx, 0x80070057
call fcn.140001bd0
int3
mov ecx, 0x80004005
call fcn.140001bd0
nop
mov ecx, 0x80004005
call fcn.140001bd0
nop
mov ecx, 0x80004005
call fcn.140001bd0
int3