Function at 0x14007edc0
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 0x14007ee5f
mov rcx, rbx
call fcn.14001bfc0
test r12, r12
je 0x14007ee6c
mov rcx, r12
call fcn.14001bfc0
test r14, r14
je 0x14007ee79
mov rcx, r14
call fcn.14001bfc0
test r15, r15
je 0x14007ee86
mov rcx, r15
call fcn.14001bfc0
test rdi, rdi
je 0x14007ee93
mov rcx, rdi
call fcn.14001bfc0
test r13, r13
je 0x14007eea0
mov rcx, r13
call fcn.14001bfc0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007eeb2
mov rcx, rax
call fcn.14001bfc0
mov rcx, rsi
xor dil, dil
call fcn.1400815b0
test al, al
je 0x140080167
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 0x140080110
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400dffb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x140080105
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x1400800fa
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 0x14007f21e
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 0x14007efc5
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007f21e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007efd9
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007eff8
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 0x14007f018
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006140
jmp 0x14007f218
cmp rsi, qword [0x140112460]
jbe 0x14007f046
cmp rsi, qword [rbx + 0x18]
jbe 0x14007f046
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x14007f218
cmp rax, 2
jae 0x14007f060
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f218
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f076
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 0x14007f1e8
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f0ad
cmp al, 2
je 0x14007f0ee
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f1dc
cmp rsi, 0x80
ja 0x14007f0ee
cmp rsi, 8
ja 0x14007f0c3
mov edi, 8
jmp 0x14007f0d4
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14007f218
mov byte [rbx + 0x20], 1
jmp 0x14007f1dc
cmp rsi, 0x20
jae 0x14007f0fe
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f194
cmp rsi, 0x208
jae 0x14007f111
mov edi, 0x208
jmp 0x14007f194
cmp rsi, 0x50000
jae 0x14007f150
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f12c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f146
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f146
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f194
cmp rsi, 0x320000
jae 0x14007f162
lea rdi, [rsi + 0x8000]
jmp 0x14007f194
cmp rsi, 0xc80000
jae 0x14007f18d
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f194
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f1bb
test rcx, rcx
je 0x14007f1bb
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x14007f1be
xor sil, sil
test rdi, rdi
js 0x14007f268
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f268
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 0x14007f205
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
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 0x14007f513
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 0x14007f2ae
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007f513
test sil, sil
je 0x14007f280
lea rcx, [0x140119108]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007f28b
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.1400404c0
jmp 0x14007f218
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f2c4
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f2d9
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 0x14007f2f9
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006140
jmp 0x14007f513
cmp rbx, qword [0x140112460]
jbe 0x14007f328
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f328
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x14007f513
cmp rax, 2
jae 0x14007f342
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f513
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f35d
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 0x14007f4e2
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f398
cmp al, 2
je 0x14007f3d9
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f4d2
cmp rbx, 0x80
ja 0x14007f3d9
cmp rbx, 8
ja 0x14007f3ac
mov rdi, r13
jmp 0x14007f3bd
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14007f513
mov byte [r12 + 0x20], 1
jmp 0x14007f4d2
cmp rbx, 0x20
jae 0x14007f3e9
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f489
cmp rbx, 0x208
jae 0x14007f3fc
mov edi, 0x208
jmp 0x14007f489
cmp rbx, 0x50000
jae 0x14007f445
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f417
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f43b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f43b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f489
cmp rbx, 0x320000
jae 0x14007f457
lea rdi, [rbx + 0x8000]
jmp 0x14007f489
cmp rbx, 0xc80000
jae 0x14007f482
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f489
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f4b0
test rcx, rcx
je 0x14007f4b0
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007f4b2
xor bl, bl
test rdi, rdi
js 0x14007f5a5
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f5a5
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 0x14007f4ff
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
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 0x14007f556
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 0x14007f5ee
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
xor r12d, r12d
test r15, r15
je 0x14007fad5
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 0x14007f883
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007fad5
test bl, bl
je 0x14007f5be
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f5ca
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.1400404c0
jmp 0x14007f513
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007f602
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007f617
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 0x14007f637
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006140
jmp 0x14007f556
cmp rbx, qword [0x140112460]
jbe 0x14007f665
cmp rbx, qword [r14 + 0x18]
jbe 0x14007f665
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x14007f556
cmp rax, 2
jae 0x14007f67f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f556
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007f697
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 0x14007f80b
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f6cf
cmp al, 2
je 0x14007f70f
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f7fe
cmp rbx, 0x80
ja 0x14007f70f
cmp rbx, 8
ja 0x14007f6e3
mov rdi, r13
jmp 0x14007f6f4
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14007f556
mov byte [r14 + 0x20], 1
jmp 0x14007f7fe
cmp rbx, 0x20
jae 0x14007f71f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f7bf
cmp rbx, 0x208
jae 0x14007f732
mov edi, 0x208
jmp 0x14007f7bf
cmp rbx, 0x50000
jae 0x14007f77b
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f74d
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f771
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f771
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f7bf
cmp rbx, 0x320000
jae 0x14007f78d
lea rdi, [rbx + 0x8000]
jmp 0x14007f7bf
cmp rbx, 0xc80000
jae 0x14007f7b8
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f7bf
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f7e5
test rcx, rcx
je 0x14007f7e5
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007f7e7
xor bl, bl
test rdi, rdi
js 0x14007f840
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f840
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 0x14007f827
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007f559
xor r12d, r12d
test bl, bl
je 0x14007f858
lea rax, [0x140119108]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007f860
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.1400404c0
jmp 0x14007f559
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007f897
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007f8ac
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 0x14007f8cc
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006140
jmp 0x14007fad5
cmp rbx, qword [0x140112460]
jbe 0x14007f8fa
cmp rbx, qword [r15 + 0x18]
jbe 0x14007f8fa
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x14007fad5
cmp rax, 2
jae 0x14007f914
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007fad5
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007f92c
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 0x14007faa8
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f964
cmp al, 2
je 0x14007f9a4
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fa9b
cmp rbx, 0x80
ja 0x14007f9a4
cmp rbx, 8
ja 0x14007f978
mov rdi, r13
jmp 0x14007f989
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14007fad5
mov byte [r15 + 0x20], 1
jmp 0x14007fa9b
cmp rbx, 0x20
jae 0x14007f9b4
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fa54
cmp rbx, 0x208
jae 0x14007f9c7
mov edi, 0x208
jmp 0x14007fa54
cmp rbx, 0x50000
jae 0x14007fa10
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f9e2
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fa06
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fa06
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fa54
cmp rbx, 0x320000
jae 0x14007fa22
lea rdi, [rbx + 0x8000]
jmp 0x14007fa54
cmp rbx, 0xc80000
jae 0x14007fa4d
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fa54
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fa7a
test rcx, rcx
je 0x14007fa7a
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007fa7c
xor bl, bl
test rdi, rdi
js 0x14007fb40
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007fb40
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 0x14007fac4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
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 0x14007faed
test r14, r14
je 0x14007fe4f
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 0x14007fbf1
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007fb80
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007fbf1
test bl, bl
je 0x14007fb55
lea rax, [0x140119108]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007fb5d
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.1400404c0
jmp 0x14007fad5
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007fb96
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007fbab
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 0x14007fbc7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006140
jmp 0x14007fbf1
cmp rbx, qword [0x140112460]
jbe 0x14007fc28
cmp rbx, qword [r12 + 0x18]
jbe 0x14007fc28
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
xor edx, edx
test r14, r14
je 0x14007fe4f
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14007fe4a
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 0x14007fe4f
cmp rax, 2
jae 0x14007fc3f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007fbf1
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007fc5a
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 0x14007fdd7
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fc95
cmp al, 2
je 0x14007fcd6
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fdc7
cmp rbx, 0x80
ja 0x14007fcd6
cmp rbx, 8
ja 0x14007fca9
mov rdi, r13
jmp 0x14007fcba
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14007fbf1
mov byte [r12 + 0x20], 1
jmp 0x14007fdc7
cmp rbx, 0x20
jae 0x14007fce6
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fd86
cmp rbx, 0x208
jae 0x14007fcf9
mov edi, 0x208
jmp 0x14007fd86
cmp rbx, 0x50000
jae 0x14007fd42
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fd14
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fd38
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fd38
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fd86
cmp rbx, 0x320000
jae 0x14007fd54
lea rdi, [rbx + 0x8000]
jmp 0x14007fd86
cmp rbx, 0xc80000
jae 0x14007fd7f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fd86
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fdad
test rcx, rcx
je 0x14007fdad
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007fdaf
xor bl, bl
test rdi, rdi
js 0x14007fe0d
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007fe0d
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 0x14007fdf4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x14007fbf3
test bl, bl
je 0x14007fe26
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007fe32
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 0x14007fbe5
call fcn.14001bfc0
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14007fe7d
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 0x14007fead
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e24fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x1400800de
lea rsi, [0x1400e24fc]
cmp qword [rdi + 8], rsi
jne 0x14007fec3
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007fec9
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x14007fee6
mov rdx, r12
mov rcx, rsi
call fcn.140006140
jmp 0x1400800de
cmp rbx, qword [0x140112460]
jbe 0x14007ff14
cmp rbx, qword [rdi + 0x18]
jbe 0x14007ff14
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x1400800de
cmp rcx, 2
jae 0x14007ff2e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x1400800de
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007ff44
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 0x1400800b7
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ff7b
cmp al, 2
je 0x14007ffb7
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x1400800ab
cmp rbx, 0x80
ja 0x14007ffb7
cmp rbx, 8
jbe 0x14007ff9d
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a93d0
test rax, rax
je 0x1400800de
mov byte [rdi + 0x20], 1
jmp 0x1400800ab
cmp rbx, 0x20
jae 0x14007ffc8
mov r13d, SafeArrayAllocDescriptor
jmp 0x140080069
cmp rbx, 0x208
jae 0x14007ffdc
mov r13d, 0x208
jmp 0x140080069
cmp rbx, 0x50000
jae 0x140080025
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fff7
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14008001b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14008001b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x140080069
cmp rbx, 0x320000
jae 0x140080037
lea r13, [rbx + 0x8000]
jmp 0x140080069
cmp rbx, 0xc80000
jae 0x140080062
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x140080069
lea r13, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x14008008f
test rcx, rcx
je 0x14008008f
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x140080091
xor bl, bl
test r13, r13
js 0x140080122
mov rcx, r13
call fcn.1400c9664
test rax, rax
je 0x140080122
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 0x1400800cc
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400ca2c0
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 0x140080167
mov eax, 1
jmp 0x140080175
test bl, bl
je 0x140080139
lea rcx, [0x140119108]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x140080144
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.1400404c0
jmp 0x1400800de
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ef20
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret