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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x1400f8cf3
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdi
mov rdx, rbx
shr rdx, 2
mov qword [rsp + 0x28], rdx
xor r8d, r8d
jmp 0x1400f8a38
mov rdi, qword [rsp + 0x58]
mov dword [rdi + rdx*4], eax
lea r8, [rdx + 1]
mov rbx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
mov rcx, r11
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
cmp r8, rdx
jge 0x1400f8aa1
mov r11, r8
shl r8, 2
cmp rbx, r8
jb 0x1400f8ce7
mov qword [rsp + 0x20], r11
mov rdx, rcx
sub rdx, r8
mov rsi, rbx
sub rsi, r8
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and r8, rdx
lea rdx, [rax + r8]
mov rax, rdx
mov rbx, rsi
mov rcx, rdi
call fcn.1400a4fc0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x20]
cmp rcx, rdx
ja 0x1400f8a06
jmp 0x1400f8cdf
mov dword [rdi + r8*4], ebx
inc r8
mov rdx, r11
cmp rsi, r8
jle 0x1400f8bae
lea rax, [r8 - 1]
cmp rsi, rax
jbe 0x1400f8cd7
mov ebx, dword [rdi + r8*4 - 4]
nop dword [rax]
test rdx, rdx
je 0x1400f8cd2
mov qword [rsp + 0x18], r8
mov rax, r8
mov r11, rdx
cmp r11, 0xffffffffffffffff
jne 0x1400f8ae2
neg rax
xor edx, edx
nop
jmp 0x1400f8ae7
cqo
idiv r11
test rdx, rdx
je 0x1400f8b33
cmp r11, 6
jle 0x1400f8b87
nop word [rax + rax]
nop
cmp rdx, 4
jne 0x1400f8b87
mov eax, ebx
call fcn.1400f8960
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x28]
mov ebx, eax
jmp 0x1400f8b87
mov qword [rsp + 0x20], rax
mov eax, ebx
call fcn.1400f89a0
nop
call fcn.1400f8960
mov rcx, qword [rsp + 0x20]
lea rdx, [rcx - 1]
cmp rdx, 0x10
jae 0x1400f8cc5
lea rdx, [0x14022e530]
movzx ebx, byte [rcx + rdx - 1]
shl ebx, 0x18
xor ebx, eax
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x28]
mov rax, r8
sub rax, r11
cmp rsi, rax
jbe 0x1400f8cb9
xor ebx, dword [rdi + rax*4]
nop dword [rax]
cmp rsi, r8
ja 0x1400f8a97
jmp 0x1400f8cae
test r9, r9
je 0x1400f8bb7
xor eax, eax
jmp 0x1400f8bc4
add rsp, 0x30
pop rbp
ret
add rax, 4
mov rsi, rcx
cmp rsi, rax
jle 0x1400f8bd3
mov rcx, rsi
sub rsi, rax
xor edx, edx
jmp 0x1400f8be0
add rsp, 0x30
pop rbp
ret
mov dword [r9 + r8*4], ebx
inc rdx
cmp rdx, 4
jge 0x1400f8bbd
lea rbx, [rdx + rsi]
lea rbx, [rbx - 4]
cmp rcx, rbx
jbe 0x1400f8ca6
mov ebx, dword [rdi + rbx*4]
test rax, rax
jle 0x1400f8c72
lea r8, [rax + 4]
cmp rcx, r8
jle 0x1400f8c72
mov r8d, ebx
shr ebx, 0x18
lea r11, str.cw
movzx r12d, byte [r11 + rbx]
lea r13, [0x1402322c0]
mov ebx, dword [r13 + r12*4]
mov r12d, r8d
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [r8 + r11]
lea r15, [0x1402326c0]
xor ebx, dword [r15 + r8*4]
mov r8d, r12d
shr r12d, 8
movzx r12d, r12b
movzx r12d, byte [r12 + r11]
lea r15, [0x140232ac0]
xor ebx, dword [r15 + r12*4]
movzx r8d, r8b
movzx r8d, byte [r8 + r11]
lea r12, [0x140232ec0]
xor ebx, dword [r12 + r8*4]
jmp 0x1400f8c8e
lea r11, str.cw
lea r12, [0x140232ec0]
lea r13, [0x1402322c0]
lea r15, [0x140232ac0]
lea r8, [rdx + rax]
cmp r10, r8
ja 0x1400f8bd9
mov rax, r8
mov rcx, r10
call fcn.1400742e0
mov rax, rbx
call fcn.1400742e0
mov rax, r8
mov rcx, rsi
call fcn.1400742e0
mov rcx, rsi
nop dword [rax]
call fcn.1400742e0
mov rax, rdx
mov ecx, 0x10
call fcn.1400742e0
call fcn.1400401a0
mov rcx, rsi
call fcn.1400742e0
mov rax, rdx
call fcn.1400742e0
mov rax, r8
mov rcx, rbx
call fcn.1400743a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
call fcn.140071fe0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.1400f89c0