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

Disassembly:
push rbx
lea rax, str.cw
movdqu xmm3, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx]
pshufd xmm0, xmm3, 0x55
movd ecx, xmm0
movups xmmword [rdx], xmm2
movd edx, xmm0
shr edx, 0x18
movups xmmword [r8], xmm3
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm3, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov r10d, ecx
ror r8d, 8
movd xmm1, ecx
ror r10d, 8
xor r8d, 1
xor r10d, 1
movd xmm4, r8d
movd xmm5, r10d
punpckldq xmm0, xmm4
punpckldq xmm1, xmm5
movdqa xmm5, xmm2
pslldq xmm5, 4
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm5
pshufd xmm0, xmm0, 0xff
pslldq xmm1, 4
movdqa xmm4, xmm1
pxor xmm1, xmm5
pslldq xmm4, 4
pxor xmm0, xmm4
pxor xmm1, xmm0
pxor xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movups xmmword [r9], xmm1
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm1, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov rdx, qword [rsp + 0x30]
mov r10d, ecx
movd xmm2, ecx
ror r8d, 8
ror r10d, 8
movd xmm4, r8d
movd xmm5, r10d
punpckldq xmm0, xmm4
punpckldq xmm2, xmm5
movdqa xmm5, xmm3
pslldq xmm5, 4
punpcklqdq xmm0, xmm2
movdqa xmm4, xmm5
pshufd xmm0, xmm0, 0xaa
pslldq xmm4, 4
movdqa xmm2, xmm4
pxor xmm4, xmm5
pslldq xmm2, 4
pxor xmm2, xmm0
pxor xmm2, xmm4
pxor xmm2, xmm3
pshufd xmm0, xmm2, 0x55
movups xmmword [rdx], xmm2
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm2, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov r9d, ecx
ror r8d, 8
movd xmm3, ecx
ror r9d, 8
xor r8d, 2
xor r9d, 2
movd xmm4, r8d
movd xmm5, r9d
punpckldq xmm0, xmm4
punpckldq xmm3, xmm5
movdqa xmm5, xmm1
pslldq xmm5, 4
punpcklqdq xmm0, xmm3
movdqa xmm3, xmm5
pshufd xmm0, xmm0, 0xff
pslldq xmm3, 4
movdqa xmm4, xmm3
pxor xmm3, xmm5
pslldq xmm4, 4
pxor xmm0, xmm4
pxor xmm3, xmm0
pxor xmm3, xmm1
pshufd xmm0, xmm3, 0x55
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
pshufd xmm0, xmm3, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
shl ecx, 8
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov rdx, qword [rsp + 0x38]
mov r9d, ecx
ror r8d, 8
movd xmm1, ecx
ror r9d, 8
movd xmm4, r8d
movups xmmword [rdx], xmm3
mov rdx, qword [rsp + 0x40]
movd xmm5, r9d
punpckldq xmm0, xmm4
punpckldq xmm1, xmm5
movdqa xmm5, xmm2
pslldq xmm5, 4
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm5
pshufd xmm0, xmm0, 0xaa
pslldq xmm1, 4
movdqa xmm4, xmm1
pxor xmm1, xmm5
pslldq xmm4, 4
pxor xmm0, xmm4
pxor xmm1, xmm0
pxor xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movups xmmword [rdx], xmm1
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm1, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov r9d, ecx
ror r8d, 8
movd xmm2, ecx
ror r9d, 8
xor r8d, 4
xor r9d, 4
movd xmm4, r8d
movd xmm5, r9d
punpckldq xmm0, xmm4
punpckldq xmm2, xmm5
movdqa xmm5, xmm3
pslldq xmm5, 4
punpcklqdq xmm0, xmm2
movdqa xmm2, xmm5
pshufd xmm0, xmm0, 0xff
pslldq xmm2, 4
movdqa xmm4, xmm2
pxor xmm2, xmm5
pslldq xmm4, 4
pxor xmm0, xmm4
pxor xmm2, xmm0
pxor xmm2, xmm3
pshufd xmm0, xmm2, 0x55
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm2, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov rdx, qword [rsp + 0x48]
mov r9d, ecx
movd xmm3, ecx
ror r8d, 8
ror r9d, 8
movd xmm4, r8d
movups xmmword [rdx], xmm2
mov rdx, qword [rsp + 0x50]
movd xmm5, r9d
punpckldq xmm0, xmm4
punpckldq xmm3, xmm5
movdqa xmm5, xmm1
pslldq xmm5, 4
punpcklqdq xmm0, xmm3
movdqa xmm4, xmm5
pshufd xmm0, xmm0, 0xaa
pslldq xmm4, 4
movdqa xmm3, xmm4
pxor xmm4, xmm5
pslldq xmm3, 4
pxor xmm3, xmm0
pxor xmm3, xmm4
pxor xmm3, xmm1
pshufd xmm0, xmm3, 0x55
movups xmmword [rdx], xmm3
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm3, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
movd xmm0, edx
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax + rbx]
shl r8d, 8
or ecx, r8d
mov r8d, edx
mov r9d, ecx
ror r8d, 8
movd xmm1, ecx
ror r9d, 8
xor r8d, 8
xor r9d, 8
movd xmm4, r8d
movd xmm5, r9d
punpckldq xmm0, xmm4
punpckldq xmm1, xmm5
movdqa xmm5, xmm2
pslldq xmm5, 4
punpcklqdq xmm0, xmm1
movdqa xmm4, xmm5
pshufd xmm0, xmm0, 0xff
pslldq xmm4, 4
movdqa xmm1, xmm4
pxor xmm4, xmm5
pslldq xmm1, 4
pxor xmm1, xmm0
pxor xmm1, xmm4
pxor xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
movd ecx, xmm0
shr edx, 0x18
movzx r8d, cl
movzx ecx, ch
movzx edx, byte [rax + rdx]
movzx r8d, byte [rax + r8]
mov ecx, ecx
movzx ecx, byte [rax + rcx]
shl edx, 0x18
or edx, r8d
movd r8d, xmm0
shl ecx, 8
pshufd xmm0, xmm1, 0xff
shr r8d, 0x10
movd ebx, xmm0
movzx r8d, r8b
movzx r8d, byte [rax + r8]
shl r8d, 0x10
or edx, r8d
movzx r8d, bl
movzx ebx, bh
or edx, ecx
movd ecx, xmm0
movzx r8d, byte [rax + r8]
mov ebx, ebx
shr ecx, 0x18
movzx ecx, byte [rax + rcx]
shl ecx, 0x18
or ecx, r8d
movd r8d, xmm0
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [rax + r8]
movzx eax, byte [rax + rbx]
shl r8d, 0x10
shl eax, 8
or ecx, r8d
or eax, ecx
mov ecx, edx
mov r8d, eax
ror ecx, 8
movd xmm0, eax
mov rax, qword [rsp + 0x58]
ror r8d, 8
movd xmm5, ecx
movd xmm2, r8d
movups xmmword [rax], xmm1
mov rax, qword [rsp + 0x60]
punpckldq xmm0, xmm2
movd xmm2, edx
punpckldq xmm2, xmm5
movdqa xmm5, xmm3
pslldq xmm5, 4
punpcklqdq xmm2, xmm0
movdqa xmm0, xmm5
pshufd xmm2, xmm2, 0xaa
pslldq xmm0, 4
movdqa xmm4, xmm0
pxor xmm0, xmm5
pslldq xmm4, 4
movdqa xmm1, xmm4
pxor xmm1, xmm2
pxor xmm0, xmm1
pxor xmm0, xmm3
movups xmmword [rax], xmm0
pop rbx
ret