Function at 0x14007e6a0
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
movzx eax, byte [rcx + 1]
xor ecx, ecx
mov rsi, rdx
cmp al, 1
mov ebx, ecx
mov r12d, ecx
cmova rbx, qword [0x140116648]
cmp al, 2
mov r14d, ecx
cmova r12, qword [0x140116650]
cmp al, 3
mov r15d, ecx
cmova r14, qword [0x140116658]
cmp al, 4
mov edi, ecx
cmova r15, qword [0x140116660]
cmp al, 5
mov r13d, ecx
cmova rdi, qword [0x140116668]
cmp al, 6
cmova r13, qword [0x140116670]
cmp al, 7
mov qword [rsp + 0x50], rdi
cmova rcx, qword [0x140116678]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x14007e73f
mov rcx, rbx
call fcn.14001b960
test r12, r12
je 0x14007e74c
mov rcx, r12
call fcn.14001b960
test r14, r14
je 0x14007e759
mov rcx, r14
call fcn.14001b960
test r15, r15
je 0x14007e766
mov rcx, r15
call fcn.14001b960
test rdi, rdi
je 0x14007e773
mov rcx, rdi
call fcn.14001b960
test r13, r13
je 0x14007e780
mov rcx, r13
call fcn.14001b960
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007e792
mov rcx, rax
call fcn.14001b960
mov rcx, rsi
xor dil, dil
call fcn.140080ea0
test al, al
je 0x14007fa47
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
lea r11, [rsp + 0x30]
lea r9, [0x1400def90]
lea rcx, [0x1400defa0]
lea r8d, [rdx + 1]
mov qword [rsp + 0x20], r11
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14007f9f0
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400defb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x14007f9e5
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14007f9da
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x1400ffd88]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x1400ffd58]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x1400ffd90]
test rbx, rbx
je 0x14007eafe
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 0x14007e8a5
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14007eafe
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007e8b9
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007e8d8
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 0x14007e8f8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006020
jmp 0x14007eaf8
cmp rsi, qword [0x140111460]
jbe 0x14007e926
cmp rsi, qword [rbx + 0x18]
jbe 0x14007e926
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
jmp 0x14007eaf8
cmp rax, 2
jae 0x14007e940
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007eaf8
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007e956
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 0x14007eac8
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007e98d
cmp al, 2
je 0x14007e9ce
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007eabc
cmp rsi, 0x80
ja 0x14007e9ce
cmp rsi, 8
ja 0x14007e9a3
mov edi, 8
jmp 0x14007e9b4
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14007eaf8
mov byte [rbx + 0x20], 1
jmp 0x14007eabc
cmp rsi, 0x20
jae 0x14007e9de
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ea74
cmp rsi, 0x208
jae 0x14007e9f1
mov edi, 0x208
jmp 0x14007ea74
cmp rsi, 0x50000
jae 0x14007ea30
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007ea0c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ea26
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ea26
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ea74
cmp rsi, 0x320000
jae 0x14007ea42
lea rdi, [rsi + 0x8000]
jmp 0x14007ea74
cmp rsi, 0xc80000
jae 0x14007ea6d
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007ea74
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007ea9b
test rcx, rcx
je 0x14007ea9b
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c98d0
jmp 0x14007ea9e
xor sil, sil
test rdi, rdi
js 0x14007eb48
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14007eb48
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 0x14007eae5
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400c9a90
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 0x14007edf3
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 0x14007eb8e
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14007edf3
test sil, sil
je 0x14007eb60
lea rcx, [0x140118198]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007eb6b
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], rax
call fcn.14003ffa0
jmp 0x14007eaf8
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007eba4
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007ebb9
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 0x14007ebd9
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006020
jmp 0x14007edf3
cmp rbx, qword [0x140111460]
jbe 0x14007ec08
cmp rbx, qword [r12 + 0x18]
jbe 0x14007ec08
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
jmp 0x14007edf3
cmp rax, 2
jae 0x14007ec22
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007edf3
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007ec3d
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 0x14007edc2
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ec78
cmp al, 2
je 0x14007ecb9
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007edb2
cmp rbx, 0x80
ja 0x14007ecb9
cmp rbx, 8
ja 0x14007ec8c
mov rdi, r13
jmp 0x14007ec9d
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14007edf3
mov byte [r12 + 0x20], 1
jmp 0x14007edb2
cmp rbx, 0x20
jae 0x14007ecc9
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ed69
cmp rbx, 0x208
jae 0x14007ecdc
mov edi, 0x208
jmp 0x14007ed69
cmp rbx, 0x50000
jae 0x14007ed25
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007ecf7
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ed1b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ed1b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ed69
cmp rbx, 0x320000
jae 0x14007ed37
lea rdi, [rbx + 0x8000]
jmp 0x14007ed69
cmp rbx, 0xc80000
jae 0x14007ed62
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007ed69
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007ed90
test rcx, rcx
je 0x14007ed90
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c98d0
jmp 0x14007ed92
xor bl, bl
test rdi, rdi
js 0x14007ee85
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14007ee85
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 0x14007eddf
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9a90
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 0x14007ee36
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 0x14007eece
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
xor r12d, r12d
test r15, r15
je 0x14007f3b5
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 0x14007f163
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14007f3b5
test bl, bl
je 0x14007ee9e
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007eeaa
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r12 + 0x10], rax
call fcn.14003ffa0
jmp 0x14007edf3
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007eee2
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007eef7
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 0x14007ef17
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006020
jmp 0x14007ee36
cmp rbx, qword [0x140111460]
jbe 0x14007ef45
cmp rbx, qword [r14 + 0x18]
jbe 0x14007ef45
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
jmp 0x14007ee36
cmp rax, 2
jae 0x14007ef5f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007ee36
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007ef77
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 0x14007f0eb
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007efaf
cmp al, 2
je 0x14007efef
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f0de
cmp rbx, 0x80
ja 0x14007efef
cmp rbx, 8
ja 0x14007efc3
mov rdi, r13
jmp 0x14007efd4
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14007ee36
mov byte [r14 + 0x20], 1
jmp 0x14007f0de
cmp rbx, 0x20
jae 0x14007efff
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f09f
cmp rbx, 0x208
jae 0x14007f012
mov edi, 0x208
jmp 0x14007f09f
cmp rbx, 0x50000
jae 0x14007f05b
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f02d
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f051
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f051
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f09f
cmp rbx, 0x320000
jae 0x14007f06d
lea rdi, [rbx + 0x8000]
jmp 0x14007f09f
cmp rbx, 0xc80000
jae 0x14007f098
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f09f
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f0c5
test rcx, rcx
je 0x14007f0c5
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400c98d0
jmp 0x14007f0c7
xor bl, bl
test rdi, rdi
js 0x14007f120
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14007f120
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 0x14007f107
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9a90
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007ee39
xor r12d, r12d
test bl, bl
je 0x14007f138
lea rax, [0x140118198]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007f140
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r14 + 0x10], r12
call fcn.14003ffa0
jmp 0x14007ee39
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007f177
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007f18c
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 0x14007f1ac
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006020
jmp 0x14007f3b5
cmp rbx, qword [0x140111460]
jbe 0x14007f1da
cmp rbx, qword [r15 + 0x18]
jbe 0x14007f1da
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
jmp 0x14007f3b5
cmp rax, 2
jae 0x14007f1f4
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007f3b5
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007f20c
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 0x14007f388
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f244
cmp al, 2
je 0x14007f284
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f37b
cmp rbx, 0x80
ja 0x14007f284
cmp rbx, 8
ja 0x14007f258
mov rdi, r13
jmp 0x14007f269
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14007f3b5
mov byte [r15 + 0x20], 1
jmp 0x14007f37b
cmp rbx, 0x20
jae 0x14007f294
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f334
cmp rbx, 0x208
jae 0x14007f2a7
mov edi, 0x208
jmp 0x14007f334
cmp rbx, 0x50000
jae 0x14007f2f0
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f2c2
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f2e6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f2e6
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f334
cmp rbx, 0x320000
jae 0x14007f302
lea rdi, [rbx + 0x8000]
jmp 0x14007f334
cmp rbx, 0xc80000
jae 0x14007f32d
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f334
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f35a
test rcx, rcx
je 0x14007f35a
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400c98d0
jmp 0x14007f35c
xor bl, bl
test rdi, rdi
js 0x14007f420
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14007f420
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 0x14007f3a4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9a90
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 0x14007f3cd
test r14, r14
je 0x14007f72f
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 0x14007f4d1
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007f460
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14007f4d1
test bl, bl
je 0x14007f435
lea rax, [0x140118198]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007f43d
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r15 + 0x10], r12
call fcn.14003ffa0
jmp 0x14007f3b5
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f476
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f48b
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 0x14007f4a7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140006020
jmp 0x14007f4d1
cmp rbx, qword [0x140111460]
jbe 0x14007f508
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f508
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
xor edx, edx
test r14, r14
je 0x14007f72f
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14007f72a
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 0x14007f72f
cmp rax, 2
jae 0x14007f51f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007f4d1
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f53a
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 0x14007f6b7
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f575
cmp al, 2
je 0x14007f5b6
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f6a7
cmp rbx, 0x80
ja 0x14007f5b6
cmp rbx, 8
ja 0x14007f589
mov rdi, r13
jmp 0x14007f59a
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14007f4d1
mov byte [r12 + 0x20], 1
jmp 0x14007f6a7
cmp rbx, 0x20
jae 0x14007f5c6
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f666
cmp rbx, 0x208
jae 0x14007f5d9
mov edi, 0x208
jmp 0x14007f666
cmp rbx, 0x50000
jae 0x14007f622
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f5f4
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f618
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f618
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f666
cmp rbx, 0x320000
jae 0x14007f634
lea rdi, [rbx + 0x8000]
jmp 0x14007f666
cmp rbx, 0xc80000
jae 0x14007f65f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f666
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f68d
test rcx, rcx
je 0x14007f68d
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c98d0
jmp 0x14007f68f
xor bl, bl
test rdi, rdi
js 0x14007f6ed
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14007f6ed
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 0x14007f6d4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9a90
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x14007f4d3
test bl, bl
je 0x14007f706
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f712
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
jmp 0x14007f4c5
call fcn.14001b960
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14007f75d
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x1f8]
mov rax, qword [rcx]
call qword [rax + 0x70]
movsxd rdx, dword [rbp + 0x1f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rdi
call fcn.140001090
mov rdi, qword [0x140117318]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14007f78d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e150c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14007f9be
lea rsi, [0x1400e150c]
cmp qword [rdi + 8], rsi
jne 0x14007f7a3
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007f7a9
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x14007f7c6
mov rdx, r12
mov rcx, rsi
call fcn.140006020
jmp 0x14007f9be
cmp rbx, qword [0x140111460]
jbe 0x14007f7f4
cmp rbx, qword [rdi + 0x18]
jbe 0x14007f7f4
lea r8, [0x1400e146c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.14003ffa0
jmp 0x14007f9be
cmp rcx, 2
jae 0x14007f80e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14007f9be
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007f824
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 0x14007f997
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f85b
cmp al, 2
je 0x14007f897
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f98b
cmp rbx, 0x80
ja 0x14007f897
cmp rbx, 8
jbe 0x14007f87d
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a8cb0
test rax, rax
je 0x14007f9be
mov byte [rdi + 0x20], 1
jmp 0x14007f98b
cmp rbx, 0x20
jae 0x14007f8a8
mov r13d, SafeArrayAllocDescriptor
jmp 0x14007f949
cmp rbx, 0x208
jae 0x14007f8bc
mov r13d, 0x208
jmp 0x14007f949
cmp rbx, 0x50000
jae 0x14007f905
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f8d7
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f8fb
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f8fb
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x14007f949
cmp rbx, 0x320000
jae 0x14007f917
lea r13, [rbx + 0x8000]
jmp 0x14007f949
cmp rbx, 0xc80000
jae 0x14007f942
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x14007f949
lea r13, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x14007f96f
test rcx, rcx
je 0x14007f96f
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400c98d0
jmp 0x14007f971
xor bl, bl
test r13, r13
js 0x14007fa02
mov rcx, r13
call fcn.1400c8e34
test rax, rax
je 0x14007fa02
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 0x14007f9ac
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400c9a90
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 0x14007fa47
mov eax, 1
jmp 0x14007fa55
test bl, bl
je 0x14007fa19
lea rcx, [0x140118198]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x14007fa24
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e146c]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rdi + 0x10], rax
call fcn.14003ffa0
jmp 0x14007f9be
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ea00
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret