Function at 0x1400059a0
Capabilities:
Encode data using xor
Encrypt data using aes
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov word [rsp + 0x2e], r8w
movzx r8d, r8w
cmp r8d, 0x80
je 0x1400059dd
cmp r8d, 0xc0
je 0x1400059e1
cmp r8d, 0x100
jne 0x140006074
mov al, 0xe
jmp 0x1400059e3
mov al, 0xa
jmp 0x1400059e3
mov al, 0xc
mov byte [r9 + 0xf0], al
mov eax, dword [rcx]
bswap eax
mov dword [r9], eax
mov edi, dword [rcx + 4]
bswap edi
mov dword [r9 + 4], edi
mov esi, dword [rcx + 8]
bswap esi
mov dword [r9 + 8], esi
mov r14d, dword [rcx + 0xc]
bswap r14d
mov dword [r9 + 0xc], r14d
cmp r8d, 0x80
jne 0x140005aba
xor ecx, ecx
lea r8, [0x1401396a8]
lea r10, [0x140139aa8]
lea r11, [0x140139ea8]
lea rdi, [0x14013a2a8]
lea rsi, [0x14013a6a8]
mov ebx, dword [r9 + rcx*4 + 0xc]
mov rdx, rbx
shr rdx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r8 + 3]
shl edx, 0x18
movzx ebp, bh
movzx ebp, byte [r10 + rbp*4 + 2]
shl ebp, 0x10
xor ebp, eax
xor ebp, edx
movzx eax, bl
movzx edx, byte [r11 + rax*4 + 1]
shl edx, 8
mov rax, rbx
shr rax, 0x18
movzx eax, byte [rdi + rax*4]
xor eax, edx
xor eax, ebp
xor eax, dword [rcx + rsi]
mov dword [r9 + rcx*4 + 0x10], eax
mov edx, dword [r9 + rcx*4 + 4]
xor edx, eax
mov dword [r9 + rcx*4 + 0x14], edx
xor edx, dword [r9 + rcx*4 + 8]
mov dword [r9 + rcx*4 + 0x18], edx
xor edx, ebx
mov dword [r9 + rcx*4 + 0x1c], edx
add rcx, 4
cmp rcx, 0x28
jne 0x140005a40
jmp 0x14000603d
cmp rdx, 0x13
jbe 0x14000604e
mov r10d, dword [rcx + 0x10]
bswap r10d
mov dword [r9 + 0x10], r10d
cmp rdx, 0x17
jbe 0x140006061
mov r12d, dword [rcx + 0x14]
bswap r12d
mov dword [r9 + 0x14], r12d
cmp r8d, 0xc0
jne 0x140005f09
mov ecx, r12d
mov rdx, rcx
shr rdx, 0xe
and edx, 0x3fc
lea r15, [0x1401396a8]
movzx r13d, byte [rdx + r15 + 3]
shl r13d, 0x18
movzx ebp, ch
lea r8, [0x140139aa8]
movzx ebp, byte [r8 + rbp*4 + 2]
shl ebp, 0x10
movzx edx, cl
lea r11, [0x140139ea8]
movzx edx, byte [r11 + rdx*4 + 1]
shl edx, 8
xor edx, ebp
shr rcx, 0x18
lea rbx, [0x14013a2a8]
movzx ecx, byte [rbx + rcx*4]
xor ecx, edx
xor eax, r13d
xor eax, ecx
mov ecx, eax
xor ecx, 0x1000000
mov dword [r9 + 0x18], ecx
xor ecx, edi
mov dword [r9 + 0x1c], ecx
mov r13d, ecx
xor r13d, esi
mov dword [r9 + 0x20], r13d
xor r13d, r14d
mov dword [r9 + 0x24], r13d
mov edi, r13d
xor edi, r10d
mov dword [r9 + 0x28], edi
xor edi, r12d
mov dword [r9 + 0x2c], edi
mov rdx, rdi
mov rbx, rdi
shr rdx, 0xe
and edx, 0x3fc
movzx r12d, byte [rdx + r15 + 3]
shl r12d, 0x18
movzx edi, bh
movzx edi, byte [r8 + rdi*4 + 2]
shl edi, 0x10
movzx ebp, bl
mov r8, rbx
movzx ebp, byte [r11 + rbp*4 + 1]
shl ebp, 8
shr rbx, 0x18
lea r14, [0x14013a2a8]
movzx ebx, byte [r14 + rbx*4]
xor ebx, ebp
xor edi, eax
xor edi, r12d
xor edi, ebx
mov r12d, edi
xor r12d, 0x3000000
mov dword [r9 + 0x30], r12d
xor ecx, r12d
mov dword [r9 + 0x34], ecx
xor r12d, esi
mov dword [r9 + 0x38], r12d
mov edx, r12d
xor edx, r13d
mov dword [r9 + 0x3c], edx
mov esi, r12d
xor esi, r10d
mov dword [r9 + 0x40], esi
mov edx, esi
xor edx, r8d
mov qword [rsp + 0x30], r8
mov dword [r9 + 0x44], edx
mov rbx, rdx
movzx ebp, dl
movzx ebp, byte [r11 + rbp*4 + 1]
shl ebp, 8
movzx eax, dh
mov r15, rax
shr rdx, 0x18
movzx edx, byte [r14 + rdx*4]
xor edx, ebp
shr rbx, 0xe
and ebx, 0x3fc
lea r14, [0x1401396a8]
movzx ebx, byte [rbx + r14 + 3]
shl ebx, 0x18
lea rax, [0x140139aa8]
movzx ebp, byte [rax + r15*4 + 2]
shl ebp, 0x10
xor ebp, edi
xor ebp, ebx
xor ebp, edx
mov edi, ebp
xor edi, 0x7000000
mov dword [r9 + 0x48], edi
xor edi, ecx
mov dword [r9 + 0x4c], edi
mov ecx, edi
xor ecx, r12d
mov dword [r9 + 0x50], ecx
xor r13d, edi
mov dword [r9 + 0x54], r13d
xor esi, r13d
mov dword [r9 + 0x58], esi
mov ecx, r13d
xor ecx, r8d
mov dword [r9 + 0x5c], ecx
mov rdx, rcx
shr rdx, 0xe
and edx, 0x3fc
movzx esi, byte [rdx + r14 + 3]
shl esi, 0x18
movzx edx, cl
movzx edx, byte [r11 + rdx*4 + 1]
shl edx, 8
mov rbx, rcx
shr rbx, 0x18
lea r8, [0x14013a2a8]
movzx ebx, byte [r8 + rbx*4]
xor ebx, edx
movzx edx, ch
movzx edx, byte [rax + rdx*4 + 2]
shl edx, 0x10
xor edx, ebp
xor edx, esi
xor edx, ebx
mov esi, edx
xor esi, 0xf000000
mov dword [r9 + 0x60], esi
xor edi, esi
mov dword [r9 + 0x64], edi
xor r12d, esi
mov dword [r9 + 0x68], r12d
mov ebx, r12d
xor ebx, r13d
mov dword [r9 + 0x6c], ebx
xor esi, r10d
mov dword [r9 + 0x70], esi
xor ecx, esi
mov dword [r9 + 0x74], ecx
mov rbx, rcx
shr rbx, 0xe
and ebx, 0x3fc
movzx ebx, byte [rbx + r14 + 3]
shl ebx, 0x18
movzx ebp, ch
mov r15, rax
movzx ebp, byte [rax + rbp*4 + 2]
shl ebp, 0x10
movzx eax, cl
movzx eax, byte [r11 + rax*4 + 1]
shl eax, 8
shr rcx, 0x18
movzx ecx, byte [r8 + rcx*4]
xor ecx, eax
xor ebp, edx
xor ebp, ebx
xor ebp, ecx
mov ecx, ebp
xor ecx, 0x1f000000
mov dword [r9 + 0x78], ecx
xor ecx, edi
mov dword [r9 + 0x7c], ecx
mov eax, ecx
xor eax, r12d
mov dword [r9 + 0x80], eax
xor r13d, ecx
mov dword [r9 + 0x84], r13d
mov eax, r13d
xor eax, esi
mov dword [r9 + 0x88], eax
mov rdx, qword [rsp + 0x30]
xor edx, ecx
mov dword [r9 + 0x8c], edx
mov rax, rdx
mov rbx, rdx
shr rax, 0xe
and eax, 0x3fc
movzx eax, byte [rax + r14 + 3]
shl eax, 0x18
movzx edx, bh
movzx edi, byte [r15 + rdx*4 + 2]
shl edi, 0x10
movzx edx, bl
mov r10, rbx
movzx edx, byte [r11 + rdx*4 + 1]
shl edx, 8
shr rbx, 0x18
movzx ebx, byte [r8 + rbx*4]
xor ebx, edx
xor edi, ebp
xor edi, eax
xor edi, ebx
mov ebp, edi
xor ebp, 0x3f000000
mov dword [r9 + 0x90], ebp
xor ecx, ebp
mov dword [r9 + 0x94], ecx
xor ebp, r12d
mov dword [r9 + 0x98], ebp
mov eax, ebp
xor eax, r13d
mov dword [r9 + 0x9c], eax
xor esi, ebp
mov dword [r9 + 0xa0], esi
mov eax, esi
xor eax, r10d
mov dword [r9 + 0xa4], eax
mov rbx, rax
movzx edx, ah
mov r12, rdx
movzx edx, al
movzx edx, byte [r11 + rdx*4 + 1]
shl edx, 8
shr rax, 0x18
movzx eax, byte [r8 + rax*4]
xor eax, edx
movzx edx, byte [r15 + r12*4 + 2]
shl edx, 0x10
xor edx, edi
shr rbx, 0xe
and ebx, 0x3fc
movzx edi, byte [rbx + r14 + 3]
shl edi, 0x18
xor edx, edi
xor edx, eax
mov eax, edx
xor eax, 0x7f000000
mov dword [r9 + 0xa8], eax
xor eax, ecx
mov dword [r9 + 0xac], eax
mov ecx, eax
xor ecx, ebp
mov dword [r9 + 0xb0], ecx
xor r13d, eax
mov dword [r9 + 0xb4], r13d
xor esi, r13d
mov dword [r9 + 0xb8], esi
mov rbx, r10
xor ebx, r13d
mov rcx, rbx
shr rcx, 0xe
and ecx, 0x3fc
movzx r14d, byte [rcx + r14 + 3]
movzx ecx, bh
movzx ecx, byte [r15 + rcx*4 + 2]
movzx edi, bl
movzx edi, byte [r11 + rdi*4 + 1]
mov dword [r9 + 0xbc], ebx
shr rbx, 0x18
movzx esi, byte [r8 + rbx*4]
shl edi, 8
xor esi, edi
shl ecx, 0x10
xor ecx, edx
shl r14d, 0x18
xor ecx, r14d
xor ecx, esi
xor ecx, 0xff000000
mov dword [r9 + 0xc0], ecx
xor eax, ecx
mov dword [r9 + 0xc4], eax
xor ecx, ebp
mov dword [r9 + 0xc8], ecx
xor ecx, r13d
mov dword [r9 + 0xcc], ecx
jmp 0x14000603d
cmp rdx, 0x1b
jbe 0x1400060ce
mov ebp, dword [rcx + 0x18]
bswap ebp
mov dword [r9 + 0x18], ebp
cmp rdx, 0x1f
jbe 0x1400060e1
mov r13d, dword [rcx + 0x1c]
bswap r13d
mov dword [r9 + 0x1c], r13d
cmp r8d, 0x100
jne 0x14000603d
xor edx, edx
lea r8, [0x1401396a8]
lea r10, [0x140139aa8]
lea r11, [0x140139ea8]
lea r15, [0x14013a2a8]
nop dword [rax]
mov ebx, r13d
mov rcx, rbx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r8 + 3]
shl ecx, 0x18
movzx ebp, bh
movzx ebp, byte [r10 + rbp*4 + 2]
shl ebp, 0x10
xor ebp, eax
xor ebp, ecx
movzx eax, bl
movzx ecx, byte [r11 + rax*4 + 1]
shl ecx, 8
shr rbx, 0x18
movzx eax, byte [r15 + rbx*4]
xor eax, ecx
xor eax, ebp
lea rcx, [0x14013a6a8]
xor eax, dword [rdx + rcx]
mov dword [r9 + rdx*8 + 0x20], eax
xor edi, eax
mov dword [r9 + rdx*8 + 0x24], edi
xor esi, edi
mov dword [r9 + rdx*8 + 0x28], esi
xor r14d, esi
mov dword [r9 + rdx*8 + 0x2c], r14d
cmp rdx, 0x18
je 0x14000603d
mov ecx, r14d
mov rbx, rcx
movzx ebp, ch
movzx r12d, cl
shr rcx, 0x18
movzx ecx, byte [r8 + rcx*4 + 3]
shl ecx, 0x18
xor ecx, dword [r9 + rdx*8 + 0x10]
shr rbx, 0xe
and ebx, 0x3fc
movzx ebx, byte [rbx + r10 + 2]
shl ebx, 0x10
movzx ebp, byte [r11 + rbp*4 + 1]
shl ebp, 8
xor ebp, ebx
movzx ebx, byte [r15 + r12*4]
xor ebx, ebp
xor ebx, ecx
mov dword [r9 + rdx*8 + 0x30], ebx
xor ebx, dword [r9 + rdx*8 + 0x14]
mov dword [r9 + rdx*8 + 0x34], ebx
xor ebx, dword [r9 + rdx*8 + 0x18]
mov dword [r9 + rdx*8 + 0x38], ebx
xor r13d, ebx
mov dword [r9 + rdx*8 + 0x3c], r13d
add rdx, 4
jmp 0x140005f60
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_kali_.cargo_registry_src_github.com_1ecc6299db9ec823_libaes_0.6.5_src_lib.rs
mov ecx, 0x14
call dbg.slice_end_index_len_fail
ud2
lea r8, str._home_kali_.cargo_registry_src_github.com_1ecc6299db9ec823_libaes_0.6.5_src_lib.rs
mov ecx, 0x18
call dbg.slice_end_index_len_fail
ud2
lea rax, [rsp + 0x2e]
mov qword [rsp + 0x38], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u16_::fmt::h814b320166581bf6]
mov qword [rsp + 0x40], rax
lea rax, str.wrong_value_for_bits
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
lea rdx, str._home_kali_.cargo_registry_src_github.com_1ecc6299db9ec823_libaes_0.6.5_src_lib.rs
lea rcx, [rsp + 0x48]
call dbg.panic_fmt
ud2
lea r8, str._home_kali_.cargo_registry_src_github.com_1ecc6299db9ec823_libaes_0.6.5_src_lib.rs
mov ecx, 0x1c
call dbg.slice_end_index_len_fail
ud2
lea r8, str._home_kali_.cargo_registry_src_github.com_1ecc6299db9ec823_libaes_0.6.5_src_lib.rs
mov ecx, 0x20
call dbg.slice_end_index_len_fail
ud2