Function at 0x140005620
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
cmp rdx, 0x18
ja 0x140005602
mov r8, rdx
mov eax, 0x18
sub rax, rdx
shl rax, 3
cmp rax, 0xc0
je 0x1400055ee
mov rsi, rcx
mov rax, qword [rcx]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x60], rax
mov r11, qword [rcx + 0x50]
mov r10, qword [rcx + 0x78]
mov rdi, qword [rcx + 0xa0]
mov r14, qword [rcx + 0x30]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0xa8]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xb0], rax
mov r13, qword [rcx + 0x38]
mov rbp, qword [rcx + 0x60]
mov rax, qword [rcx + 0x88]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0xb0]
mov qword [rsp + 0x80], rax
mov rdx, r8
shl rdx, 3
neg rdx
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0xa8], rcx
mov r12, qword [rsi + 0x40]
mov r8, qword [rsi + 0x68]
mov qword [rsp + 0x30], r8
mov rcx, qword [rsi + 0x90]
mov qword [rsp + 0x28], rcx
mov r8, qword [rsi + 0xb8]
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x88], rcx
mov r15, qword [rsi + 0x48]
mov qword [rsp + 0x50], r15
mov rax, qword [rsi + 0x70]
mov r15, qword [rsi + 0x98]
mov qword [rsp + 0xc8], rsi
mov rcx, qword [rsi + 0xc0]
mov qword [rsp + 0x40], rcx
nop word cs:[rax + rax]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x100], rdx
mov rdx, r10
mov qword [rsp + 0xb8], rdi
xor rdx, rdi
mov r9, r11
xor r9, qword [rsp + 0x60]
xor r9, rdx
mov rdx, qword [rsp + 0x68]
xor rdx, qword [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x98], r15
mov r15, qword [rsp + 0x48]
xor r15, r14
xor r15, rdx
mov rsi, qword [rsp + 0x58]
xor rsi, qword [rsp + 0x80]
mov rdx, rbp
xor rdx, r13
xor rdx, rsi
mov r13, qword [rsp + 0x28]
xor r13, r8
mov rbx, r10
mov r10, qword [rsp + 0x30]
xor r10, r12
xor r10, r13
mov r13, rcx
xor r13, qword [rsp + 0x40]
mov rdi, r11
mov r11, rax
xor r11, qword [rsp + 0x50]
xor r11, r13
mov rcx, qword [rsp + 0x38]
xor r9, rcx
xor r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0xa8]
xor r10, r13
xor r11, qword [rsp + 0x88]
mov rsi, r10
rol rsi, 1
xor rsi, r15
rol r15, 1
xor r15, r11
xor rcx, r15
mov qword [rsp + 0xc0], rcx
xor qword [rsp + 0x60], r15
xor rdi, r15
mov qword [rsp + 0xa0], rdi
xor rbx, r15
xor r15, qword [rsp + 0xb8]
mov qword [rsp + 0xf8], r15
mov r15, qword [rsp + 0xb0]
xor rdx, r15
rol r11, 1
xor r11, rdx
rol rdx, 1
mov rdi, r9
xor rdx, r9
mov rcx, qword [rsp + 0x90]
xor rcx, rdx
xor r14, rdx
xor qword [rsp + 0x48], rdx
xor qword [rsp + 0x68], rdx
xor rdx, qword [rsp + 0x78]
xor r15, rsi
xor qword [rsp + 0x70], rsi
xor rbp, rsi
xor qword [rsp + 0x58], rsi
xor rsi, qword [rsp + 0x80]
mov qword [rsp + 0xe8], rsi
xor r13, r11
xor r12, r11
xor qword [rsp + 0x30], r11
mov rsi, rax
mov rax, qword [rsp + 0x28]
xor rax, r11
xor r11, r8
mov qword [rsp + 0xf0], r11
rol rdi, 1
xor rdi, r10
mov r10, qword [rsp + 0x88]
xor r10, rdi
xor qword [rsp + 0x50], rdi
xor rsi, rdi
xor qword [rsp + 0x98], rdi
xor rdi, qword [rsp + 0x40]
rol rax, 0x15
mov r8, rax
rol rdi, 0xe
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r10
rol rbp, 0x2b
rol r14, 0x2c
mov rax, r14
not rax
and rax, rbp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r8
mov rax, r8
not rax
and rax, rdi
xor rax, rbp
mov qword [rsp + 0xb0], rax
not rbp
and rbp, r8
xor rbp, r14
mov qword [rsp + 0x90], rbp
mov r9, qword [rsp + 0xc0]
not r9
and r9, r14
mov rax, qword [rsp + 0xa0]
rol rax, 3
mov r10, r12
rol r10, 0x37
rol rdx, 2
mov r12, rsi
rol rbx, 0x29
rol r15, 0x3e
rol r12, 0x27
mov rcx, r10
not rcx
and rcx, r12
xor rcx, r15
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xd0], rbx
mov rcx, rbx
not rcx
mov qword [rsp + 0xa0], rdx
and rcx, rdx
xor rcx, r12
mov qword [rsp + 0x80], rcx
not r12
and r12, rbx
xor r12, r10
mov qword [rsp + 0x78], r12
not rdx
and rdx, r15
not r15
and r15, r10
mov qword [rsp + 0x40], r15
mov rsi, r13
rol rsi, 0x1c
mov r11, qword [rsp + 0x68]
rol r11, 0x2d
mov r12, qword [rsp + 0xe8]
rol r12, 0x3d
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x50]
rol r13, 0x14
mov rcx, r13
not rcx
mov r10, rax
and rcx, rax
xor rcx, rsi
mov qword [rsp + 0x60], rcx
mov r14, rax
mov rbp, rax
not r14
and r14, r11
xor r14, r13
mov r10, r12
mov r8, r12
not r8
and r8, rsi
not rsi
and r13, rsi
mov rax, r13
mov rcx, rdi
not rcx
and rcx, qword [rsp + 0xc0]
xor rcx, qword [rsp + 0x28]
mov qword [rsp + 0xa8], rcx
xor r9, rdi
mov qword [rsp + 0x88], r9
mov rsi, qword [rsp + 0x70]
mov r13, r11
not r13
and r13, r10
xor r13, rbp
xor r8, r11
xor rax, r10
mov qword [rsp + 0x50], rax
mov rdi, qword [rsp + 0xd8]
rol rdi, 1
rol rsi, 6
mov r11, qword [rsp + 0x48]
rol r11, 0xa
mov r15, qword [rsp + 0x58]
rol r15, 0xf
rol rbx, 0x24
mov r10, qword [rsp + 0xe0]
rol r10, 0x1b
mov r9, qword [rsp + 0xf0]
rol r9, 0x38
rol qword [rsp + 0x98], 8
rol qword [rsp + 0x30], 0x19
xor rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x70], rdx
mov rax, qword [rsp + 0xf8]
rol rax, 0x12
mov rdx, rbx
not rdx
and rdx, r11
mov r12, r11
not r12
and r12, r15
mov rcx, r9
not rcx
and rcx, r10
xor rcx, r15
mov qword [rsp + 0x28], rcx
not r15
and r15, r9
xor r15, r11
mov qword [rsp + 0x58], r15
mov r11, rsi
not r11
mov rcx, qword [rsp + 0x30]
and r11, rcx
mov r15, qword [rsp + 0x98]
mov rbp, r15
not rbp
and rbp, rax
xor rbp, rcx
not rcx
and rcx, r15
mov r15, rax
not r15
and r15, rdi
xor r15, qword [rsp + 0x98]
mov qword [rsp + 0x30], r15
mov r15, rdi
mov rdi, qword [rsp + 0xb8]
xor r11, r15
xor rcx, rsi
mov qword [rsp + 0x48], rcx
not r15
and r15, rsi
mov rcx, r15
xor rcx, rax
mov rax, rcx
mov r15, r10
mov r10, rdx
xor r10, r15
xor r12, rbx
mov qword [rsp + 0x68], r12
mov r12, r8
mov r8, qword [rsp + 0x70]
not r15
and r15, rbx
mov rdx, qword [rsp + 0x100]
xor r15, r9
mov rcx, qword [rsp + 0xa0]
xor qword [rsp + 0x40], rcx
lea rcx, [0x140030bc0]
mov r9, qword [rsp + 0x38]
xor r9, qword [rdx + rcx + 0xc0]
xor r9, qword [rsp + 0xc0]
mov qword [rsp + 0x38], r9
add rdx, 8
jne 0x1400050a0
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x60]
mov qword [rdx + 0x28], rsi
mov qword [rdx + 0x50], r11
mov qword [rdx + 0x78], r10
mov qword [rdx + 0xa0], rdi
mov rcx, qword [rsp + 0x90]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x30], r14
mov r11, qword [rsp + 0x48]
mov qword [rdx + 0x58], r11
mov rcx, qword [rsp + 0x68]
mov qword [rdx + 0x80], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rdx + 0xa8], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x38], r13
mov qword [rdx + 0x60], rbp
mov rcx, qword [rsp + 0x58]
mov qword [rdx + 0x88], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rdx + 0xb0], rcx
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rdx + 0x18], rax
mov qword [rdx + 0x40], r12
mov rax, qword [rsp + 0x30]
mov qword [rdx + 0x68], rax
mov rax, qword [rsp + 0x28]
mov qword [rdx + 0x90], rax
mov qword [rdx + 0xb8], r8
mov rax, qword [rsp + 0x88]
mov qword [rdx + 0x20], rax
mov rax, qword [rsp + 0x50]
mov qword [rdx + 0x48], rax
mov qword [rdx + 0x70], rcx
mov qword [rdx + 0x98], r15
mov rax, qword [rsp + 0x40]
mov qword [rdx + 0xc0], rax
mov rax, qword [rsp + 0x38]
mov qword [rdx], rax
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140030cd8]
lea r8, str.C:UsersPC.cargo_registry_srcindex.crates.io_6f17d22bba15001fkeccak_0.1.4_srclib.rsA_round_count_greater_than_KECCAK_F_ROUND_COUNT_is_not_supported_
mov edx, 0x41
call fcn.14002efe0
ud2
jmp 0x140004f70