Function at 0x14007f230
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 [0x1401175c8]
cmp al, 2
mov r14d, ecx
cmova r12, qword [0x1401175d0]
cmp al, 3
mov r15d, ecx
cmova r14, qword [0x1401175d8]
cmp al, 4
mov edi, ecx
cmova r15, qword [0x1401175e0]
cmp al, 5
mov r13d, ecx
cmova rdi, qword [0x1401175e8]
cmp al, 6
cmova r13, qword [0x1401175f0]
cmp al, 7
mov qword [rsp + 0x50], rdi
cmova rcx, qword [0x1401175f8]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x14007f2cf
mov rcx, rbx
call fcn.14001c010
test r12, r12
je 0x14007f2dc
mov rcx, r12
call fcn.14001c010
test r14, r14
je 0x14007f2e9
mov rcx, r14
call fcn.14001c010
test r15, r15
je 0x14007f2f6
mov rcx, r15
call fcn.14001c010
test rdi, rdi
je 0x14007f303
mov rcx, rdi
call fcn.14001c010
test r13, r13
je 0x14007f310
mov rcx, r13
call fcn.14001c010
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007f322
mov rcx, rax
call fcn.14001c010
mov rcx, rsi
xor dil, dil
call fcn.140081a60
test al, al
je 0x1400805d7
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
lea r11, [rsp + 0x30]
lea r9, [0x1400dff90]
lea rcx, [0x1400dffa0]
lea r8d, [rdx + 1]
mov qword [rsp + 0x20], r11
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140080580
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400dffb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x140080575
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14008056a
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x140100e28]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x140100df8]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x140100e30]
test rbx, rbx
je 0x14007f68e
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 0x14007f435
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
jmp 0x14007f68e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007f449
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007f468
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 0x14007f488
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006100
jmp 0x14007f688
cmp rsi, qword [0x140112480]
jbe 0x14007f4b6
cmp rsi, qword [rbx + 0x18]
jbe 0x14007f4b6
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
jmp 0x14007f688
cmp rax, 2
jae 0x14007f4d0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x14007f688
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f4e6
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 0x14007f658
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f51d
cmp al, 2
je 0x14007f55e
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f64c
cmp rsi, 0x80
ja 0x14007f55e
cmp rsi, 8
ja 0x14007f533
mov edi, 8
jmp 0x14007f544
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a99c0
test rax, rax
je 0x14007f688
mov byte [rbx + 0x20], 1
jmp 0x14007f64c
cmp rsi, 0x20
jae 0x14007f56e
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f604
cmp rsi, 0x208
jae 0x14007f581
mov edi, 0x208
jmp 0x14007f604
cmp rsi, 0x50000
jae 0x14007f5c0
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f59c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f5b6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f5b6
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f604
cmp rsi, 0x320000
jae 0x14007f5d2
lea rdi, [rsi + 0x8000]
jmp 0x14007f604
cmp rsi, 0xc80000
jae 0x14007f5fd
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f604
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140112480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f62b
test rcx, rcx
je 0x14007f62b
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca7a0
jmp 0x14007f62e
xor sil, sil
test rdi, rdi
js 0x14007f6d8
mov rcx, rdi
call fcn.1400c9d04
test rax, rax
je 0x14007f6d8
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 0x14007f675
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400ca960
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 0x14007f983
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 0x14007f71e
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
jmp 0x14007f983
test sil, sil
je 0x14007f6f0
lea rcx, [0x140119128]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007f6fb
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [rbx + 0x10], rax
call fcn.140040620
jmp 0x14007f688
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f734
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f749
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 0x14007f769
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006100
jmp 0x14007f983
cmp rbx, qword [0x140112480]
jbe 0x14007f798
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f798
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
jmp 0x14007f983
cmp rax, 2
jae 0x14007f7b2
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x14007f983
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f7cd
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 0x14007f952
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f808
cmp al, 2
je 0x14007f849
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f942
cmp rbx, 0x80
ja 0x14007f849
cmp rbx, 8
ja 0x14007f81c
mov rdi, r13
jmp 0x14007f82d
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a99c0
test rax, rax
je 0x14007f983
mov byte [r12 + 0x20], 1
jmp 0x14007f942
cmp rbx, 0x20
jae 0x14007f859
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f8f9
cmp rbx, 0x208
jae 0x14007f86c
mov edi, 0x208
jmp 0x14007f8f9
cmp rbx, 0x50000
jae 0x14007f8b5
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f887
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f8ab
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f8ab
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f8f9
cmp rbx, 0x320000
jae 0x14007f8c7
lea rdi, [rbx + 0x8000]
jmp 0x14007f8f9
cmp rbx, 0xc80000
jae 0x14007f8f2
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f8f9
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f920
test rcx, rcx
je 0x14007f920
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca7a0
jmp 0x14007f922
xor bl, bl
test rdi, rdi
js 0x14007fa15
mov rcx, rdi
call fcn.1400c9d04
test rax, rax
je 0x14007fa15
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 0x14007f96f
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca960
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 0x14007f9c6
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 0x14007fa5e
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
xor r12d, r12d
test r15, r15
je 0x14007ff45
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 0x14007fcf3
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
jmp 0x14007ff45
test bl, bl
je 0x14007fa2e
lea rcx, [0x140119128]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007fa3a
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [r12 + 0x10], rax
call fcn.140040620
jmp 0x14007f983
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007fa72
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007fa87
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 0x14007faa7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006100
jmp 0x14007f9c6
cmp rbx, qword [0x140112480]
jbe 0x14007fad5
cmp rbx, qword [r14 + 0x18]
jbe 0x14007fad5
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
jmp 0x14007f9c6
cmp rax, 2
jae 0x14007faef
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x14007f9c6
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007fb07
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 0x14007fc7b
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fb3f
cmp al, 2
je 0x14007fb7f
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fc6e
cmp rbx, 0x80
ja 0x14007fb7f
cmp rbx, 8
ja 0x14007fb53
mov rdi, r13
jmp 0x14007fb64
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a99c0
test rax, rax
je 0x14007f9c6
mov byte [r14 + 0x20], 1
jmp 0x14007fc6e
cmp rbx, 0x20
jae 0x14007fb8f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fc2f
cmp rbx, 0x208
jae 0x14007fba2
mov edi, 0x208
jmp 0x14007fc2f
cmp rbx, 0x50000
jae 0x14007fbeb
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fbbd
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fbe1
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fbe1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fc2f
cmp rbx, 0x320000
jae 0x14007fbfd
lea rdi, [rbx + 0x8000]
jmp 0x14007fc2f
cmp rbx, 0xc80000
jae 0x14007fc28
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fc2f
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fc55
test rcx, rcx
je 0x14007fc55
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400ca7a0
jmp 0x14007fc57
xor bl, bl
test rdi, rdi
js 0x14007fcb0
mov rcx, rdi
call fcn.1400c9d04
test rax, rax
je 0x14007fcb0
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 0x14007fc97
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca960
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007f9c9
xor r12d, r12d
test bl, bl
je 0x14007fcc8
lea rax, [0x140119128]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007fcd0
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [r14 + 0x10], r12
call fcn.140040620
jmp 0x14007f9c9
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007fd07
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007fd1c
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 0x14007fd3c
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006100
jmp 0x14007ff45
cmp rbx, qword [0x140112480]
jbe 0x14007fd6a
cmp rbx, qword [r15 + 0x18]
jbe 0x14007fd6a
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
jmp 0x14007ff45
cmp rax, 2
jae 0x14007fd84
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x14007ff45
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007fd9c
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 0x14007ff18
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fdd4
cmp al, 2
je 0x14007fe14
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007ff0b
cmp rbx, 0x80
ja 0x14007fe14
cmp rbx, 8
ja 0x14007fde8
mov rdi, r13
jmp 0x14007fdf9
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a99c0
test rax, rax
je 0x14007ff45
mov byte [r15 + 0x20], 1
jmp 0x14007ff0b
cmp rbx, 0x20
jae 0x14007fe24
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fec4
cmp rbx, 0x208
jae 0x14007fe37
mov edi, 0x208
jmp 0x14007fec4
cmp rbx, 0x50000
jae 0x14007fe80
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fe52
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fe76
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fe76
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fec4
cmp rbx, 0x320000
jae 0x14007fe92
lea rdi, [rbx + 0x8000]
jmp 0x14007fec4
cmp rbx, 0xc80000
jae 0x14007febd
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fec4
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007feea
test rcx, rcx
je 0x14007feea
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400ca7a0
jmp 0x14007feec
xor bl, bl
test rdi, rdi
js 0x14007ffb0
mov rcx, rdi
call fcn.1400c9d04
test rax, rax
je 0x14007ffb0
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 0x14007ff34
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca960
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 0x14007ff5d
test r14, r14
je 0x1400802bf
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 0x140080061
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007fff0
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
jmp 0x140080061
test bl, bl
je 0x14007ffc5
lea rax, [0x140119128]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007ffcd
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [r15 + 0x10], r12
call fcn.140040620
jmp 0x14007ff45
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x140080006
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14008001b
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 0x140080037
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006100
jmp 0x140080061
cmp rbx, qword [0x140112480]
jbe 0x140080098
cmp rbx, qword [r12 + 0x18]
jbe 0x140080098
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
xor edx, edx
test r14, r14
je 0x1400802bf
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x1400802ba
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 0x1400802bf
cmp rax, 2
jae 0x1400800af
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x140080061
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x1400800ca
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 0x140080247
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x140080105
cmp al, 2
je 0x140080146
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x140080237
cmp rbx, 0x80
ja 0x140080146
cmp rbx, 8
ja 0x140080119
mov rdi, r13
jmp 0x14008012a
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a99c0
test rax, rax
je 0x140080061
mov byte [r12 + 0x20], 1
jmp 0x140080237
cmp rbx, 0x20
jae 0x140080156
mov edi, SafeArrayAllocDescriptor
jmp 0x1400801f6
cmp rbx, 0x208
jae 0x140080169
mov edi, 0x208
jmp 0x1400801f6
cmp rbx, 0x50000
jae 0x1400801b2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080184
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400801a8
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400801a8
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x1400801f6
cmp rbx, 0x320000
jae 0x1400801c4
lea rdi, [rbx + 0x8000]
jmp 0x1400801f6
cmp rbx, 0xc80000
jae 0x1400801ef
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x1400801f6
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14008021d
test rcx, rcx
je 0x14008021d
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca7a0
jmp 0x14008021f
xor bl, bl
test rdi, rdi
js 0x14008027d
mov rcx, rdi
call fcn.1400c9d04
test rax, rax
je 0x14008027d
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 0x140080264
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca960
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x140080063
test bl, bl
je 0x140080296
lea rcx, [0x140119128]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x1400802a2
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
jmp 0x140080055
call fcn.14001c010
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1400802ed
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 [0x1401182a0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14008031d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e250c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0840
jmp 0x14008054e
lea rsi, [0x1400e250c]
cmp qword [rdi + 8], rsi
jne 0x140080333
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140080339
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x140080356
mov rdx, r12
mov rcx, rsi
call fcn.140006100
jmp 0x14008054e
cmp rbx, qword [0x140112480]
jbe 0x140080384
cmp rbx, qword [rdi + 0x18]
jbe 0x140080384
lea r8, [0x1400e246c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.140040620
jmp 0x14008054e
cmp rcx, 2
jae 0x14008039e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b0ef0
jmp 0x14008054e
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400803b4
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 0x140080527
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400803eb
cmp al, 2
je 0x140080427
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14008051b
cmp rbx, 0x80
ja 0x140080427
cmp rbx, 8
jbe 0x14008040d
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a99c0
test rax, rax
je 0x14008054e
mov byte [rdi + 0x20], 1
jmp 0x14008051b
cmp rbx, 0x20
jae 0x140080438
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400804d9
cmp rbx, 0x208
jae 0x14008044c
mov r13d, 0x208
jmp 0x1400804d9
cmp rbx, 0x50000
jae 0x140080495
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080467
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14008048b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14008048b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400804d9
cmp rbx, 0x320000
jae 0x1400804a7
lea r13, [rbx + 0x8000]
jmp 0x1400804d9
cmp rbx, 0xc80000
jae 0x1400804d2
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400804d9
lea r13, [rbx + 0x20000]
mov rax, qword [0x140112480]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x1400804ff
test rcx, rcx
je 0x1400804ff
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400ca7a0
jmp 0x140080501
xor bl, bl
test r13, r13
js 0x140080592
mov rcx, r13
call fcn.1400c9d04
test rax, rax
je 0x140080592
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 0x14008053c
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400ca960
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 0x1400805d7
mov eax, 1
jmp 0x1400805e5
test bl, bl
je 0x1400805a9
lea rcx, [0x140119128]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x1400805b4
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e246c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [rdi + 0x10], rax
call fcn.140040620
jmp 0x14008054e
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003f080
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret