Function at 0x14000d3c9
Capabilities:
Encrypt data using aes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov r13, qword [rcx]
test r13, r13
je 0x14000d451
mov rbp, qword [rcx + 8]
cmp rbp, 3
jbe 0x14000d99e
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov rcx, r13
call fcn.14000d319
cmp rbp, 7
jbe 0x14000d9ac
cmp rbp, 0xb
jbe 0x14000d9ba
mov r15d, eax
mov r12, rdi
xor r15d, dword [rdi]
lea rcx, [r13 + 4]
call fcn.14000d319
mov r14d, eax
xor r14d, dword [rdi + 4]
lea rcx, [r13 + 8]
call fcn.14000d319
cmp rbp, 0xf
jbe 0x14000d9c8
mov r12d, eax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
jmp 0x14000d4b8
mov rsi, qword [rcx + 0x10]
cmp rsi, 3
jbe 0x14000d9dc
mov r13, qword [rcx + 8]
mov rcx, r13
call fcn.14000d319
cmp rsi, 7
jbe 0x14000d9ea
cmp rsi, 0xb
jbe 0x14000d9f8
mov r15d, eax
mov rbx, rdi
xor r15d, dword [rdi]
lea rcx, [r13 + 4]
call fcn.14000d319
mov r14d, eax
xor r14d, dword [rdi + 4]
lea rcx, [r13 + 8]
call fcn.14000d319
cmp rsi, 0xf
jbe 0x14000da06
mov r12d, eax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r13
add r13, 0xc
xor r12d, dword [rdi + 8]
mov rcx, r13
call fcn.14000d319
xor eax, dword [rdi + 0xc]
mov cl, byte [rdi + 0xf0]
shr cl, 1
dec cl
mov byte [rsp + 0x37], cl
add rdi, 0x2c
mov qword [rsp + 0x38], rdi
mov edx, 0x3c
mov r8d, 0xff
mov qword [rsp + 0x50], rdx
cmp rdx, 4
jbe 0x14000d96f
mov r10d, eax
and r10d, r8d
mov r11d, r12d
shr r11d, 8
and r11d, r8d
lea rcx, [0x1400351a8]
mov r13d, dword [rcx + r11*4]
mov r11d, r14d
shr r11d, 0xe
mov edi, 0x3fc
and r11d, edi
mov esi, r15d
shr esi, 0x18
lea r9, [0x1400355a8]
xor r13d, dword [r9 + r10*4]
lea rbp, [0x140035da8]
xor r13d, dword [r11 + rbp]
lea rdx, [0x1400359a8]
xor r13d, dword [rdx + rsi*4]
mov r10d, r14d
shr r10d, 0x18
mov r11d, r12d
shr r11d, 0xe
and r11d, edi
mov ebx, dword [r11 + rbp]
xor ebx, dword [rdx + r10*4]
mov r10d, eax
shr r10d, 8
and r10d, r8d
xor ebx, dword [rcx + r10*4]
mov r10d, r15d
and r10d, r8d
xor ebx, dword [r9 + r10*4]
mov r10d, r12d
shr r10d, 0x18
mov r11d, eax
shr r11d, 0xe
and r11d, edi
mov esi, dword [r11 + rbp]
xor esi, dword [rdx + r10*4]
mov r10d, r15d
shr r10d, 8
and r10d, r8d
xor esi, dword [rcx + r10*4]
mov r10d, r14d
and r10d, r8d
xor esi, dword [r9 + r10*4]
shr eax, 0x18
shr r15d, 0xe
and r15d, edi
mov ebp, dword [r15 + rbp]
xor ebp, dword [rdx + rax*4]
shr r14d, 8
and r14d, r8d
xor ebp, dword [rcx + r14*4]
and r12d, r8d
xor ebp, dword [r9 + r12*4]
mov rax, qword [rsp + 0x38]
xor r13d, dword [rax - 0x1c]
xor ebx, dword [rax - 0x18]
xor esi, dword [rax - 0x14]
xor ebp, dword [rax - 0x10]
mov al, byte [rsp + 0x37]
sub al, 1
jb 0x14000d706
mov byte [rsp + 0x37], al
mov rcx, qword [rsp + 0x50]
cmp rcx, 8
je 0x14000d985
mov eax, ebx
shr eax, 0x18
mov r10d, esi
shr r10d, 0xe
mov edx, 0x3fc
and r10d, edx
mov r15d, 0x3fc
lea r11, [0x140035da8]
mov r14d, dword [r10 + r11]
lea rdx, [0x1400359a8]
xor r14d, dword [rdx + rax*4]
mov eax, ebp
shr eax, 8
and eax, r8d
lea rdi, [0x1400351a8]
xor r14d, dword [rdi + rax*4]
mov eax, r13d
and eax, r8d
lea r9, [0x1400355a8]
xor r14d, dword [r9 + rax*4]
mov eax, r13d
shr eax, 0x18
mov r10d, ebx
shr r10d, 0xe
and r10d, r15d
mov r12d, 0x3fc
mov r15d, dword [r10 + r11]
xor r15d, dword [rdx + rax*4]
mov eax, esi
shr eax, 8
and eax, r8d
xor r15d, dword [rdi + rax*4]
mov eax, ebp
and eax, r8d
xor r15d, dword [r9 + rax*4]
mov eax, esi
shr eax, 0x18
mov r10d, ebp
shr r10d, 0xe
and r10d, r12d
mov r12d, dword [r10 + r11]
xor r12d, dword [rdx + rax*4]
mov eax, r13d
shr eax, 8
and eax, r8d
xor r12d, dword [rdi + rax*4]
mov eax, ebx
and eax, r8d
xor r12d, dword [r9 + rax*4]
shr ebp, 0x18
shr r13d, 0xe
mov eax, 0x3fc
and r13d, eax
mov eax, dword [r13 + r11]
xor eax, dword [rdx + rbp*4]
shr ebx, 8
and ebx, r8d
xor eax, dword [rdi + rbx*4]
and esi, r8d
xor eax, dword [r9 + rsi*4]
mov rdx, qword [rsp + 0x38]
xor r14d, dword [rdx - 8]
xor r15d, dword [rdx - 0xc]
xor r12d, dword [rdx - 4]
xor eax, dword [rdx]
add rdx, 0x20
mov qword [rsp + 0x38], rdx
add rcx, 0xfffffffffffffff8
mov rdx, rcx
jmp 0x14000d4ed
cmp qword [rsp + 0x50], 8
je 0x14000d995
mov edx, 0xff
mov eax, ebp
and eax, edx
lea rcx, [0x140035da8]
movzx eax, byte [rcx + rax*4]
mov ecx, esi
shr ecx, 8
and ecx, edx
lea rdx, [0x1400359a8]
movzx ecx, byte [rdx + rcx*4 + 1]
shl ecx, 8
or ecx, eax
mov eax, ebx
shr eax, 0xe
mov edx, 0x3fc
and eax, edx
lea rdx, [0x1400355a8]
movzx eax, byte [rax + rdx + 2]
shl eax, 0x10
or eax, ecx
mov ecx, r13d
shr ecx, 0x18
lea rdx, [0x1400351a8]
movzx r14d, byte [rdx + rcx*4 + 3]
shl r14d, 0x18
or r14d, eax
mov rdi, qword [rsp + 0x38]
xor r14d, dword [rdi - 0xc]
lea rax, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov edx, 4
xor ecx, ecx
mov r15, qword [rsp + 0x40]
mov r8, r15
mov r12, qword [rsp + 0x48]
mov r9, r12
call fcn.14000da1b
mov rcx, rax
mov r8d, r14d
call 0x14000da50
mov eax, ebx
shr eax, 0x18
lea rcx, [0x1400351a8]
movzx eax, byte [rcx + rax*4 + 3]
shl eax, 0x18
mov ecx, esi
shr ecx, 0xe
mov edx, 0x3fc
and ecx, edx
lea rdx, [0x1400355a8]
movzx ecx, byte [rcx + rdx + 2]
shl ecx, 0x10
or ecx, eax
mov eax, ebp
shr eax, 8
mov edx, 0xff
and eax, edx
lea r8, [0x1400359a8]
movzx eax, byte [r8 + rax*4 + 1]
shl eax, 8
or eax, ecx
mov ecx, r13d
and ecx, edx
lea rdx, [0x140035da8]
movzx r14d, byte [rdx + rcx*4]
or r14d, eax
xor r14d, dword [rdi - 8]
lea rax, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 4
mov edx, 8
mov r8, r15
mov r9, r12
call fcn.14000da1b
mov rcx, rax
mov r8d, r14d
call 0x14000da50
mov eax, esi
shr eax, 0x18
lea rcx, [0x1400351a8]
movzx eax, byte [rcx + rax*4 + 3]
shl eax, 0x18
mov ecx, ebp
shr ecx, 0xe
mov edx, 0x3fc
and ecx, edx
lea rdx, [0x1400355a8]
movzx ecx, byte [rcx + rdx + 2]
shl ecx, 0x10
or ecx, eax
mov eax, r13d
shr eax, 8
mov edx, 0xff
and eax, edx
lea r8, [0x1400359a8]
movzx eax, byte [r8 + rax*4 + 1]
shl eax, 8
or eax, ecx
mov ecx, ebx
and ecx, edx
lea rdx, [0x140035da8]
movzx r14d, byte [rdx + rcx*4]
or r14d, eax
xor r14d, dword [rdi - 4]
lea rax, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 8
mov edx, 0xc
mov r8, r15
mov r9, r12
call fcn.14000da1b
mov rcx, rax
mov r8d, r14d
call 0x14000da50
shr ebp, 0x18
lea rax, [0x1400351a8]
movzx eax, byte [rax + rbp*4 + 3]
shl eax, 0x18
shr r13d, 0xe
mov ecx, 0x3fc
and r13d, ecx
lea rcx, [0x1400355a8]
movzx ecx, byte [r13 + rcx + 2]
shl ecx, 0x10
or ecx, eax
shr ebx, 8
mov edx, 0xff
and ebx, edx
lea rax, [0x1400359a8]
movzx eax, byte [rax + rbx*4 + 1]
shl eax, 8
or eax, ecx
and esi, edx
lea rcx, [0x140035da8]
movzx ebp, byte [rcx + rsi*4]
or ebp, eax
xor ebp, dword [rdi]
lea rax, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 0xc
mov edx, 0x10
mov r8, r15
mov r9, r12
call fcn.14000da1b
mov rcx, rax
mov r8d, ebp
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14000da50
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov edx, 4
call fcn.14002f0f0
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
xor ecx, ecx
xor edx, edx
call fcn.14002f0f0
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
jmp 0x14000d98c
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
jmp 0x14000d9d4
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 8
jmp 0x14000d9d4
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0xc
jmp 0x14000d9d4
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x10
mov rdx, rbp
call fcn.14002f160
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
jmp 0x14000da12
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 8
jmp 0x14000da12
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0xc
jmp 0x14000da12
lea r8, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x10
mov rdx, rsi
call fcn.14002f160
int3
sub rsp, 0x28
cmp rdx, 4
jne 0x14000da65
bswap r8d
mov dword [rcx], r8d
add rsp, 0x28
ret
mov rcx, rdx
call fcn.14002f690
int3