Function at 0x1400b9fa0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x958
mov r14, r8
mov r15, rdx
mov rdi, rcx
movabs r12, 0x8000000000000000
lea rcx, [rsp + 0x6a0]
call fcn.1400b4dd0
mov r8, qword [r14 + 0x20]
mov r9, qword [r14 + 0x28]
mov qword [rsp + 0x440], 0
mov qword [rsp + 0x420], 0
mov qword [rsp + 0x430], 0
lea rcx, [rsp + 0x780]
lea rdx, [rsp + 0x420]
call fcn.1400c2b10
mov r9, qword [rsp + 0x780]
cmp r9, r12
jne 0x1400ba02b
movzx eax, byte [rsp + 0x788]
jmp 0x1400ba0a7
mov r8, qword [rsp + 0x788]
movzx r10d, byte [rsp + 0x7c0]
test r10b, r10b
je 0x1400ba092
mov r11d, dword [rsp + 0x7b4]
mov esi, dword [rsp + 0x7b8]
cmp r11d, esi
ja 0x1400bbcf0
mov r13, qword [rsp + 0x790]
mov rbp, qword [rsp + 0x798]
mov ebx, dword [rsp + 0x7bc]
test r11d, r11d
je 0x1400ba314
cmp r13, r11
jbe 0x1400ba30e
cmp byte [r8 + r11], 0xbf
jg 0x1400ba314
jmp 0x1400bbcf0
test r9, r9
je 0x1400ba0a5
mov rcx, qword [0x1401bb0c8]
xor edx, edx
call fcn.1400fda74
xor eax, eax
mov byte [rsp + 0x360], al
lea rax, [rsp + 0x360]
mov qword [rsp + 0x640], rax
lea rax, [0x1400c2840]
mov qword [rsp + 0x648], rax
lea rax, str.failed_to_parse_URL:
mov qword [rsp + 0x780], rax
mov qword [rsp + 0x788], 1
mov qword [rsp + 0x7a0], 0
lea rax, [rsp + 0x640]
mov qword [rsp + 0x790], rax
mov qword [rsp + 0x798], 1
lea rcx, [rsp + 0x420]
lea rdx, [rsp + 0x780]
call fcn.140010070
movzx ebx, byte [rsp + 0x360]
movzx eax, byte [0x1401bb111]
mov edx, 1
xor ecx, ecx
call fcn.140089d40
test rax, rax
je 0x1400bbcf0
mov byte [rax], bl
mov r9, qword [rsp + 0x420]
movzx r10d, byte [rsp + 0x428]
mov ecx, dword [rsp + 0x429]
movzx edx, word [rsp + 0x42d]
movzx r11d, byte [rsp + 0x42f]
mov r8, qword [rsp + 0x430]
movaps xmm0, xmmword [rsp + 0x6d0]
movaps xmmword [rsp + 0x3c0], xmm0
mov esi, dword [rsp + 0x6e0]
mov dword [rsp + 0x3d0], esi
mov rsi, qword [rsp + 0x57f]
mov qword [rsp + 0xdf], rsi
movaps xmm0, xmmword [rsp + 0x570]
movaps xmmword [rsp + 0xd0], xmm0
mov rsi, qword [rsp + 0x8e0]
mov qword [rdi + 0x70], rsi
movups xmm0, xmmword [rsp + 0x8d0]
movups xmmword [rdi + 0x60], xmm0
mov qword [rdi + 0x78], rax
lea rax, [0x14017fba0]
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], 0
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rdi + 0x100], xmm0
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rdi + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rdi + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rdi + 0xd0], xmm0
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
movups xmm2, xmmword [rsp + 0x160]
movups xmm3, xmmword [rsp + 0x170]
movups xmmword [rdi + 0xc0], xmm3
movups xmmword [rdi + 0xb0], xmm2
movups xmmword [rdi + 0xa0], xmm1
movups xmmword [rdi + 0x90], xmm0
mov qword [rdi + 8], r9
mov byte [rdi + 0x10], r10b
mov byte [rdi + 0x17], r11b
mov word [rdi + 0x15], dx
mov dword [rdi + 0x11], ecx
mov qword [rdi + 0x18], r8
mov qword [rdi + 0x20], r12
movaps xmm0, xmmword [rsp + 0x3c0]
movups xmmword [rdi + 0x28], xmm0
mov eax, dword [rsp + 0x3d0]
mov dword [rdi + 0x38], eax
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rdi + 0x49], xmm0
mov rax, qword [rsp + 0xdf]
mov qword [rdi + 0x58], rax
mov qword [rdi], r12
mov rdi, qword [rsp + 0x6b0]
mov rsi, qword [rsp + 0x6b8]
mov rax, qword [rsi]
test rax, rax
je 0x1400ba2d0
mov rcx, rdi
call rax
cmp qword [rsi + 8], 0
je 0x1400ba2f3
cmp qword [rsi + 0x10], 0x11
jb 0x1400ba2e2
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401bb0c8]
xor edx, edx
mov r8, rdi
call fcn.1400fda74
mov rcx, r14
add rsp, 0x958
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400bbdc0
jne 0x1400bbcf0
test esi, esi
je 0x1400ba32f
cmp r13, rsi
jbe 0x1400ba329
cmp byte [r8 + rsi], 0xbf
jg 0x1400ba32f
jmp 0x1400bbcf0
jne 0x1400bbcf0
lea rcx, [rsp + 0x7a0]
mov rax, r8
shr rax, 8
mov edx, dword [rcx + 0x10]
mov dword [rsp + 0x6e0], edx
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x6d0], xmm0
movups xmm1, xmmword [rcx + 0x21]
movaps xmmword [rsp + 0x570], xmm1
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x57f], rcx
mov dword [rsp + 0x3d0], edx
movaps xmmword [rsp + 0x3c0], xmm0
mov rcx, qword [rsp + 0x57f]
mov qword [rsp + 0xdf], rcx
movaps xmm0, xmmword [rsp + 0x570]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x3c0]
movaps xmmword [rsp + 0x530], xmm0
mov ecx, dword [rsp + 0x3d0]
mov dword [rsp + 0x540], ecx
mov rcx, qword [rsp + 0xdf]
mov qword [rsp + 0x89f], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x890], xmm0
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x728], r9
mov byte [rsp + 0x730], r8b
mov rcx, r8
shr rcx, 0x38
mov byte [rsp + 0x737], cl
mov qword [rsp + 0xa0], r8
mov rcx, r8
shr rcx, 0x28
mov word [rsp + 0x735], cx
mov dword [rsp + 0x731], eax
mov qword [rsp + 0x350], r13
mov qword [rsp + 0x738], r13
mov qword [rsp + 0x348], rbp
mov qword [rsp + 0x740], rbp
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x758], eax
movaps xmm0, xmmword [rsp + 0x3c0]
movups xmmword [rsp + 0x748], xmm0
mov qword [rsp + 0x358], r11
mov dword [rsp + 0x75c], r11d
mov qword [rsp + 0xa8], rsi
mov dword [rsp + 0x760], esi
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x764], ebx
mov byte [rsp + 0x5f], r10b
mov byte [rsp + 0x768], r10b
mov rax, qword [rsp + 0xdf]
mov qword [rsp + 0x778], rax
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x769], xmm0
lea rdx, [r14 + 0x58]
mov r8, qword [r14 + 8]
mov r9, qword [r14 + 0x10]
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0xc0], r14
movups xmm0, xmmword [r14 + 0x30]
movaps xmmword [rsp + 0x140], xmm0
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov eax, dword [rax + 8]
movups xmm0, xmmword [rsp + 0x6a0]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], rcx
movups xmmword [rsp + 0x30], xmm0
lea r15, [rsp + 0x140]
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x728]
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x250]
mov rcx, rsi
mov qword [rsp + 0xb0], rdx
call fcn.14009c5b0
movups xmm0, xmmword [rsp + 0x6a0]
movups xmm1, xmmword [rsp + 0x6b0]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 8
mov qword [rsp + 0x98], 0
lea rbx, [rsp + 0x148]
lea r9, [rsp + 0x300]
lea r13, [r12 + 1]
lea r14, [0x140146aa0]
movabs rbp, 0x8080808080808080
mov qword [rsp + 0xc8], r13