Function at 0x140004780
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r9
call fcn.140004030
movzx ecx, byte [rsi + 0xf0]
test rcx, rcx
je 0x1400049a1
shl ecx, 2
xor edx, edx
nop dword [rax]
cmp rcx, 0x3b
ja 0x1400049ae
mov eax, dword [rsi + rdx*4]
mov r8d, dword [rsi + rcx*4]
mov dword [rsi + rdx*4], r8d
mov dword [rsi + rcx*4], eax
lea rax, [rcx + 1]
cmp rax, 0x3c
jae 0x1400049bf
mov eax, dword [rsi + rdx*4 + 4]
mov r8d, dword [rsi + rcx*4 + 4]
mov dword [rsi + rdx*4 + 4], r8d
mov dword [rsi + rcx*4 + 4], eax
lea rax, [rcx + 2]
cmp rax, 0x3c
jae 0x1400049d5
mov eax, dword [rsi + rdx*4 + 8]
mov r8d, dword [rsi + rcx*4 + 8]
mov dword [rsi + rdx*4 + 8], r8d
mov dword [rsi + rcx*4 + 8], eax
lea rax, [rcx + 3]
cmp rax, 0x3c
jae 0x1400049e9
mov eax, dword [rsi + rdx*4 + 0xc]
mov r8d, dword [rsi + rcx*4 + 0xc]
mov dword [rsi + rdx*4 + 0xc], r8d
mov dword [rsi + rcx*4 + 0xc], eax
add rdx, 4
add rcx, 0xfffffffffffffffc
cmp rdx, rcx
jb 0x1400047b0
movzx eax, byte [rsi + 0xf0]
cmp al, 2
jb 0x1400049a1
dec al
mov ecx, 7
lea rdx, [0x14038cbd8]
lea r8, [0x14038d0a0]
lea r9, [0x14038d4b8]
lea r10, [0x14038d8b8]
lea r11, [0x14038dcb8]
nop word cs:[rax + rax]
cmp rcx, 0x3f
je 0x1400049fd
mov ebx, dword [rsi + rcx*4 - 0xc]
mov edi, ebx
mov r14d, ebx
shr r14d, 0x18
movzx r14d, byte [rdx + r14*4]
shr edi, 0xe
and edi, 0x3fc
movzx edi, byte [rdi + rdx]
mov edi, dword [r9 + rdi*4]
xor edi, dword [r8 + r14*4]
movzx ebp, bh
movzx r14d, byte [rdx + rbp*4]
xor edi, dword [r10 + r14*4]
movzx ebx, bl
movzx ebx, byte [rdx + rbx*4]
xor edi, dword [r11 + rbx*4]
mov ebx, dword [rsi + rcx*4 - 8]
mov r14d, ebx
movzx ebp, bh
mov r15d, ebx
shr r15d, 0x18
movzx r15d, byte [rdx + r15*4]
shr r14d, 0xe
and r14d, 0x3fc
movzx r14d, byte [r14 + rdx]
mov r14d, dword [r9 + r14*4]
xor r14d, dword [r8 + r15*4]
movzx ebx, bl
movzx r15d, byte [rdx + rbp*4]
xor r14d, dword [r10 + r15*4]
mov dword [rsi + rcx*4 - 0xc], edi
movzx edi, byte [rdx + rbx*4]
xor r14d, dword [r11 + rdi*4]
mov dword [rsi + rcx*4 - 8], r14d
mov ebx, dword [rsi + rcx*4 - 4]
mov edi, ebx
mov r14d, ebx
shr r14d, 0x18
movzx r14d, byte [rdx + r14*4]
shr edi, 0xe
and edi, 0x3fc
movzx edi, byte [rdi + rdx]
mov edi, dword [r9 + rdi*4]
xor edi, dword [r8 + r14*4]
movzx ebp, bh
movzx r14d, byte [rdx + rbp*4]
xor edi, dword [r10 + r14*4]
movzx ebx, bl
movzx ebx, byte [rdx + rbx*4]
xor edi, dword [r11 + rbx*4]
mov dword [rsi + rcx*4 - 4], edi
mov ebx, dword [rsi + rcx*4]
mov edi, ebx
mov r14d, ebx
shr r14d, 0x18
movzx r14d, byte [rdx + r14*4]
shr edi, 0xe
and edi, 0x3fc
movzx edi, byte [rdi + rdx]
mov edi, dword [r9 + rdi*4]
xor edi, dword [r8 + r14*4]
movzx ebp, bh
movzx r14d, byte [rdx + rbp*4]
xor edi, dword [r10 + r14*4]
movzx ebx, bl
movzx ebx, byte [rdx + rbx*4]
xor edi, dword [r11 + rbx*4]
mov dword [rsi + rcx*4], edi
add rcx, 4
dec al
jne 0x140004880
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, str.C:Users_rdp.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.6.5_srclib.rs
mov edx, 0x3c
call fcn.14001eee0
lea r8, str.C:Users_rdp.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.6.5_srclib.rs
mov ecx, 0x3c
mov edx, 0x3c
call fcn.14001eee0
lea r8, str.C:Users_rdp.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.6.5_srclib.rs
mov edx, 0x3c
mov rcx, rax
call fcn.14001eee0
lea r8, str.C:Users_rdp.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.6.5_srclib.rs
mov edx, 0x3c
mov rcx, rax
call fcn.14001eee0
lea r8, str.C:Users_rdp.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.6.5_srclib.rs
xor ecx, ecx
xor edx, edx
call fcn.14001eee0
int3