Function at 0x14007f420
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 [0x140119638]
cmp al, 2
mov r14d, ecx
cmova r12, qword [0x140119640]
cmp al, 3
mov r15d, ecx
cmova r14, qword [0x140119648]
cmp al, 4
mov edi, ecx
cmova r15, qword [0x140119650]
cmp al, 5
mov r13d, ecx
cmova rdi, qword [0x140119658]
cmp al, 6
cmova r13, qword [0x140119660]
cmp al, 7
mov qword [rsp + 0x50], rdi
cmova rcx, qword [0x140119668]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rcx
test rbx, rbx
je 0x14007f4bf
mov rcx, rbx
call fcn.14001c090
test r12, r12
je 0x14007f4cc
mov rcx, r12
call fcn.14001c090
test r14, r14
je 0x14007f4d9
mov rcx, r14
call fcn.14001c090
test r15, r15
je 0x14007f4e6
mov rcx, r15
call fcn.14001c090
test rdi, rdi
je 0x14007f4f3
mov rcx, rdi
call fcn.14001c090
test r13, r13
je 0x14007f500
mov rcx, r13
call fcn.14001c090
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14007f512
mov rcx, rax
call fcn.14001c090
mov rcx, rsi
xor dil, dil
call fcn.140081c50
test al, al
je 0x1400807c7
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
lea r11, [rsp + 0x30]
lea r9, [0x1400e0f90]
lea rcx, [0x1400e0fa0]
lea r8d, [rdx + 1]
mov qword [rsp + 0x20], r11
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140080770
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [0x1400e0fb0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x140080765
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14008075a
movaps xmmword [rsp + 0x290], xmm6
movsd xmm6, qword [0x140101eb8]
movaps xmmword [rsp + 0x280], xmm7
movsd xmm7, qword [0x140101e88]
movabs rdi, 0x8000000000000000
mov r13d, 8
movaps xmmword [rsp + 0x270], xmm8
movsd xmm8, qword [0x140101ec0]
test rbx, rbx
je 0x14007f87e
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 0x14007f625
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x14007f87e
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007f639
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007f658
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 0x14007f678
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400060c0
jmp 0x14007f878
cmp rsi, qword [0x140114480]
jbe 0x14007f6a6
cmp rsi, qword [rbx + 0x18]
jbe 0x14007f6a6
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
jmp 0x14007f878
cmp rax, 2
jae 0x14007f6c0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x14007f878
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f6d6
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 0x14007f848
movzx r8d, byte [rbx + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f70d
cmp al, 2
je 0x14007f74e
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007f83c
cmp rsi, 0x80
ja 0x14007f74e
cmp rsi, 8
ja 0x14007f723
mov edi, 8
jmp 0x14007f734
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x14007f878
mov byte [rbx + 0x20], 1
jmp 0x14007f83c
cmp rsi, 0x20
jae 0x14007f75e
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f7f4
cmp rsi, 0x208
jae 0x14007f771
mov edi, 0x208
jmp 0x14007f7f4
cmp rsi, 0x50000
jae 0x14007f7b0
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f78c
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007f7a6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007f7a6
mov rax, rdi
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007f7f4
cmp rsi, 0x320000
jae 0x14007f7c2
lea rdi, [rsi + 0x8000]
jmp 0x14007f7f4
cmp rsi, 0xc80000
jae 0x14007f7ed
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f7f4
lea rdi, [rsi + 0x20000]
mov rax, qword [0x140114480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007f81b
test rcx, rcx
je 0x14007f81b
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb11c
jmp 0x14007f81e
xor sil, sil
test rdi, rdi
js 0x14007f8c8
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x14007f8c8
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 0x14007f865
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400cb2e0
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 0x14007fb73
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 0x14007f90e
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x14007fb73
test sil, sil
je 0x14007f8e0
lea rcx, [0x14011b184]
xor eax, eax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
jmp 0x14007f8eb
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [rbx + 0x10], rax
call fcn.140040740
jmp 0x14007f878
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x14007f924
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14007f939
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 0x14007f959
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060c0
jmp 0x14007fb73
cmp rbx, qword [0x140114480]
jbe 0x14007f988
cmp rbx, qword [r12 + 0x18]
jbe 0x14007f988
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
jmp 0x14007fb73
cmp rax, 2
jae 0x14007f9a2
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x14007fb73
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x14007f9bd
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 0x14007fb42
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007f9f8
cmp al, 2
je 0x14007fa39
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fb32
cmp rbx, 0x80
ja 0x14007fa39
cmp rbx, 8
ja 0x14007fa0c
mov rdi, r13
jmp 0x14007fa1d
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x14007fb73
mov byte [r12 + 0x20], 1
jmp 0x14007fb32
cmp rbx, 0x20
jae 0x14007fa49
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fae9
cmp rbx, 0x208
jae 0x14007fa5c
mov edi, 0x208
jmp 0x14007fae9
cmp rbx, 0x50000
jae 0x14007faa5
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fa77
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fa9b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fa9b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fae9
cmp rbx, 0x320000
jae 0x14007fab7
lea rdi, [rbx + 0x8000]
jmp 0x14007fae9
cmp rbx, 0xc80000
jae 0x14007fae2
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fae9
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140114480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fb10
test rcx, rcx
je 0x14007fb10
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400cb11c
jmp 0x14007fb12
xor bl, bl
test rdi, rdi
js 0x14007fc05
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x14007fc05
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 0x14007fb5f
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400cb2e0
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 0x14007fbb6
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 0x14007fc4e
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
xor r12d, r12d
test r15, r15
je 0x140080135
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 0x14007fee3
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x140080135
test bl, bl
je 0x14007fc1e
lea rcx, [0x14011b184]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x14007fc2a
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [r12 + 0x10], rax
call fcn.140040740
jmp 0x14007fb73
lea rax, [rsp + 0x60]
cmp qword [r14 + 8], rax
jne 0x14007fc62
mov rsi, qword [r14 + 0x10]
shr rsi, 1
jmp 0x14007fc77
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 0x14007fc97
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060c0
jmp 0x14007fbb6
cmp rbx, qword [0x140114480]
jbe 0x14007fcc5
cmp rbx, qword [r14 + 0x18]
jbe 0x14007fcc5
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
jmp 0x14007fbb6
cmp rax, 2
jae 0x14007fcdf
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x14007fbb6
movzx eax, byte [r14 + 0x21]
test al, 2
je 0x14007fcf7
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 0x14007fe6b
movzx r8d, byte [r14 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007fd2f
cmp al, 2
je 0x14007fd6f
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14007fe5e
cmp rbx, 0x80
ja 0x14007fd6f
cmp rbx, 8
ja 0x14007fd43
mov rdi, r13
jmp 0x14007fd54
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x14007fbb6
mov byte [r14 + 0x20], 1
jmp 0x14007fe5e
cmp rbx, 0x20
jae 0x14007fd7f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fe1f
cmp rbx, 0x208
jae 0x14007fd92
mov edi, 0x208
jmp 0x14007fe1f
cmp rbx, 0x50000
jae 0x14007fddb
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14007fdad
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14007fdd1
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14007fdd1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14007fe1f
cmp rbx, 0x320000
jae 0x14007fded
lea rdi, [rbx + 0x8000]
jmp 0x14007fe1f
cmp rbx, 0xc80000
jae 0x14007fe18
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x14007fe1f
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140114480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14007fe45
test rcx, rcx
je 0x14007fe45
mov rcx, qword [r14 + 8]
mov bl, 1
call fcn.1400cb11c
jmp 0x14007fe47
xor bl, bl
test rdi, rdi
js 0x14007fea0
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x14007fea0
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 0x14007fe87
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400cb2e0
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi]
xor r12d, r12d
mov word [rcx + rax], r12w
mov qword [r14 + 0x10], rcx
jmp 0x14007fbb9
xor r12d, r12d
test bl, bl
je 0x14007feb8
lea rax, [0x14011b184]
mov qword [r14 + 0x18], r12
mov qword [r14 + 8], rax
jmp 0x14007fec0
mov rax, qword [r14 + 8]
mov word [rax], r12w
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [r14 + 0x10], r12
call fcn.140040740
jmp 0x14007fbb9
lea rax, [rsp + 0x60]
cmp qword [r15 + 8], rax
jne 0x14007fef7
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x14007ff0c
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 0x14007ff2c
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060c0
jmp 0x140080135
cmp rbx, qword [0x140114480]
jbe 0x14007ff5a
cmp rbx, qword [r15 + 0x18]
jbe 0x14007ff5a
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
jmp 0x140080135
cmp rax, 2
jae 0x14007ff74
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x140080135
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x14007ff8c
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 0x140080108
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x14007ffc4
cmp al, 2
je 0x140080004
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x1400800fb
cmp rbx, 0x80
ja 0x140080004
cmp rbx, 8
ja 0x14007ffd8
mov rdi, r13
jmp 0x14007ffe9
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x140080135
mov byte [r15 + 0x20], 1
jmp 0x1400800fb
cmp rbx, 0x20
jae 0x140080014
mov edi, SafeArrayAllocDescriptor
jmp 0x1400800b4
cmp rbx, 0x208
jae 0x140080027
mov edi, 0x208
jmp 0x1400800b4
cmp rbx, 0x50000
jae 0x140080070
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080042
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x140080066
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140080066
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x1400800b4
cmp rbx, 0x320000
jae 0x140080082
lea rdi, [rbx + 0x8000]
jmp 0x1400800b4
cmp rbx, 0xc80000
jae 0x1400800ad
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x1400800b4
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140114480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x1400800da
test rcx, rcx
je 0x1400800da
mov rcx, qword [r15 + 8]
mov bl, 1
call fcn.1400cb11c
jmp 0x1400800dc
xor bl, bl
test rdi, rdi
js 0x1400801a0
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x1400801a0
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 0x140080124
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400cb2e0
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 0x14008014d
test r14, r14
je 0x1400804af
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 0x140080251
movzx edx, byte [r12 + 0x23]
test dl, dl
jne 0x1400801e0
mov rcx, qword [r12 + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x140080251
test bl, bl
je 0x1400801b5
lea rax, [0x14011b184]
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], rax
jmp 0x1400801bd
mov rax, qword [r15 + 8]
mov word [rax], r12w
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [r15 + 0x10], r12
call fcn.140040740
jmp 0x140080135
lea rax, [rsp + 0x60]
cmp qword [r12 + 8], rax
jne 0x1400801f6
mov rsi, qword [r12 + 0x10]
shr rsi, 1
jmp 0x14008020b
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 0x140080227
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400060c0
jmp 0x140080251
cmp rbx, qword [0x140114480]
jbe 0x140080288
cmp rbx, qword [r12 + 0x18]
jbe 0x140080288
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
xor edx, edx
test r14, r14
je 0x1400804af
cmp word [rsp + 0x60], 0
mov rcx, r14
je 0x1400804aa
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 0x1400804af
cmp rax, 2
jae 0x14008029f
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x140080251
movzx eax, byte [r12 + 0x21]
test al, 2
je 0x1400802ba
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 0x140080437
movzx r8d, byte [r12 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400802f5
cmp al, 2
je 0x140080336
mov rdi, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x140080427
cmp rbx, 0x80
ja 0x140080336
cmp rbx, 8
ja 0x140080309
mov rdi, r13
jmp 0x14008031a
mov edi, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x140080251
mov byte [r12 + 0x20], 1
jmp 0x140080427
cmp rbx, 0x20
jae 0x140080346
mov edi, SafeArrayAllocDescriptor
jmp 0x1400803e6
cmp rbx, 0x208
jae 0x140080359
mov edi, 0x208
jmp 0x1400803e6
cmp rbx, 0x50000
jae 0x1400803a2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080374
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x140080398
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140080398
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x1400803e6
cmp rbx, 0x320000
jae 0x1400803b4
lea rdi, [rbx + 0x8000]
jmp 0x1400803e6
cmp rbx, 0xc80000
jae 0x1400803df
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x1400803e6
lea rdi, [rbx + 0x20000]
mov rax, qword [0x140114480]
cmp rdi, rax
cmova rdi, rax
cmp r8b, 2
jne 0x14008040d
test rcx, rcx
je 0x14008040d
mov rcx, qword [r12 + 8]
mov bl, 1
call fcn.1400cb11c
jmp 0x14008040f
xor bl, bl
test rdi, rdi
js 0x14008046d
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x14008046d
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 0x140080454
lea r8, [rsi + rsi]
lea rdx, [rsp + 0x60]
call fcn.1400cb2e0
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r12 + 0x10], rcx
jmp 0x140080253
test bl, bl
je 0x140080486
lea rcx, [0x14011b184]
xor eax, eax
mov qword [r12 + 8], rcx
mov qword [r12 + 0x18], rax
jmp 0x140080492
mov rax, qword [r12 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r12 + 0x10], rax
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
jmp 0x140080245
call fcn.14001c090
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1400804dd
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 [0x14011a308]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14008050d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400e350c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x14008073e
lea rsi, [0x1400e350c]
cmp qword [rdi + 8], rsi
jne 0x140080523
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140080529
mov r12d, 1
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x140080546
mov rdx, r12
mov rcx, rsi
call fcn.1400060c0
jmp 0x14008073e
cmp rbx, qword [0x140114480]
jbe 0x140080574
cmp rbx, qword [rdi + 0x18]
jbe 0x140080574
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
jmp 0x14008073e
cmp rcx, 2
jae 0x14008058e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400b1b90
jmp 0x14008073e
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400805a4
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 0x140080717
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400805db
cmp al, 2
je 0x140080617
mov r13, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e0]
jmp 0x14008070b
cmp rbx, 0x80
ja 0x140080617
cmp rbx, 8
jbe 0x1400805fd
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400aa400
test rax, rax
je 0x14008073e
mov byte [rdi + 0x20], 1
jmp 0x14008070b
cmp rbx, 0x20
jae 0x140080628
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400806c9
cmp rbx, 0x208
jae 0x14008063c
mov r13d, 0x208
jmp 0x1400806c9
cmp rbx, 0x50000
jae 0x140080685
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140080657
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x14008067b
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14008067b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400806c9
cmp rbx, 0x320000
jae 0x140080697
lea r13, [rbx + 0x8000]
jmp 0x1400806c9
cmp rbx, 0xc80000
jae 0x1400806c2
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400806c9
lea r13, [rbx + 0x20000]
mov rax, qword [0x140114480]
cmp r13, rax
cmova r13, rax
cmp r8b, 2
jne 0x1400806ef
test rcx, rcx
je 0x1400806ef
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.1400cb11c
jmp 0x1400806f1
xor bl, bl
test r13, r13
js 0x140080782
mov rcx, r13
call fcn.1400ca9a4
test rax, rax
je 0x140080782
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 0x14008072c
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.1400cb2e0
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 0x1400807c7
mov eax, 1
jmp 0x1400807d5
test bl, bl
je 0x140080799
lea rcx, [0x14011b184]
xor eax, eax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x18], rax
jmp 0x1400807a4
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [rdi + 0x10], rax
call fcn.140040740
jmp 0x14008073e
mov rcx, qword [rbp + 0x1e0]
mov dl, 1
call fcn.14003f1a0
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret