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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x88], rsi
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
xor edx, edx
xor r10d, r10d
jmp 0x554832
mov dword [rsp + r8*4 + 0x38], r11d
mov r13d, dword [rax + r8*4 + 0x21c]
xor r11d, r13d
mov dword [rsp + r8*4 + 0x38], r11d
inc edx
add r10d, 4
mov r8, r12
mov r11d, dword [rax + 4]
cmp edx, r11d
jge 0x55487c
movsxd r11, r10d
nop
cmp r8, r11
jb 0x554ccc
mov r12, r8
sub r8, r11
mov r13, r11
sub r11, r9
sar r11, 0x3f
and r11, r13
nop dword [rax]
cmp r8, 3
jbe 0x554cbf
movsxd r8, edx
mov r11d, dword [rsi + r11]
cmp r8, 8
jb 0x554814
jmp 0x554cb2
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rbx
mov edx, 1
lea rsi, [rsp + 0x38]
lea r8, [rsp + 0x18]
jmp 0x5548aa
inc edx
mov r9, rsi
mov rsi, r8
mov r8, r9
cmp dword [rax + 8], edx
jle 0x5548be
mov dword [rsp + 0x14], edx
xor r9d, r9d
xor r10d, r10d
jmp 0x554b4a
xor edx, edx
xor r9d, r9d
jmp 0x5548e4
mov dword [r8 + rdi*4], ebx
inc edx
add r9d, 3
inc r11d
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
cmp dword [rax + 4], edx
jle 0x5549e5
movsxd r10, r9d
cmp r10, 0x18
jae 0x554b19
movzx r10d, byte [r10 + rax + 0x24]
cmp r10, 8
jae 0x554b0c
mov r10d, dword [rsi + r10*4]
shr r10d, 8
movzx r10d, r10b
lea r12d, [r9 + 1]
movsxd r12, r12d
lea r13, [0x006e0200]
movzx r10d, byte [r10 + r13]
cmp r12, 0x18
jae 0x554aff
movzx r12d, byte [r12 + rax + 0x24]
nop dword [rax]
cmp r12, 8
jae 0x554af2
mov r12d, dword [rsi + r12*4]
shr r12d, 0x10
movzx r12d, r12b
lea r15d, [r9 + 2]
movsxd r15, r15d
movzx r12d, byte [r12 + r13]
cmp r15, 0x18
jae 0x554ae5
movzx r15d, byte [r15 + rax + 0x24]
cmp r15, 8
jae 0x554ad4
movsxd rbx, r11d
mov r15d, dword [rsi + r15*4]
shr r15d, 0x18
movzx r15d, r15b
movzx r15d, byte [r15 + r13]
cmp rbx, 0x78
jae 0x554ac7
movsxd rdi, edx
mov ebx, dword [rax + rbx*4 + 0x21c]
cmp rdi, 8
jae 0x554aba
lea rcx, [rsi + rdi*4]
movzx ecx, byte [rcx]
movzx ecx, byte [r13 + rcx]
xor ebx, ecx
rol r10d, 8
xor ebx, r10d
rol r12d, 0x10
xor ebx, r12d
rol r15d, 0x18
xor ebx, r15d
cmp rdi, 8
jb 0x5548c5
nop dword [rax]
jmp 0x554aad
xor edx, edx
xor esi, esi
jmp 0x5549f9
shr r10d, 0x18
mov byte [rbx + r9 + 3], r10b
inc edx
add esi, 4
cmp dword [rax + 4], edx
jle 0x554a5f
movsxd r9, esi
cmp rcx, r9
jb 0x554aa5
movsxd r10, edx
mov r11, r9
sub r9, rdi
sar r9, 0x3f
mov r12, rcx
sub r12, r11
and r9, r11
cmp r10, 8
jae 0x554a96
mov r10d, dword [r8 + r10*4]
test r12, r12
jbe 0x554a8c
mov byte [rbx + r9], r10b
cmp r12, 1
jbe 0x554a7f
mov r11d, r10d
shr r10d, 8
mov byte [rbx + r9 + 1], r10b
cmp r12, 2
jbe 0x554a72
mov r10d, r11d
shr r11d, 0x10
mov byte [rbx + r9 + 2], r11b
cmp r12, 3
ja 0x5549eb
jmp 0x554a65
add rsp, 0x58
pop rbp
ret
mov eax, 3
mov rcx, rax
call sym.runtime.panicIndex
mov eax, 2
mov rcx, rax
call sym.runtime.panicIndex
mov eax, 1
mov rcx, rax
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
call sym.runtime.panicIndex
mov rax, r10
mov ecx, 8
nop
call sym.runtime.panicIndex
mov rax, r9
call sym.runtime.panicSliceB
mov rax, rdi
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rdi
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 0x78
call sym.runtime.panicIndex
mov rax, r15
mov ecx, 8
nop dword [rax]
call sym.runtime.panicIndex
mov rax, r15
mov ecx, 0x18
call sym.runtime.panicIndex
mov rax, r12
mov ecx, 8
call sym.runtime.panicIndex
mov rax, r12
mov ecx, 0x18
call sym.runtime.panicIndex
mov rax, r10
mov ecx, 8
call sym.runtime.panicIndex
mov rax, r10
mov ecx, 0x18
call sym.runtime.panicIndex
mov dword [r8 + rcx*4], edi
inc r9d
add r10d, 3
inc r11d
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x14]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
cmp dword [rax + 4], r9d
jle 0x55489f
movsxd r12, r10d
nop word [rax + rax]
cmp r12, 0x18
jae 0x554ca5
movzx r12d, byte [r12 + rax + 0x24]
cmp r12, 8
jae 0x554c93
mov r12d, dword [rsi + r12*4]
shr r12d, 8
movzx r12d, r12b
lea r13d, [r10 + 1]
movsxd r13, r13d
lea r15, [0x006ea020]
mov r12d, dword [r15 + r12*4]
nop dword [rax + rax]
cmp r13, 0x18
jae 0x554c86
movzx r13d, byte [r13 + rax + 0x24]
cmp r13, 8
jae 0x554c79
mov r13d, dword [rsi + r13*4]
shr r13d, 0x10
movzx r13d, r13b
lea ebx, [r10 + 2]
movsxd rbx, ebx
mov r13d, dword [r15 + r13*4]
cmp rbx, 0x18
jae 0x554c6c
movzx ebx, byte [rbx + rax + 0x24]
cmp rbx, 8
jae 0x554c5f
movsxd rdi, r11d
mov ebx, dword [rsi + rbx*4]
shr ebx, 0x18
movzx ebx, bl
mov ebx, dword [r15 + rbx*4]
cmp rdi, 0x78
jae 0x554c52
movsxd rcx, r9d
mov edi, dword [rax + rdi*4 + 0x21c]
cmp rcx, 8
jae 0x554c45
lea rdx, [rsi + rcx*4]
movzx edx, byte [rdx]
xor edi, dword [r15 + rdx*4]
rol r12d, 8
xor edi, r12d
rol r13d, 0x10
xor edi, r13d
rol ebx, 0x18
xor edi, ebx
cmp rcx, 8
jb 0x554b26
mov rax, rcx
mov ecx, 8
nop dword [rax]
call sym.runtime.panicIndex
mov rax, rcx
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rdi
mov ecx, 0x78
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 0x18
call sym.runtime.panicIndex
mov rax, r13
mov ecx, 8
call sym.runtime.panicIndex
mov rax, r13
mov ecx, 0x18
call sym.runtime.panicIndex
mov rax, r12
mov ecx, 8
nop dword [rax + rax]
call sym.runtime.panicIndex
mov rax, r12
mov ecx, 0x18
call sym.runtime.panicIndex
mov rax, r8
mov ecx, 8
call sym.runtime.panicIndex
mov eax, 3
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r11
mov rcx, r8
call sym.runtime.panicSliceB
nop
int3