Function at 0x14007ed60
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 0x14007edff
mov rcx, rbx
call fcn.14001bf30
test r12, r12
je 0x14007ee0c
mov rcx, r12
call fcn.14001bf30
test r14, r14
je 0x14007ee19
mov rcx, r14
call fcn.14001bf30
test r15, r15
je 0x14007ee26
mov rcx, r15
call fcn.14001bf30
test rdi, rdi
je 0x14007ee33
mov rcx, rdi
call fcn.14001bf30
test r13, r13
je 0x14007ee40
mov rcx, r13
call fcn.14001bf30
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007ee52
mov rcx, rax
call fcn.14001bf30
mov rcx, rsi
xor dil, dil
call fcn.140081550
test al, al
je 0x140080107
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 0x1400800b0
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400dffb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x1400800a5
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14008009a
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 0x14007f1be
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 0x14007ef65
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007f1be
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007ef79
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007ef98
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 0x14007efb8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006110
jmp 0x14007f1b8
cmp rsi, qword [0x140112460]
jbe 0x14007efe6
cmp rsi, qword [rbx + 0x18]
jbe 0x14007efe6
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
jmp 0x14007f1b8
cmp rax, 2
jae 0x14007f000
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f1b8
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f016
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 0x14007f188
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f04d
cmp al, 2
je 0x14007f08e
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f17c
cmp rsi, 0x80
ja 0x14007f08e
cmp rsi, 8
ja 0x14007f063
mov edi, 8
jmp 0x14007f074
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93c0
test rax, rax
je 0x14007f1b8
mov byte [rbx + 0x20], 1
jmp 0x14007f17c
cmp rsi, 0x20
jae 0x14007f09e
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f134
cmp rsi, 0x208
jae 0x14007f0b1
mov edi, 0x208
jmp 0x14007f134
cmp rsi, 0x50000
jae 0x14007f0f0
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f0cc
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f0e6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f0e6
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f134
cmp rsi, 0x320000
jae 0x14007f102
lea rdi, [rsi + 0x8000]
jmp 0x14007f134
cmp rsi, 0xc80000
jae 0x14007f12d
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f134
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f15b
test rcx, rcx
je 0x14007f15b
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x14007f15e
xor sil, sil
test rdi, rdi
js 0x14007f208
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f208
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 0x14007f1a5
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 0x14007f4b3
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 0x14007f24e
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007f4b3
test sil, sil
je 0x14007f220
lea rcx, [0x140119108]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007f22b
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.140040420
jmp 0x14007f1b8
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f264
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f279
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 0x14007f299
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006110
jmp 0x14007f4b3
cmp rbx, qword [0x140112460]
jbe 0x14007f2c8
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f2c8
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
jmp 0x14007f4b3
cmp rax, 2
jae 0x14007f2e2
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f4b3
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f2fd
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 0x14007f482
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f338
cmp al, 2
je 0x14007f379
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f472
cmp rbx, 0x80
ja 0x14007f379
cmp rbx, 8
ja 0x14007f34c
mov rdi, r13
jmp 0x14007f35d
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93c0
test rax, rax
je 0x14007f4b3
mov byte [r12 + 0x20], 1
jmp 0x14007f472
cmp rbx, 0x20
jae 0x14007f389
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f429
cmp rbx, 0x208
jae 0x14007f39c
mov edi, 0x208
jmp 0x14007f429
cmp rbx, 0x50000
jae 0x14007f3e5
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f3b7
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f3db
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f3db
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f429
cmp rbx, 0x320000
jae 0x14007f3f7
lea rdi, [rbx + 0x8000]
jmp 0x14007f429
cmp rbx, 0xc80000
jae 0x14007f422
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f429
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f450
test rcx, rcx
je 0x14007f450
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007f452
xor bl, bl
test rdi, rdi
js 0x14007f545
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f545
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 0x14007f49f
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 0x14007f4f6
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 0x14007f58e
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 0x14007fa75
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 0x14007f823
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007fa75
test bl, bl
je 0x14007f55e
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f56a
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.140040420
jmp 0x14007f4b3
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007f5a2
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007f5b7
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 0x14007f5d7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006110
jmp 0x14007f4f6
cmp rbx, qword [0x140112460]
jbe 0x14007f605
cmp rbx, qword [r14 + 0x18]
jbe 0x14007f605
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
jmp 0x14007f4f6
cmp rax, 2
jae 0x14007f61f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007f4f6
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007f637
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 0x14007f7ab
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f66f
cmp al, 2
je 0x14007f6af
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f79e
cmp rbx, 0x80
ja 0x14007f6af
cmp rbx, 8
ja 0x14007f683
mov rdi, r13
jmp 0x14007f694
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93c0
test rax, rax
je 0x14007f4f6
mov byte [r14 + 0x20], 1
jmp 0x14007f79e
cmp rbx, 0x20
jae 0x14007f6bf
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f75f
cmp rbx, 0x208
jae 0x14007f6d2
mov edi, 0x208
jmp 0x14007f75f
cmp rbx, 0x50000
jae 0x14007f71b
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f6ed
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f711
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f711
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f75f
cmp rbx, 0x320000
jae 0x14007f72d
lea rdi, [rbx + 0x8000]
jmp 0x14007f75f
cmp rbx, 0xc80000
jae 0x14007f758
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f75f
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f785
test rcx, rcx
je 0x14007f785
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007f787
xor bl, bl
test rdi, rdi
js 0x14007f7e0
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007f7e0
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 0x14007f7c7
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 0x14007f4f9
xor r12d, r12d
test bl, bl
je 0x14007f7f8
lea rax, [0x140119108]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007f800
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.140040420
jmp 0x14007f4f9
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007f837
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007f84c
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 0x14007f86c
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006110
jmp 0x14007fa75
cmp rbx, qword [0x140112460]
jbe 0x14007f89a
cmp rbx, qword [r15 + 0x18]
jbe 0x14007f89a
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
jmp 0x14007fa75
cmp rax, 2
jae 0x14007f8b4
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007fa75
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007f8cc
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 0x14007fa48
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f904
cmp al, 2
je 0x14007f944
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fa3b
cmp rbx, 0x80
ja 0x14007f944
cmp rbx, 8
ja 0x14007f918
mov rdi, r13
jmp 0x14007f929
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93c0
test rax, rax
je 0x14007fa75
mov byte [r15 + 0x20], 1
jmp 0x14007fa3b
cmp rbx, 0x20
jae 0x14007f954
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f9f4
cmp rbx, 0x208
jae 0x14007f967
mov edi, 0x208
jmp 0x14007f9f4
cmp rbx, 0x50000
jae 0x14007f9b0
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f982
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f9a6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f9a6
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f9f4
cmp rbx, 0x320000
jae 0x14007f9c2
lea rdi, [rbx + 0x8000]
jmp 0x14007f9f4
cmp rbx, 0xc80000
jae 0x14007f9ed
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f9f4
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fa1a
test rcx, rcx
je 0x14007fa1a
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007fa1c
xor bl, bl
test rdi, rdi
js 0x14007fae0
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007fae0
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 0x14007fa64
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 0x14007fa8d
test r14, r14
je 0x14007fdef
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 0x14007fb91
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007fb20
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14007fb91
test bl, bl
je 0x14007faf5
lea rax, [0x140119108]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007fafd
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.140040420
jmp 0x14007fa75
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007fb36
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007fb4b
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 0x14007fb67
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006110
jmp 0x14007fb91
cmp rbx, qword [0x140112460]
jbe 0x14007fbc8
cmp rbx, qword [r12 + 0x18]
jbe 0x14007fbc8
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
xor edx, edx
test r14, r14
je 0x14007fdef
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14007fdea
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 0x14007fdef
cmp rax, 2
jae 0x14007fbdf
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14007fb91
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007fbfa
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 0x14007fd77
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fc35
cmp al, 2
je 0x14007fc76
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fd67
cmp rbx, 0x80
ja 0x14007fc76
cmp rbx, 8
ja 0x14007fc49
mov rdi, r13
jmp 0x14007fc5a
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93c0
test rax, rax
je 0x14007fb91
mov byte [r12 + 0x20], 1
jmp 0x14007fd67
cmp rbx, 0x20
jae 0x14007fc86
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fd26
cmp rbx, 0x208
jae 0x14007fc99
mov edi, 0x208
jmp 0x14007fd26
cmp rbx, 0x50000
jae 0x14007fce2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fcb4
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fcd8
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fcd8
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fd26
cmp rbx, 0x320000
jae 0x14007fcf4
lea rdi, [rbx + 0x8000]
jmp 0x14007fd26
cmp rbx, 0xc80000
jae 0x14007fd1f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fd26
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fd4d
test rcx, rcx
je 0x14007fd4d
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x14007fd4f
xor bl, bl
test rdi, rdi
js 0x14007fdad
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14007fdad
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 0x14007fd94
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 0x14007fb93
test bl, bl
je 0x14007fdc6
lea rcx, [0x140119108]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007fdd2
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 0x14007fb85
call fcn.14001bf30
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14007fe1d
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 0x14007fe4d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e24fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14008007e
lea rsi, [0x1400e24fc]
cmp qword [rdi + 8], rsi
jne 0x14007fe63
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007fe69
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x14007fe86
mov rdx, r12
mov rcx, rsi
call fcn.140006110
jmp 0x14008007e
cmp rbx, qword [0x140112460]
jbe 0x14007feb4
cmp rbx, qword [rdi + 0x18]
jbe 0x14007feb4
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040420
jmp 0x14008007e
cmp rcx, 2
jae 0x14007fece
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14008007e
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007fee4
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 0x140080057
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ff1b
cmp al, 2
je 0x14007ff57
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14008004b
cmp rbx, 0x80
ja 0x14007ff57
cmp rbx, 8
jbe 0x14007ff3d
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a93c0
test rax, rax
je 0x14008007e
mov byte [rdi + 0x20], 1
jmp 0x14008004b
cmp rbx, 0x20
jae 0x14007ff68
mov r13d, SafeArrayAllocDescriptor
jmp 0x140080009
cmp rbx, 0x208
jae 0x14007ff7c
mov r13d, 0x208
jmp 0x140080009
cmp rbx, 0x50000
jae 0x14007ffc5
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007ff97
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ffbb
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ffbb
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x140080009
cmp rbx, 0x320000
jae 0x14007ffd7
lea r13, [rbx + 0x8000]
jmp 0x140080009
cmp rbx, 0xc80000
jae 0x140080002
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x140080009
lea r13, [rbx + 0x20000]
mov rax, qword [0x140112460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x14008002f
test rcx, rcx
je 0x14008002f
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400ca100
jmp 0x140080031
xor bl, bl
test r13, r13
js 0x1400800c2
mov rcx, r13
call fcn.1400c9664
test rax, rax
je 0x1400800c2
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 0x14008006c
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 0x140080107
mov eax, 1
jmp 0x140080115
test bl, bl
je 0x1400800d9
lea rcx, [0x140119108]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x1400800e4
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.140040420
jmp 0x14008007e
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ee80
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret