Function at 0x140091af3
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
mov rbx, r9
mov r15, r8
mov r13, rdx
mov rsi, rcx
movabs rcx, 0x8000000000000000
mov bpl, byte [rdx + 0x118]
mov rax, qword [r9]
xor rax, rcx
cmp rax, 3
ja 0x140091b45
cmp rax, 1
jne 0x140091b5c
lea rdi, [rbx + 0x18]
mov rax, qword [rbx + 0x18]
xor rax, rcx
cmp rax, 0x14
ja 0x140091bc3
cmp rax, 1
je 0x140091bc3
lea rax, [0x140100fd9]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
lea r8, [0x140100b82]
lea r14, [rsp + 0x100]
mov r9d, 1
mov rcx, r14
mov rdx, rbx
call fcn.14008bfef
mov al, byte [r14]
mov ecx, dword [r14 + 1]
mov dword [rsp + 0x90], ecx
mov ecx, dword [r14 + 4]
mov dword [rsp + 0x93], ecx
mov rdi, qword [r14 + 8]
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0xb0], xmm0
cmp al, 0x14
jne 0x140091c62
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
add rcx, rcx
xor edx, edx
cmp rcx, rdx
je 0x140091c96
cmp byte [rax + rdx], 0
lea rdx, [rdx + 2]
jne 0x140091bd0
mov byte [rsp + 0x3f], bpl
mov qword [rsp + 0x50], r15
call case.0x140019605.1101
movups xmm6, xmmword [0x14010d670]
lea r14, [rsp + 0x100]
movaps xmmword [r14 + 0x10], xmm6
movups xmm7, xmmword [0x14010d660]
movaps xmmword [r14], xmm7
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rdx
mov r12, qword [rdi + 0x38]
imul r15, qword [rdi + 0x40], 0x38
test r15, r15
je 0x140091cae
mov rcx, r12
call case.0x140063ce4.91
mov ecx, eax
call case.0x1400735cd.406
mov ebp, eax
mov rcx, r14
mov edx, eax
call fcn.140075c14
test al, al
jne 0x140091e41
add r12, 0x38
mov rcx, r14
mov edx, ebp
call fcn.14007608c
add r15, 0xffffffffffffffc8
jmp 0x140091c22
mov ecx, dword [rsp + 0x90]
mov edx, dword [rsp + 0x93]
mov dword [rsp + 0x74], edx
mov dword [rsp + 0x71], ecx
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], al
mov qword [rsp + 0x78], rdi
jmp 0x14009254c
mov rdx, qword [r15]
lea rcx, [rsp + 0x70]
mov r8b, 0xd
mov r9b, 8
call fcn.140084235
jmp 0x14009254c
lea r12, [rsp + 0x100]
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
call fcn.1400758d2
mov r15, qword [rsp + 0x50]
mov r14, qword [r15]
mov rcx, r12
mov rdx, r14
call fcn.14008c29a
mov al, byte [r12]
cmp al, 0x14
jne 0x140091e73
mov qword [rsp + 0x48], r14
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
call fcn.14007ce2e
test rax, rax
je 0x140091e99
mov rbp, rax
mov qword [rsp + 0x60], r13
mov r14, rdx
call case.0x140019605.1101
lea rcx, [rsp + 0x120]
movaps xmmword [rcx - 0x20], xmm7
movaps xmmword [rcx - 0x10], xmm6
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov qword [rsp + 0x58], r14
imul r15, r14, 0x28
mov r13, rbp
test r15, r15
je 0x140091ed9
cmp byte [r13 + 0x20], 0
movzx r8d, byte [r13 + 0x21]
mov eax, 0
cmove r8d, eax
mov byte [rsp + 0x3e], r8b
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
call fcn.140073a7d
mov r14, rax
lea rax, [rsp + 0x3e]
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x110], 0
je 0x140091e2c
lea rax, [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r12
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
lea rax, [0x140075fa7]
mov qword [rsp + 0x20], rax
mov r8, r14
lea r9, [rsp + 0xb0]
call fcn.140028b3b
mov rcx, qword [rsp + 0x100]
test rax, rax
je 0x140091fb6
add r13, 0x28
mov al, byte [rsp + 0x3e]
movzx r8d, byte [rcx + rdx]
and r8d, 1
sub qword [rsp + 0x110], r8
shr r14, 0x39
lea r8, [rdx - 0x10]
and r8, qword [rsp + 0x108]
mov byte [rcx + rdx], r14b
mov byte [rcx + r8 + 0x10], r14b
inc qword [rsp + 0x118]
mov rcx, qword [rsp + 0x100]
not rdx
mov byte [rdx + rcx], al
add r15, 0xffffffffffffffd8
jmp 0x140091d31
mov rcx, r12
lea rdx, [rsp + 0x120]
call fcn.1400eb531
jmp 0x140091d86
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
call fcn.1400758d2
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
lea rcx, [rsp + 0x70]
mov r8b, 0x10
mov r9b, 3
call fcn.140084307
jmp 0x14009254c
movups xmm0, xmmword [rsp + 0x101]
movups xmm1, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x80], xmm1
movups xmmword [rsp + 0x71], xmm0
mov byte [rsp + 0x70], al
jmp 0x14009254c
movabs r14, 0x8000000000000000
mov qword [rsp + 0xd0], r14
mov rbp, qword [rsp + 0x48]
mov rcx, qword [r15 + 8]
add rcx, 0x48
lea rdx, [rsp + 0xd0]
call fcn.140095c11
test al, al
jne 0x140092416
mov word [rsp + 0x70], 0x3708
jmp 0x14009253c
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
call case.0x140018cf4.1138
add rbp, 0xffffffffffffffd8
imul rax, qword [rsp + 0x58], 0x28
mov r13, qword [rsp + 0x60]
movabs r12, 0x8000000000000000
test rax, rax
je 0x140091fe2
lea rcx, [rbp + 0x28]
add rax, 0xffffffffffffffd8
cmp qword [rbp + 0x28], 0
mov rbp, rcx
jne 0x140091f07
mov rbp, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
lea r14, [rsp + 0x100]
mov rcx, r14
mov qword [rsp + 0x40], rdx
call fcn.140074928
mov rax, qword [r14 + 8]
add rax, qword [r14 + 0x10]
xor r11d, r11d
movabs rcx, 0x8080808080808080
mov rdx, rbp
lea r8, [r11 + 0x10]
cmp r8, qword [rsp + 0x40]
ja 0x140091ff7
xor r10d, r10d
xor r9d, r9d
cmp r10, 2
je 0x140091f7b
or r9, qword [rdx + r10*8]
inc r10
jmp 0x140091f6c
test r9, rcx
jne 0x140091ff7
xor r9d, r9d
cmp r9, 0x10
je 0x140091fa9
mov r10b, byte [rdx + r9]
lea r11d, [r10 - 0x41]
cmp r11b, 0x1a
setb r11b
shl r11b, 5
or r11b, r10b
mov byte [rax + r9], r11b
inc r9
jmp 0x140091f83
add rdx, 0x10
add rax, 0x10
mov r11, r8
jmp 0x140091f57
mov rdx, qword [rsp + 0x108]
call case.0x140018cf4.1138
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x48]
mov r8b, 0x10
mov r9b, 8
call fcn.140084307
mov r13, qword [rsp + 0x60]
jmp 0x14009254c
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x48]
mov r8b, 0xd
mov r9b, 0x38
jmp 0x140091e69
movups xmm0, xmmword [rsp + 0x100]
lea rax, [rsp + 0x90]
movaps xmmword [rax], xmm0
lea r14, [r11 + rbp]
mov qword [rsp + 0xf8], r11
mov qword [rax + 0x10], r11
mov rax, qword [rsp + 0x40]
lea r15, [rbp + rax]
lea rax, [rsp + 0xb0]
mov qword [rax], r14
mov qword [rax + 8], r15
and qword [rax + 0x10], 0
mov qword [rsp + 0xf0], r15
lea rcx, [rsp + 0xb0]
call fcn.14002617d
cmp eax, 0x110000
je 0x140092374
mov r12, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
add r15, r12
mov qword [rsp + 0x58], rcx
add r14, rcx
sub r15, r14
mov qword [rsp + 0xa8], rdx
add r15, rdx
mov qword [rsp + 0xc0], r15
cmp eax, 0x3a3
jne 0x1400920c2
add r12, qword [rsp + 0xf8]
je 0x140092159
cmp r12, qword [rsp + 0x40]
jae 0x140092153
cmp byte [rbp + r12], 0xbf
jg 0x140092159
jmp 0x1400925ba
cmp eax, 0x80
jae 0x140092106
lea ecx, [rax - 0x41]
xor edx, edx
cmp cl, 0x1a
setb dl
shl edx, 5
or edx, eax
mov eax, edx
movabs r12, 0x8000000000000000
lea rcx, [rsp + 0x90]
mov edx, eax
call fcn.14004202a
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x58]
jmp 0x140092040
mov ecx, 0x57f
xor edx, edx
mov r8d, 0x57f
movabs r12, 0x8000000000000000
lea r11, [0x1400f7184]
cmp rdx, rcx
jae 0x1400920e5
shr r8, 1
add r8, rdx
mov r9d, dword [r11 + r8*8]
cmp r9d, eax
je 0x140092238
lea r10, [r8 + 1]
cmp r9d, eax
cmova rcx, r8
cmovb rdx, r10
mov r8, rcx
sub r8, rdx
jmp 0x140092124
jne 0x1400925ba
lea r15, [r12 + rbp]
xor eax, eax
mov r13d, 0x3c3
cmp r15, rbp
je 0x140092343
movzx r14d, byte [r15 - 1]
test r14b, r14b
js 0x14009217d
dec r15
jmp 0x1400921d9
movzx ecx, byte [r15 - 2]
cmp cl, 0xc0
jge 0x1400921aa
movzx edx, byte [r15 - 3]
cmp dl, 0xc0
jge 0x1400921b3
movzx r8d, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x1400921ba
add r15, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x1400921c2
add r15, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
cmp r14d, 0x110000
je 0x140092343
test al, al
jne 0x1400921f3
mov ecx, r14d
call case.0x14001a7c3.303
test al, al
je 0x1400921f3
mov r14d, 0x110000
xor eax, eax
jmp 0x1400921f5
mov al, 1
cmp r14d, 0x110000
je 0x14009215f
mov ecx, r14d
call case.0x14001dca5.228
test al, al
je 0x140092343
add r12, 2
je 0x1400922e0
cmp r12, qword [rsp + 0x40]
jae 0x1400922da
cmp byte [rbp + r12], 0xbf
jg 0x1400922e0
jmp 0x1400925d9
mov eax, dword [r11 + r8*8 + 4]
mov ecx, eax
xor ecx, 0xd800
add ecx, 0xffef0000
cmp ecx, 0xffef0800
mov ecx, 0x110000
cmovb eax, ecx
lea rcx, [0x1400f9d7c]
cmp eax, 0x110000
je 0x140092278
and qword [rsp + 0x104], 0
lea rcx, [rsp + 0x100]
mov dword [rsp + 0x100], eax
mov eax, dword [rcx]
mov r14, qword [rcx + 4]
test r14d, r14d
je 0x1400920e5
mov r12, r14
shr r12, 0x20
lea r15, [rsp + 0x90]
mov rcx, r15
mov edx, eax
call fcn.14004202a
mov rcx, r15
mov edx, r14d
call fcn.14004202a
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x58]
mov eax, r12d
test r12, r12
movabs r12, 0x8000000000000000
jne 0x1400920e5
jmp 0x140092040
jne 0x1400925d9
add r12, rbp
mov qword [rsp + 0x100], r12
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x108], rax
mov byte [rsp + 0x110], 0
lea r15, [rsp + 0x100]
mov rcx, r15
call fcn.14002617d
cmp eax, 0x110000
je 0x14009233d
mov r14d, eax
mov ecx, eax
call case.0x14001a7c3.303
test al, al
jne 0x14009230b
mov ecx, r14d
call case.0x14001dca5.228
movzx r13d, al
or r13d, 0x3c2
jmp 0x140092343
mov r13d, 0x3c2
lea rcx, [rsp + 0x90]
mov edx, r13d
call fcn.14004202a
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
movabs r12, 0x8000000000000000
jmp 0x140092040
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe0], rax
mov r14, qword [rsp + 0xd0]
cmp r14, r12
je 0x1400925b0
cmp byte [rsp + 0x3f], 0
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
jne 0x140091eb0
mov rax, r12
mov r12, qword [r15 + 8]
cmp qword [r12 + 0x48], rax
jne 0x1400925f8
lea r13, [r12 + 0x48]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea r15, [rsp + 0x100]
mov rcx, r15
call fcn.1400427b9
mov rcx, qword [r12 + 0x48]
mov rdx, qword [r12 + 0x50]
call fcn.140006dc3
mov rax, qword [r15 + 0x10]
mov qword [r13 + 0x10], rax
movups xmm0, xmmword [r15]
movups xmmword [r13], xmm0
mov r13, qword [rsp + 0x60]
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
mov r8w, 0xd
call fcn.14007cdee
test rax, rax
je 0x14009243c
cmp dword [rax], 2
jne 0x14009243c
mov rdx, qword [rax + 0x10]
add rax, 0x18
jmp 0x14009246c
lea r15, [rsp + 0x100]
mov rcx, r15
mov rdx, rbp
mov r8b, 6
mov r9b, 0xc
call fcn.140084235
mov al, byte [r15]
cmp al, 0x14
jne 0x140092505
lea rax, [rsp + 0x110]
mov rdx, qword [rax - 8]
mov r8, qword [rax]
lea r15, [rsp + 0x78]
mov rcx, r15
call fcn.1400721b1
mov qword [r15 - 8], rdi
mov rdx, qword [rsp + 0xd8]
mov rcx, r14
call fcn.140006dc3
mov r14, qword [r15 - 8]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x230], rax
movups xmm0, xmmword [r15]
lea r15, [rsp + 0x240]
movaps xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
lea r12, [rsp + 0x100]
mov r8d, 0x120
mov rcx, r12
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x50]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov rdx, r12
mov r8, r15
mov r9, r14
call fcn.140092611
mov rcx, rbx
call fcn.140082d0c
mov rcx, r13
call fcn.14009b50b
jmp 0x140092589
mov ecx, dword [rsp + 0x101]
mov edx, dword [rsp + 0x104]
mov dword [rsp + 0x74], edx
mov dword [rsp + 0x71], ecx
movups xmm0, xmmword [rsp + 0x108]
mov rcx, qword [rsp + 0x118]
mov byte [rsp + 0x70], al
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rcx
mov rdx, qword [rsp + 0xd8]
mov rcx, r14
call fcn.140006dc3
mov rax, qword [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x220], xmm0
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x230], rcx
mov qword [rsi + 0x18], rcx
movups xmmword [rsi + 8], xmm0
mov qword [rsi], rax
mov rcx, rbx
call fcn.140082d0c
mov rcx, r13
call fcn.140095b66
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r15, qword [rsp + 0x50]
jmp 0x140091eab
lea rax, [0x1400f4450]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov r9, r12
call fcn.1400ea9ac
lea rax, [0x1400f4468]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, qword [rsp + 0x40]
mov r8, r12
mov r9, rdx
call fcn.1400ea9ac
lea rcx, [0x14010257b]
lea r8, str.C:UsersViolet.cargo_registry_src_rsproxy.cn_0dccff568467c15b_rustls_0.21.12_src_serverhs.rsno_server_certificate_chain_resolvedassertion_failed:_cx.data.sni.is_none__
mov edx, 0x27
call fcn.1400ea651
int3