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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r14, qword [rsp + 0x128]
test r14b, 0xf
je 0x140006a4f
mov qword [rcx], 1
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
mov rax, rcx
jmp 0x1400070ec
mov r12, r9
mov r13, r8
mov rbx, rdx
mov qword [rsp + 0x70], rcx
mov r15, qword [rsp + 0x120]
xor ebp, ebp
mov rcx, r14
xor edx, edx
call fcn.1400068f3
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x58]
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r14
shr r14, 4
mov eax, dword [rbx + 0xf4]
mov dword [rsp + 0x54], eax
mov eax, dword [rbx + 0xf8]
mov dword [rsp + 0x50], eax
mov eax, dword [rbx + 0xfc]
mov dword [rsp + 0x4c], eax
mov eax, dword [rbx + 0x100]
mov dword [rsp + 0x48], eax
mov al, byte [rbx + 0x1e4]
shr al, 1
dec al
mov byte [rsp + 0x2f], al
lea rax, [rbx + 0x120]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rbx
sub r14, 1
jb 0x1400070a2
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r12
lea r8, [rbp + 0x10]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xa0], rbp
mov rdx, rbp
mov qword [rsp + 0x90], r8
lea r9, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
call fcn.14000694b
mov rsi, rax
mov rdi, rdx
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov r9d, 4
mov rcx, rsi
xor r8d, r8d
call fcn.140006890
mov rcx, rax
call fcn.140007164
mov ebp, eax
xor ebp, dword [rsp + 0x54]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov r8d, 4
mov r9d, 8
mov rcx, rsi
mov rdx, rdi
call fcn.140006890
mov rcx, rax
call fcn.140007164
mov ebx, eax
xor ebx, dword [rsp + 0x50]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov r8d, 8
mov r9d, 0xc
mov rcx, rsi
mov rdx, rdi
call fcn.140006890
mov rcx, rax
call fcn.140007164
mov r15d, eax
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov r8d, 0xc
mov r9d, 0x10
mov qword [rsp + 0x40], rsi
mov rcx, rsi
mov qword [rsp + 0x38], rdi
mov rdx, rdi
call fcn.140006890
mov rcx, rax
call fcn.140007164
mov r11d, 0xff
xor r15d, dword [rsp + 0x4c]
xor eax, dword [rsp + 0x48]
mov ecx, 0x3c
mov r14, qword [rsp + 0x80]
mov dl, byte [rsp + 0x2f]
mov byte [rsp + 0x2e], dl
cmp rcx, 4
jbe 0x140007100
mov qword [rsp + 0x30], rcx
mov r8d, ebp
shr r8d, 0x18
mov r9d, eax
shr r9d, 0x10
and r9d, r11d
lea r13, [0x1400303c8]
mov esi, dword [r13 + r9*4]
lea r10, [0x14002ffb0]
xor esi, dword [r10 + r8*4]
mov r8d, r15d
shr r8d, 8
and r8d, r11d
lea rcx, [0x1400307c8]
xor esi, dword [rcx + r8*4]
mov r8d, ebx
and r8d, r11d
lea rdx, [0x140030bc8]
xor esi, dword [rdx + r8*4]
xor esi, dword [r14 - 0x1c]
mov r8d, ebx
shr r8d, 0x18
mov r9d, ebp
shr r9d, 0x10
and r9d, r11d
mov r12d, dword [r13 + r9*4]
xor r12d, dword [r10 + r8*4]
mov r8d, eax
shr r8d, 8
and r8d, r11d
xor r12d, dword [rcx + r8*4]
mov r8d, r15d
and r8d, r11d
xor r12d, dword [rdx + r8*4]
xor r12d, dword [r14 - 0x18]
mov r8d, r15d
shr r8d, 0x18
mov r9d, ebx
shr r9d, 0x10
and r9d, r11d
mov edi, dword [r13 + r9*4]
xor edi, dword [r10 + r8*4]
mov r8d, ebp
shr r8d, 8
and r8d, r11d
xor edi, dword [rcx + r8*4]
mov r8d, eax
and r8d, r11d
xor edi, dword [rdx + r8*4]
xor edi, dword [r14 - 0x14]
shr eax, 0x18
shr r15d, 0x10
and r15d, r11d
mov r13d, dword [r13 + r15*4]
xor r13d, dword [r10 + rax*4]
shr ebx, 8
and ebx, r11d
xor r13d, dword [rcx + rbx*4]
and ebp, r11d
xor r13d, dword [rdx + rbp*4]
xor r13d, dword [r14 - 0x10]
mov al, byte [rsp + 0x2e]
sub al, 1
jb 0x140006e1d
cmp qword [rsp + 0x30], 8
je 0x140007113
mov byte [rsp + 0x2e], al
mov eax, r12d
and eax, r11d
mov r8d, edi
shr r8d, 8
and r8d, r11d
mov r10, r14
lea r14, [0x1400307c8]
mov ebp, dword [r14 + r8*4]
mov r8d, r13d
shr r8d, 0x10
and r8d, r11d
mov r9d, esi
shr r9d, 0x18
lea rdx, [0x140030bc8]
xor ebp, dword [rdx + rax*4]
mov r15, rdx
lea rcx, [0x1400303c8]
xor ebp, dword [rcx + r8*4]
lea rdx, [0x14002ffb0]
xor ebp, dword [rdx + r9*4]
xor ebp, dword [r10 - 0xc]
mov eax, r12d
shr eax, 0x18
mov r8d, esi
shr r8d, 0x10
and r8d, r11d
mov ebx, dword [rcx + r8*4]
xor ebx, dword [rdx + rax*4]
mov eax, r13d
shr eax, 8
and eax, r11d
xor ebx, dword [r14 + rax*4]
mov eax, edi
and eax, r11d
mov r9, r15
xor ebx, dword [r15 + rax*4]
xor ebx, dword [r10 - 8]
mov eax, edi
shr eax, 0x18
mov r8d, r12d
shr r8d, 0x10
and r8d, r11d
mov r15d, dword [rcx + r8*4]
xor r15d, dword [rdx + rax*4]
mov eax, esi
shr eax, 8
and eax, r11d
xor r15d, dword [r14 + rax*4]
mov eax, r13d
and eax, r11d
xor r15d, dword [r9 + rax*4]
xor r15d, dword [r10 - 4]
shr r13d, 0x18
shr edi, 0x10
and edi, r11d
mov eax, dword [rcx + rdi*4]
mov rcx, qword [rsp + 0x30]
xor eax, dword [rdx + r13*4]
shr r12d, 8
and r12d, r11d
xor eax, dword [r14 + r12*4]
mov r14, r10
and esi, r11d
xor eax, dword [r9 + rsi*4]
xor eax, dword [r10]
add r14, 0x20
add rcx, 0xfffffffffffffff8
jmp 0x140006c16
cmp qword [rsp + 0x30], 8
je 0x140007125
mov ebp, r12d
mov rax, rbp
mov edx, 0xff
and rax, rdx
mov r8, r14
mov qword [rsp + 0x88], r14
lea r14, [0x140031100]
movzx eax, byte [rax + r14]
shl eax, 0x18
mov ecx, edi
shr ecx, 8
and rcx, rdx
movzx ecx, byte [rcx + r14]
shl ecx, 0x10
or ecx, eax
mov eax, r13d
shr eax, 0x10
and rax, rdx
movzx eax, byte [rax + r14]
shl eax, 8
or eax, ecx
mov ecx, esi
mov qword [rsp + 0x30], rcx
shr rcx, 0x18
movzx ebx, byte [rcx + r14]
or ebx, eax
bswap ebx
xor ebx, dword [r8 - 0xc]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov edx, 4
xor ecx, ecx
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
call fcn.1400038f8
mov rcx, rax
mov r8d, ebx
call fcn.1400071f2
mov r15d, edi
mov rax, r15
mov edx, 0xff
and rax, rdx
movzx eax, byte [rax + r14]
shl eax, 0x18
mov ecx, r13d
shr ecx, 8
and rcx, rdx
movzx ecx, byte [rcx + r14]
shl ecx, 0x10
or ecx, eax
mov eax, esi
shr eax, 0x10
and rax, rdx
movzx eax, byte [rax + r14]
shl eax, 8
or eax, ecx
shr rbp, 0x18
movzx ebx, byte [rbp + r14]
or ebx, eax
bswap ebx
mov rbp, qword [rsp + 0x88]
xor ebx, dword [rbp - 8]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 4
mov edx, 8
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
call fcn.1400038f8
mov rcx, rax
mov r8d, ebx
call fcn.1400071f2
mov r13d, r13d
mov rax, r13
mov ecx, 0xff
and rax, rcx
movzx eax, byte [rax + r14]
shl eax, 0x18
shr esi, 8
and rsi, rcx
mov edx, 0xff
movzx ecx, byte [rsi + r14]
shl ecx, 0x10
or ecx, eax
mov eax, r12d
shr eax, 0x10
and rax, rdx
movzx eax, byte [rax + r14]
shl eax, 8
or eax, ecx
shr r15, 0x18
movzx ebx, byte [r15 + r14]
or ebx, eax
bswap ebx
xor ebx, dword [rbp - 4]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 8
mov edx, 0xc
mov rsi, qword [rsp + 0x40]
mov r8, rsi
mov r15, qword [rsp + 0x38]
mov r9, r15
call fcn.1400038f8
mov rcx, rax
mov r8d, ebx
call fcn.1400071f2
mov ecx, 0xff
mov rax, qword [rsp + 0x30]
and rax, rcx
movzx eax, byte [rax + r14]
shl eax, 0x18
shr r12d, 8
and r12, rcx
mov edx, 0xff
movzx ecx, byte [r12 + r14]
shl ecx, 0x10
or ecx, eax
shr edi, 0x10
and rdi, rdx
movzx eax, byte [rdi + r14]
shl eax, 8
or eax, ecx
shr r13, 0x18
movzx ebx, byte [r13 + r14]
or ebx, eax
bswap ebx
xor ebx, dword [rbp]
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov ecx, 0xc
mov edx, 0x10
mov r8, rsi
mov r9, r15
call fcn.1400038f8
mov rcx, rax
mov r8d, ebx
call fcn.1400071f2
mov rcx, rsi
mov rdx, r15
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0xb0]
call fcn.14000712e
lea rax, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x90]
mov r9, rbp
call fcn.140006890
mov r13, rax
mov r12, rdx
mov rbx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x98]
jmp 0x140006ae3
cmp byte [rbx + 0x1e8], 0
je 0x1400070d6
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x1400070d6
mov rcx, qword [rsp + 0x58]
movzx edx, byte [rax + rcx - 1]
xor ecx, ecx
mov r8, rax
sub r8, rdx
cmovae rcx, r8
cmp rax, rcx
jb 0x1400070d6
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rax], xmm0
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov edx, 4
jmp 0x14000711e
lea r8, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
xor ecx, ecx
xor edx, edx
call fcn.140029ce0
ud2
lea r8, str.C:Users16632.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
jmp 0x14000711a