Function at 0x14007e8b0
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
movzx eax, byte [rcx + 1]
xor ecx, ecx
mov rsi, rdx
cmp al, 1
mov ebx, ecx
mov r12d, ecx
cmova rbx, qword [0x140116648]
cmp al, 2
mov r14d, ecx
cmova r12, qword [0x140116650]
cmp al, 3
mov r15d, ecx
cmova r14, qword [0x140116658]
cmp al, 4
mov edi, ecx
cmova r15, qword [0x140116660]
cmp al, 5
mov r13d, ecx
cmova rdi, qword [0x140116668]
cmp al, 6
cmova r13, qword [0x140116670]
cmp al, 7
mov qword [rsp + 0x50], rdi
cmova rcx, qword [0x140116678]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x14007e94f
mov rcx, rbx
call fcn.14001bbe0
test r12, r12
je 0x14007e95c
mov rcx, r12
call fcn.14001bbe0
test r14, r14
je 0x14007e969
mov rcx, r14
call fcn.14001bbe0
test r15, r15
je 0x14007e976
mov rcx, r15
call fcn.14001bbe0
test rdi, rdi
je 0x14007e983
mov rcx, rdi
call fcn.14001bbe0
test r13, r13
je 0x14007e990
mov rcx, r13
call fcn.14001bbe0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007e9a2
mov rcx, rax
call fcn.14001bbe0
mov rcx, rsi
xor dil, dil
call fcn.1400810b0
test al, al
je 0x14007fc57
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
lea r11, [rsp + 0x30]
lea r9, [0x1400def90]
lea rcx, [0x1400defa0]
lea r8d, [rdx + 1]
mov qword [rsp + 0x20], r11
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14007fc00
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400defb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x14007fbf5
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14007fbea
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x1400ffd88]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x1400ffd58]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x1400ffd90]
test rbx, rbx
je 0x14007ed0e
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
xor r9d, r9d
mov rax, qword [rcx]
mov r8d, 0x104
mov dword [rsp + 0x20], 2
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
movzx r11d, byte [rbx + 0x23]
test r11b, r11b
jne 0x14007eab5
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14007ed0e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007eac9
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007eae8
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
movabs rdi, 0x8000000000000000
not rcx
lea r13, [rcx - 1]
lea rax, [r13 + 1]
lea rsi, [rax + rax]
cmp r11b, 2
jne 0x14007eb08
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400060a0
jmp 0x14007ed08
cmp rsi, qword [0x140111460]
jbe 0x14007eb36
cmp rsi, qword [rbx + 0x18]
jbe 0x14007eb36
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14007ed08
cmp rax, 2
jae 0x14007eb50
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007ed08
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007eb66
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, rcx
jbe 0x14007ecd8
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007eb9d
cmp al, 2
je 0x14007ebde
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007eccc
cmp rsi, 0x80
ja 0x14007ebde
cmp rsi, 8
ja 0x14007ebb3
mov edi, 8
jmp 0x14007ebc4
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14007ed08
mov byte [rbx + 0x20], 1
jmp 0x14007eccc
cmp rsi, 0x20
jae 0x14007ebee
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ec84
cmp rsi, 0x208
jae 0x14007ec01
mov edi, 0x208
jmp 0x14007ec84
cmp rsi, 0x50000
jae 0x14007ec40
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007ec1c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ec36
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ec36
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ec84
cmp rsi, 0x320000
jae 0x14007ec52
lea rdi, [rsi + 0x8000]
jmp 0x14007ec84
cmp rsi, 0xc80000
jae 0x14007ec7d
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007ec84
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007ecab
test rcx, rcx
je 0x14007ecab
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x14007ecae
xor sil, sil
test rdi, rdi
js 0x14007ed58
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14007ed58
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14007ecf5
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
mov rax, qword [rbx + 8]
lea rcx, [r13 + r13]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rbx + 0x10], rcx
mov r13d, 8
test r12, r12
je 0x14007f003
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x40]
movzx r11d, byte [r12 + 0x23]
test r11b, r11b
jne 0x14007ed9e
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14007f003
test sil, sil
je 0x14007ed70
lea rcx, [0x140118198]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007ed7b
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], rax
call fcn.1400401e0
jmp 0x14007ed08
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007edb4
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007edc9
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rbx, [rax + rax]
cmp r11b, 2
jne 0x14007ede9
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f003
cmp rbx, qword [0x140111460]
jbe 0x14007ee18
cmp rbx, qword [r12 + 0x18]
jbe 0x14007ee18
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14007f003
cmp rax, 2
jae 0x14007ee32
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007f003
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007ee4d
mov rcx, qword [r12]
and al, 0x3d
mov byte [r12 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r12 + 0x18]
and byte [r12 + 0x21], 0x82
cmp rbx, rcx
jbe 0x14007efd2
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ee88
cmp al, 2
je 0x14007eec9
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007efc2
cmp rbx, 0x80
ja 0x14007eec9
cmp rbx, 8
ja 0x14007ee9c
mov rdi, r13
jmp 0x14007eead
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14007f003
mov byte [r12 + 0x20], 1
jmp 0x14007efc2
cmp rbx, 0x20
jae 0x14007eed9
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ef79
cmp rbx, 0x208
jae 0x14007eeec
mov edi, 0x208
jmp 0x14007ef79
cmp rbx, 0x50000
jae 0x14007ef35
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007ef07
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ef2b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ef2b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ef79
cmp rbx, 0x320000
jae 0x14007ef47
lea rdi, [rbx + 0x8000]
jmp 0x14007ef79
cmp rbx, 0xc80000
jae 0x14007ef72
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007ef79
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007efa0
test rcx, rcx
je 0x14007efa0
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c9b30
jmp 0x14007efa2
xor bl, bl
test rdi, rdi
js 0x14007f095
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14007f095
mov byte [r12 + 0x20], 2
and byte [r12 + 0x21], 0x7f
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], rdi
mov rcx, qword [r12 + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14007efef
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
test r14, r14
je 0x14007f046
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x50]
movzx r11d, byte [r14 + 0x23]
test r11b, r11b
jne 0x14007f0de
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
xor r12d, r12d
test r15, r15
je 0x14007f5c5
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x30]
movzx r11d, byte [r15 + 0x23]
test r11b, r11b
jne 0x14007f373
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14007f5c5
test bl, bl
je 0x14007f0ae
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f0ba
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
mov qword [r12 + 0x10], rax
call fcn.1400401e0
jmp 0x14007f003
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007f0f2
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007f107
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rbx, [rax + rax]
cmp r11b, 2
jne 0x14007f127
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f046
cmp rbx, qword [0x140111460]
jbe 0x14007f155
cmp rbx, qword [r14 + 0x18]
jbe 0x14007f155
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14007f046
cmp rax, 2
jae 0x14007f16f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007f046
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007f187
mov rcx, qword [r14]
and al, 0x3d
mov byte [r14 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r14 + 0x18]
and byte [r14 + 0x21], 0x82
cmp rbx, rcx
jbe 0x14007f2fb
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f1bf
cmp al, 2
je 0x14007f1ff
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f2ee
cmp rbx, 0x80
ja 0x14007f1ff
cmp rbx, 8
ja 0x14007f1d3
mov rdi, r13
jmp 0x14007f1e4
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14007f046
mov byte [r14 + 0x20], 1
jmp 0x14007f2ee
cmp rbx, 0x20
jae 0x14007f20f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f2af
cmp rbx, 0x208
jae 0x14007f222
mov edi, 0x208
jmp 0x14007f2af
cmp rbx, 0x50000
jae 0x14007f26b
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f23d
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f261
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f261
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f2af
cmp rbx, 0x320000
jae 0x14007f27d
lea rdi, [rbx + 0x8000]
jmp 0x14007f2af
cmp rbx, 0xc80000
jae 0x14007f2a8
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f2af
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f2d5
test rcx, rcx
je 0x14007f2d5
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400c9b30
jmp 0x14007f2d7
xor bl, bl
test rdi, rdi
js 0x14007f330
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14007f330
mov byte [r14 + 0x20], 2
and byte [r14 + 0x21], 0x7f
mov qword [r14 + 8], rax
mov qword [r14 + 0x18], rdi
mov rcx, qword [r14 + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14007f317
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007f049
xor r12d, r12d
test bl, bl
je 0x14007f348
lea rax, [0x140118198]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007f350
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
mov qword [r14 + 0x10], r12
call fcn.1400401e0
jmp 0x14007f049
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007f387
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007f39c
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rbx, [rax + rax]
cmp r11b, 2
jne 0x14007f3bc
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f5c5
cmp rbx, qword [0x140111460]
jbe 0x14007f3ea
cmp rbx, qword [r15 + 0x18]
jbe 0x14007f3ea
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14007f5c5
cmp rax, 2
jae 0x14007f404
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007f5c5
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007f41c
mov rcx, qword [r15]
and al, 0x3d
mov byte [r15 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r15 + 0x18]
and byte [r15 + 0x21], 0x82
cmp rbx, rcx
jbe 0x14007f598
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f454
cmp al, 2
je 0x14007f494
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f58b
cmp rbx, 0x80
ja 0x14007f494
cmp rbx, 8
ja 0x14007f468
mov rdi, r13
jmp 0x14007f479
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14007f5c5
mov byte [r15 + 0x20], 1
jmp 0x14007f58b
cmp rbx, 0x20
jae 0x14007f4a4
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f544
cmp rbx, 0x208
jae 0x14007f4b7
mov edi, 0x208
jmp 0x14007f544
cmp rbx, 0x50000
jae 0x14007f500
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f4d2
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f4f6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f4f6
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f544
cmp rbx, 0x320000
jae 0x14007f512
lea rdi, [rbx + 0x8000]
jmp 0x14007f544
cmp rbx, 0xc80000
jae 0x14007f53d
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f544
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f56a
test rcx, rcx
je 0x14007f56a
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400c9b30
jmp 0x14007f56c
xor bl, bl
test rdi, rdi
js 0x14007f630
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14007f630
mov byte [r15 + 0x20], 2
and byte [r15 + 0x21], 0x7f
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], rdi
mov rcx, qword [r15 + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14007f5b4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
mov rax, qword [r15 + 8]
lea rcx, [rsi + rsi]
mov word [rcx + rax], r12w
mov qword [r15 + 0x10], rcx
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
test r12, r12
jne 0x14007f5dd
test r14, r14
je 0x14007f93f
mov rcx, qword [rsp + 0x30]
lea r9, [rbp + 0x1f0]
lea rdx, [rsp + 0x60]
mov rax, qword [rcx]
mov r8d, 0x104
call qword [rax + 0x80]
test r12, r12
je 0x14007f6e1
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007f670
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14007f6e1
test bl, bl
je 0x14007f645
lea rax, [0x140118198]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007f64d
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
mov qword [r15 + 0x10], r12
call fcn.1400401e0
jmp 0x14007f5c5
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f686
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f69b
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rbx, [rax + rax]
cmp dl, 2
jne 0x14007f6b7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f6e1
cmp rbx, qword [0x140111460]
jbe 0x14007f718
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f718
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
xor edx, edx
test r14, r14
je 0x14007f93f
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14007f93a
mov eax, dword [rbp + 0x1f0]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
test eax, eax
setns dl
add edx, eax
movsxd rdx, edx
call fcn.140001090
jmp 0x14007f93f
cmp rax, 2
jae 0x14007f72f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007f6e1
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f74a
mov rcx, qword [r12]
and al, 0x3d
mov byte [r12 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r12 + 0x18]
and byte [r12 + 0x21], 0x82
cmp rbx, rcx
jbe 0x14007f8c7
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f785
cmp al, 2
je 0x14007f7c6
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f8b7
cmp rbx, 0x80
ja 0x14007f7c6
cmp rbx, 8
ja 0x14007f799
mov rdi, r13
jmp 0x14007f7aa
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14007f6e1
mov byte [r12 + 0x20], 1
jmp 0x14007f8b7
cmp rbx, 0x20
jae 0x14007f7d6
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f876
cmp rbx, 0x208
jae 0x14007f7e9
mov edi, 0x208
jmp 0x14007f876
cmp rbx, 0x50000
jae 0x14007f832
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f804
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f828
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f828
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f876
cmp rbx, 0x320000
jae 0x14007f844
lea rdi, [rbx + 0x8000]
jmp 0x14007f876
cmp rbx, 0xc80000
jae 0x14007f86f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f876
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f89d
test rcx, rcx
je 0x14007f89d
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c9b30
jmp 0x14007f89f
xor bl, bl
test rdi, rdi
js 0x14007f8fd
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14007f8fd
mov byte [r12 + 0x20], 2
and byte [r12 + 0x21], 0x7f
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], rdi
mov rcx, qword [r12 + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14007f8e4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x14007f6e3
test bl, bl
je 0x14007f916
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f922
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
jmp 0x14007f6d5
call fcn.14001bbe0
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14007f96d
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x1f8]
mov rax, qword [rcx]
call qword [rax + 0x70]
movsxd rdx, dword [rbp + 0x1f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rdi
call fcn.140001090
mov rdi, qword [0x140117318]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14007f99d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e14fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14007fbce
lea rsi, [0x1400e14fc]
cmp qword [rdi + 8], rsi
jne 0x14007f9b3
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007f9b9
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x14007f9d6
mov rdx, r12
mov rcx, rsi
call fcn.1400060a0
jmp 0x14007fbce
cmp rbx, qword [0x140111460]
jbe 0x14007fa04
cmp rbx, qword [rdi + 0x18]
jbe 0x14007fa04
lea r8, [0x1400e14ec]
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14007fbce
cmp rcx, 2
jae 0x14007fa1e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14007fbce
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007fa34
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rbx, rcx
jbe 0x14007fba7
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fa6b
cmp al, 2
je 0x14007faa7
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fb9b
cmp rbx, 0x80
ja 0x14007faa7
cmp rbx, 8
jbe 0x14007fa8d
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a8f20
test rax, rax
je 0x14007fbce
mov byte [rdi + 0x20], 1
jmp 0x14007fb9b
cmp rbx, 0x20
jae 0x14007fab8
mov r13d, SafeArrayAllocDescriptor
jmp 0x14007fb59
cmp rbx, 0x208
jae 0x14007facc
mov r13d, 0x208
jmp 0x14007fb59
cmp rbx, 0x50000
jae 0x14007fb15
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fae7
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fb0b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fb0b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x14007fb59
cmp rbx, 0x320000
jae 0x14007fb27
lea r13, [rbx + 0x8000]
jmp 0x14007fb59
cmp rbx, 0xc80000
jae 0x14007fb52
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x14007fb59
lea r13, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x14007fb7f
test rcx, rcx
je 0x14007fb7f
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400c9b30
jmp 0x14007fb81
xor bl, bl
test r13, r13
js 0x14007fc12
mov rcx, r13
call fcn.1400c9094
test rax, rax
je 0x14007fc12
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r13
mov rcx, qword [rdi + 8]
cmp rcx, rsi
je 0x14007fbbc
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400c9cf0
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
movaps xmm8, xmmword [rsp + 0x270]
movaps xmm7, xmmword [rsp + 0x280]
movaps xmm6, xmmword [rsp + 0x290]
mov dil, 1
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
call qword [sym.imp.ole32.dll_CoUninitialize]
test dil, dil
je 0x14007fc57
mov eax, 1
jmp 0x14007fc65
test bl, bl
je 0x14007fc29
lea rcx, [0x140118198]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x14007fc34
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
mov qword [rdi + 0x10], rax
call fcn.1400401e0
jmp 0x14007fbce
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ec40
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret