Function at 0x14007e8e0
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 0x14007e97f
mov rcx, rbx
call fcn.14001bbe0
test r12, r12
je 0x14007e98c
mov rcx, r12
call fcn.14001bbe0
test r14, r14
je 0x14007e999
mov rcx, r14
call fcn.14001bbe0
test r15, r15
je 0x14007e9a6
mov rcx, r15
call fcn.14001bbe0
test rdi, rdi
je 0x14007e9b3
mov rcx, rdi
call fcn.14001bbe0
test r13, r13
je 0x14007e9c0
mov rcx, r13
call fcn.14001bbe0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007e9d2
mov rcx, rax
call fcn.14001bbe0
mov rcx, rsi
xor dil, dil
call fcn.1400810e0
test al, al
je 0x14007fc87
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 0x14007fc30
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400defb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x14007fc25
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14007fc1a
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x1400ffd98]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x1400ffd68]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x1400ffda0]
test rbx, rbx
je 0x14007ed3e
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 0x14007eae5
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14007ed3e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007eaf9
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007eb18
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 0x14007eb38
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400060a0
jmp 0x14007ed38
cmp rsi, qword [0x140111460]
jbe 0x14007eb66
cmp rsi, qword [rbx + 0x18]
jbe 0x14007eb66
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14007ed38
cmp rax, 2
jae 0x14007eb80
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007ed38
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007eb96
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 0x14007ed08
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ebcd
cmp al, 2
je 0x14007ec0e
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007ecfc
cmp rsi, 0x80
ja 0x14007ec0e
cmp rsi, 8
ja 0x14007ebe3
mov edi, 8
jmp 0x14007ebf4
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14007ed38
mov byte [rbx + 0x20], 1
jmp 0x14007ecfc
cmp rsi, 0x20
jae 0x14007ec1e
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ecb4
cmp rsi, 0x208
jae 0x14007ec31
mov edi, 0x208
jmp 0x14007ecb4
cmp rsi, 0x50000
jae 0x14007ec70
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007ec4c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ec66
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ec66
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007ecb4
cmp rsi, 0x320000
jae 0x14007ec82
lea rdi, [rsi + 0x8000]
jmp 0x14007ecb4
cmp rsi, 0xc80000
jae 0x14007ecad
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007ecb4
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007ecdb
test rcx, rcx
je 0x14007ecdb
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x14007ecde
xor sil, sil
test rdi, rdi
js 0x14007ed88
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14007ed88
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 0x14007ed25
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
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 0x14007f033
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 0x14007edce
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14007f033
test sil, sil
je 0x14007eda0
lea rcx, [0x140118198]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007edab
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], rax
call fcn.140040210
jmp 0x14007ed38
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007ede4
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007edf9
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 0x14007ee19
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f033
cmp rbx, qword [0x140111460]
jbe 0x14007ee48
cmp rbx, qword [r12 + 0x18]
jbe 0x14007ee48
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14007f033
cmp rax, 2
jae 0x14007ee62
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007f033
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007ee7d
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 0x14007f002
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007eeb8
cmp al, 2
je 0x14007eef9
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007eff2
cmp rbx, 0x80
ja 0x14007eef9
cmp rbx, 8
ja 0x14007eecc
mov rdi, r13
jmp 0x14007eedd
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14007f033
mov byte [r12 + 0x20], 1
jmp 0x14007eff2
cmp rbx, 0x20
jae 0x14007ef09
mov edi, SafeArrayAllocDescriptor
jmp 0x14007efa9
cmp rbx, 0x208
jae 0x14007ef1c
mov edi, 0x208
jmp 0x14007efa9
cmp rbx, 0x50000
jae 0x14007ef65
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007ef37
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007ef5b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007ef5b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007efa9
cmp rbx, 0x320000
jae 0x14007ef77
lea rdi, [rbx + 0x8000]
jmp 0x14007efa9
cmp rbx, 0xc80000
jae 0x14007efa2
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007efa9
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007efd0
test rcx, rcx
je 0x14007efd0
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c9b60
jmp 0x14007efd2
xor bl, bl
test rdi, rdi
js 0x14007f0c5
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14007f0c5
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 0x14007f01f
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
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 0x14007f076
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 0x14007f10e
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
xor r12d, r12d
test r15, r15
je 0x14007f5f5
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 0x14007f3a3
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14007f5f5
test bl, bl
je 0x14007f0de
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f0ea
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r12 + 0x10], rax
call fcn.140040210
jmp 0x14007f033
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007f122
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007f137
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 0x14007f157
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f076
cmp rbx, qword [0x140111460]
jbe 0x14007f185
cmp rbx, qword [r14 + 0x18]
jbe 0x14007f185
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14007f076
cmp rax, 2
jae 0x14007f19f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007f076
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007f1b7
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 0x14007f32b
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f1ef
cmp al, 2
je 0x14007f22f
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f31e
cmp rbx, 0x80
ja 0x14007f22f
cmp rbx, 8
ja 0x14007f203
mov rdi, r13
jmp 0x14007f214
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14007f076
mov byte [r14 + 0x20], 1
jmp 0x14007f31e
cmp rbx, 0x20
jae 0x14007f23f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f2df
cmp rbx, 0x208
jae 0x14007f252
mov edi, 0x208
jmp 0x14007f2df
cmp rbx, 0x50000
jae 0x14007f29b
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f26d
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f291
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f291
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f2df
cmp rbx, 0x320000
jae 0x14007f2ad
lea rdi, [rbx + 0x8000]
jmp 0x14007f2df
cmp rbx, 0xc80000
jae 0x14007f2d8
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f2df
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f305
test rcx, rcx
je 0x14007f305
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400c9b60
jmp 0x14007f307
xor bl, bl
test rdi, rdi
js 0x14007f360
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14007f360
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 0x14007f347
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007f079
xor r12d, r12d
test bl, bl
je 0x14007f378
lea rax, [0x140118198]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007f380
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r14 + 0x10], r12
call fcn.140040210
jmp 0x14007f079
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007f3b7
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007f3cc
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 0x14007f3ec
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f5f5
cmp rbx, qword [0x140111460]
jbe 0x14007f41a
cmp rbx, qword [r15 + 0x18]
jbe 0x14007f41a
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14007f5f5
cmp rax, 2
jae 0x14007f434
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007f5f5
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007f44c
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 0x14007f5c8
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f484
cmp al, 2
je 0x14007f4c4
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f5bb
cmp rbx, 0x80
ja 0x14007f4c4
cmp rbx, 8
ja 0x14007f498
mov rdi, r13
jmp 0x14007f4a9
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14007f5f5
mov byte [r15 + 0x20], 1
jmp 0x14007f5bb
cmp rbx, 0x20
jae 0x14007f4d4
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f574
cmp rbx, 0x208
jae 0x14007f4e7
mov edi, 0x208
jmp 0x14007f574
cmp rbx, 0x50000
jae 0x14007f530
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f502
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f526
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f526
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f574
cmp rbx, 0x320000
jae 0x14007f542
lea rdi, [rbx + 0x8000]
jmp 0x14007f574
cmp rbx, 0xc80000
jae 0x14007f56d
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f574
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f59a
test rcx, rcx
je 0x14007f59a
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400c9b60
jmp 0x14007f59c
xor bl, bl
test rdi, rdi
js 0x14007f660
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14007f660
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 0x14007f5e4
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
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 0x14007f60d
test r14, r14
je 0x14007f96f
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 0x14007f711
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x14007f6a0
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14007f711
test bl, bl
je 0x14007f675
lea rax, [0x140118198]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x14007f67d
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [r15 + 0x10], r12
call fcn.140040210
jmp 0x14007f5f5
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f6b6
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f6cb
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 0x14007f6e7
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060a0
jmp 0x14007f711
cmp rbx, qword [0x140111460]
jbe 0x14007f748
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f748
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
xor edx, edx
test r14, r14
je 0x14007f96f
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x14007f96a
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 0x14007f96f
cmp rax, 2
jae 0x14007f75f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007f711
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f77a
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 0x14007f8f7
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f7b5
cmp al, 2
je 0x14007f7f6
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f8e7
cmp rbx, 0x80
ja 0x14007f7f6
cmp rbx, 8
ja 0x14007f7c9
mov rdi, r13
jmp 0x14007f7da
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14007f711
mov byte [r12 + 0x20], 1
jmp 0x14007f8e7
cmp rbx, 0x20
jae 0x14007f806
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f8a6
cmp rbx, 0x208
jae 0x14007f819
mov edi, 0x208
jmp 0x14007f8a6
cmp rbx, 0x50000
jae 0x14007f862
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007f834
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f858
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f858
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f8a6
cmp rbx, 0x320000
jae 0x14007f874
lea rdi, [rbx + 0x8000]
jmp 0x14007f8a6
cmp rbx, 0xc80000
jae 0x14007f89f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007f8a6
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f8cd
test rcx, rcx
je 0x14007f8cd
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400c9b60
jmp 0x14007f8cf
xor bl, bl
test rdi, rdi
js 0x14007f92d
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14007f92d
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 0x14007f914
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x14007f713
test bl, bl
je 0x14007f946
lea rcx, [0x140118198]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007f952
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
jmp 0x14007f705
call fcn.14001bbe0
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14007f99d
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 0x14007f9cd
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e14fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14007fbfe
lea rsi, [0x1400e14fc]
cmp qword [rdi + 8], rsi
jne 0x14007f9e3
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007f9e9
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x14007fa06
mov rdx, r12
mov rcx, rsi
call fcn.1400060a0
jmp 0x14007fbfe
cmp rbx, qword [0x140111460]
jbe 0x14007fa34
cmp rbx, qword [rdi + 0x18]
jbe 0x14007fa34
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14007fbfe
cmp rcx, 2
jae 0x14007fa4e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14007fbfe
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007fa64
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 0x14007fbd7
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fa9b
cmp al, 2
je 0x14007fad7
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fbcb
cmp rbx, 0x80
ja 0x14007fad7
cmp rbx, 8
jbe 0x14007fabd
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400a8f50
test rax, rax
je 0x14007fbfe
mov byte [rdi + 0x20], 1
jmp 0x14007fbcb
cmp rbx, 0x20
jae 0x14007fae8
mov r13d, SafeArrayAllocDescriptor
jmp 0x14007fb89
cmp rbx, 0x208
jae 0x14007fafc
mov r13d, 0x208
jmp 0x14007fb89
cmp rbx, 0x50000
jae 0x14007fb45
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fb17
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fb3b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fb3b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x14007fb89
cmp rbx, 0x320000
jae 0x14007fb57
lea r13, [rbx + 0x8000]
jmp 0x14007fb89
cmp rbx, 0xc80000
jae 0x14007fb82
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x14007fb89
lea r13, [rbx + 0x20000]
mov rax, qword [0x140111460]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x14007fbaf
test rcx, rcx
je 0x14007fbaf
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400c9b60
jmp 0x14007fbb1
xor bl, bl
test r13, r13
js 0x14007fc42
mov rcx, r13
call fcn.1400c90c4
test rax, rax
je 0x14007fc42
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 0x14007fbec
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400c9d20
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 0x14007fc87
mov eax, 1
jmp 0x14007fc95
test bl, bl
je 0x14007fc59
lea rcx, [0x140118198]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x14007fc64
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rdi + 0x10], rax
call fcn.140040210
jmp 0x14007fbfe
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003ec70
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret