Function at 0x14007f010
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 [0x1401175a8]
cmp al, 2
mov r14d, ecx
cmova r12, qword [0x1401175b0]
cmp al, 3
mov r15d, ecx
cmova r14, qword [0x1401175b8]
cmp al, 4
mov edi, ecx
cmova r15, qword [0x1401175c0]
cmp al, 5
mov r13d, ecx
cmova rdi, qword [0x1401175c8]
cmp al, 6
cmova r13, qword [0x1401175d0]
cmp al, 7
mov qword [rsp + 0x50], rdi
cmova rcx, qword [0x1401175d8]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x14007f0af
mov rcx, rbx
call fcn.14001c060
test r12, r12
je 0x14007f0bc
mov rcx, r12
call fcn.14001c060
test r14, r14
je 0x14007f0c9
mov rcx, r14
call fcn.14001c060
test r15, r15
je 0x14007f0d6
mov rcx, r15
call fcn.14001c060
test rdi, rdi
je 0x14007f0e3
mov rcx, rdi
call fcn.14001c060
test r13, r13
je 0x14007f0f0
mov rcx, r13
call fcn.14001c060
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007f102
mov rcx, rax
call fcn.14001c060
mov rcx, rsi
xor dil, dil
call fcn.140081840
test al, al
je 0x1400803b7
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 0x140080360
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400dffb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x140080355
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14008034a
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x140100de8]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x140100db8]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x140100df0]
test rbx, rbx
je 0x14007f46e
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 0x14007f215
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14007f46e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007f229
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007f248
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 0x14007f268
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006150
jmp 0x14007f468
cmp rsi, qword [0x140112460]
jbe 0x14007f296
cmp rsi, qword [rbx + 0x18]
jbe 0x14007f296
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14007f468
cmp rax, 2
jae 0x14007f2b0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14007f468
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f2c6
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 0x14007f438
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f2fd
cmp al, 2
je 0x14007f33e
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f42c
cmp rsi, 0x80
ja 0x14007f33e
cmp rsi, 8
ja 0x14007f313
mov edi, 8
jmp 0x14007f324
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14007f468
mov byte [rbx + 0x20], 1
jmp 0x14007f42c
cmp rsi, 0x20
jae 0x14007f34e
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f3e4
cmp rsi, 0x208
jae 0x14007f361
mov edi, 0x208
jmp 0x14007f3e4
cmp rsi, 0x50000
jae 0x14007f3a0
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f37c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f396
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f396
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f3e4
cmp rsi, 0x320000
jae 0x14007f3b2
lea rdi, [rsi + 0x8000]
jmp 0x14007f3e4
cmp rsi, 0xc80000
jae 0x14007f3dd
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f3e4
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f40b
test rcx, rcx
je 0x14007f40b
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x14007f40e
xor sil, sil
test rdi, rdi
js 0x14007f4b8
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14007f4b8
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 0x14007f455
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
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 0x14007f763
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 0x14007f4fe
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14007f763
test sil, sil
je 0x14007f4d0
lea rcx, [0x140119108]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007f4db
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [rbx + 0x10], rax
call fcn.140040520
jmp 0x14007f468
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f514
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f529
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 0x14007f549
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006150
jmp 0x14007f763
cmp rbx, qword [0x140112460]
jbe 0x14007f578
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f578
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14007f763
cmp rax, 2
jae 0x14007f592
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14007f763
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f5ad
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 0x14007f732
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f5e8
cmp al, 2
je 0x14007f629
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f722
cmp rbx, 0x80
ja 0x14007f629
cmp rbx, 8
ja 0x14007f5fc
mov rdi, r13
jmp 0x14007f60d
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14007f763
mov byte [r12 + 0x20], 1
jmp 0x14007f722
cmp rbx, 0x20
jae 0x14007f639
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f6d9
cmp rbx, 0x208
jae 0x14007f64c
mov edi, 0x208
jmp 0x14007f6d9
cmp rbx, 0x50000
jae 0x14007f695
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f667
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f68b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f68b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f6d9
cmp rbx, 0x320000
jae 0x14007f6a7
lea rdi, [rbx + 0x8000]
jmp 0x14007f6d9
cmp rbx, 0xc80000
jae 0x14007f6d2
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f6d9
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f700
test rcx, rcx
je 0x14007f700
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca3e0
jmp 0x14007f702
xor bl, bl
test rdi, rdi
js 0x14007f7f5
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14007f7f5
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 0x14007f74f
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
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 0x14007f7a6
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 0x14007f83e
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
xor r12d, r12d
test r15, r15
je 0x14007fd25
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 0x14007fad3
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14007fd25
test bl, bl
je 0x14007f80e
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f81a
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [r12 + 0x10], rax
call fcn.140040520
jmp 0x14007f763
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007f852
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007f867
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 0x14007f887
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006150
jmp 0x14007f7a6
cmp rbx, qword [0x140112460]
jbe 0x14007f8b5
cmp rbx, qword [r14 + 0x18]
jbe 0x14007f8b5
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14007f7a6
cmp rax, 2
jae 0x14007f8cf
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14007f7a6
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007f8e7
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 0x14007fa5b
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f91f
cmp al, 2
je 0x14007f95f
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fa4e
cmp rbx, 0x80
ja 0x14007f95f
cmp rbx, 8
ja 0x14007f933
mov rdi, r13
jmp 0x14007f944
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14007f7a6
mov byte [r14 + 0x20], 1
jmp 0x14007fa4e
cmp rbx, 0x20
jae 0x14007f96f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fa0f
cmp rbx, 0x208
jae 0x14007f982
mov edi, 0x208
jmp 0x14007fa0f
cmp rbx, 0x50000
jae 0x14007f9cb
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f99d
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f9c1
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f9c1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fa0f
cmp rbx, 0x320000
jae 0x14007f9dd
lea rdi, [rbx + 0x8000]
jmp 0x14007fa0f
cmp rbx, 0xc80000
jae 0x14007fa08
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fa0f
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fa35
test rcx, rcx
je 0x14007fa35
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400ca3e0
jmp 0x14007fa37
xor bl, bl
test rdi, rdi
js 0x14007fa90
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14007fa90
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 0x14007fa77
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007f7a9
xor r12d, r12d
test bl, bl
je 0x14007faa8
lea rax, [0x140119108]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007fab0
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [r14 + 0x10], r12
call fcn.140040520
jmp 0x14007f7a9
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007fae7
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007fafc
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 0x14007fb1c
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006150
jmp 0x14007fd25
cmp rbx, qword [0x140112460]
jbe 0x14007fb4a
cmp rbx, qword [r15 + 0x18]
jbe 0x14007fb4a
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14007fd25
cmp rax, 2
jae 0x14007fb64
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14007fd25
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007fb7c
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 0x14007fcf8
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fbb4
cmp al, 2
je 0x14007fbf4
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fceb
cmp rbx, 0x80
ja 0x14007fbf4
cmp rbx, 8
ja 0x14007fbc8
mov rdi, r13
jmp 0x14007fbd9
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14007fd25
mov byte [r15 + 0x20], 1
jmp 0x14007fceb
cmp rbx, 0x20
jae 0x14007fc04
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fca4
cmp rbx, 0x208
jae 0x14007fc17
mov edi, 0x208
jmp 0x14007fca4
cmp rbx, 0x50000
jae 0x14007fc60
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fc32
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fc56
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fc56
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fca4
cmp rbx, 0x320000
jae 0x14007fc72
lea rdi, [rbx + 0x8000]
jmp 0x14007fca4
cmp rbx, 0xc80000
jae 0x14007fc9d
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fca4
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fcca
test rcx, rcx
je 0x14007fcca
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400ca3e0
jmp 0x14007fccc
xor bl, bl
test rdi, rdi
js 0x14007fd90
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14007fd90
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 0x14007fd14
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
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 0x14007fd3d
test r14, r14
je 0x14008009f
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 0x14007fe41
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007fdd0
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14007fe41
test bl, bl
je 0x14007fda5
lea rax, [0x140119108]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007fdad
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [r15 + 0x10], r12
call fcn.140040520
jmp 0x14007fd25
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007fde6
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007fdfb
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 0x14007fe17
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006150
jmp 0x14007fe41
cmp rbx, qword [0x140112460]
jbe 0x14007fe78
cmp rbx, qword [r12 + 0x18]
jbe 0x14007fe78
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
xor edx, edx
test r14, r14
je 0x14008009f
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14008009a
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 0x14008009f
cmp rax, 2
jae 0x14007fe8f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14007fe41
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007feaa
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 0x140080027
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fee5
cmp al, 2
je 0x14007ff26
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x140080017
cmp rbx, 0x80
ja 0x14007ff26
cmp rbx, 8
ja 0x14007fef9
mov rdi, r13
jmp 0x14007ff0a
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14007fe41
mov byte [r12 + 0x20], 1
jmp 0x140080017
cmp rbx, 0x20
jae 0x14007ff36
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ffd6
cmp rbx, 0x208
jae 0x14007ff49
mov edi, 0x208
jmp 0x14007ffd6
cmp rbx, 0x50000
jae 0x14007ff92
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007ff64
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ff88
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ff88
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ffd6
cmp rbx, 0x320000
jae 0x14007ffa4
lea rdi, [rbx + 0x8000]
jmp 0x14007ffd6
cmp rbx, 0xc80000
jae 0x14007ffcf
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007ffd6
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fffd
test rcx, rcx
je 0x14007fffd
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca3e0
jmp 0x14007ffff
xor bl, bl
test rdi, rdi
js 0x14008005d
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14008005d
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 0x140080044
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x14007fe43
test bl, bl
je 0x140080076
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x140080082
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
jmp 0x14007fe35
call fcn.14001c060
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1400800cd
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 [0x140118280]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400800fd
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e24fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14008032e
lea rsi, [0x1400e24fc]
cmp qword [rdi + 8], rsi
jne 0x140080113
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140080119
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x140080136
mov rdx, r12
mov rcx, rsi
call fcn.140006150
jmp 0x14008032e
cmp rbx, qword [0x140112460]
jbe 0x140080164
cmp rbx, qword [rdi + 0x18]
jbe 0x140080164
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14008032e
cmp rcx, 2
jae 0x14008017e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14008032e
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x140080194
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 0x140080307
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400801cb
cmp al, 2
je 0x140080207
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x1400802fb
cmp rbx, 0x80
ja 0x140080207
cmp rbx, 8
jbe 0x1400801ed
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a96a0
test rax, rax
je 0x14008032e
mov byte [rdi + 0x20], 1
jmp 0x1400802fb
cmp rbx, 0x20
jae 0x140080218
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400802b9
cmp rbx, 0x208
jae 0x14008022c
mov r13d, 0x208
jmp 0x1400802b9
cmp rbx, 0x50000
jae 0x140080275
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080247
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14008026b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14008026b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400802b9
cmp rbx, 0x320000
jae 0x140080287
lea r13, [rbx + 0x8000]
jmp 0x1400802b9
cmp rbx, 0xc80000
jae 0x1400802b2
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400802b9
lea r13, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x1400802df
test rcx, rcx
je 0x1400802df
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400ca3e0
jmp 0x1400802e1
xor bl, bl
test r13, r13
js 0x140080372
mov rcx, r13
call fcn.1400c9944
test rax, rax
je 0x140080372
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 0x14008031c
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400ca5a0
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 0x1400803b7
mov eax, 1
jmp 0x1400803c5
test bl, bl
je 0x140080389
lea rcx, [0x140119108]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x140080394
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [rdi + 0x10], rax
call fcn.140040520
jmp 0x14008032e
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ef80
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret