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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
push rax
mov qword [rsp], rcx
mov rax, qword [rsp]
movzx edx, byte [rax]
sar edx, 4
movsxd rax, edx
shl rax, 4
lea rcx, [0x6f146140]
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax]
mov r9d, 0xffffffff
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xaab49feb
mov r11d, r9d
xor r11d, 0xaab49feb
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0xaab49feb
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0x342d2cb4
mov esi, r9d
xor esi, 0x342d2cb4
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0x342d2cb4
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor r11d, 0xffffffff
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0x7dc201c6
or r11d, edx
or r10d, 0x7dc201c6
xor r11d, 0xffffffff
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 1]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 1]
mov r10d, edx
xor r10d, 0xffffffff
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and edx, r11d
or r10d, edx
mov edx, r9d
xor edx, 0xf
and edx, 0x7fc504c0
mov r11d, r9d
xor r11d, 0x7fc504c0
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x7fc504c0
and r11d, 0xffffffff
or edx, esi
or edi, r11d
xor edx, edi
mov r11d, r9d
xor r11d, 0x9b4c8022
and r11d, 0xffffffff
mov esi, r9d
xor esi, 0xffffffff
and esi, 0x9b4c8022
or r11d, esi
mov esi, r10d
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
mov ebx, r9d
xor ebx, 0xa1c68401
mov r14d, esi
and r14d, 0xa1c68401
and r10d, ebx
mov r15d, edi
and r15d, 0xa1c68401
and edx, ebx
or r14d, r10d
or r15d, edx
xor r14d, r15d
or esi, edi
xor esi, 0xffffffff
or ebx, 0xa1c68401
and esi, ebx
or r14d, esi
mov edx, r11d
and edx, 0x9b4c8022
xor r11d, 0x9b4c8022
or edx, r11d
mov r10d, r14d
xor r10d, 0xffffffff
and r10d, 0x2bde7101
mov r11d, r9d
xor r11d, 0x2bde7101
and r14d, r11d
mov esi, r9d
xor esi, 0xffffffff
and esi, 0x2bde7101
and r11d, 0xffffffff
or r10d, r14d
or esi, r11d
xor r10d, esi
xor edx, 0xffffffff
mov r11d, r10d
xor r11d, edx
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 1], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 2]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 2]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0xa5ca809
mov esi, r9d
xor esi, 0xa5ca809
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0xa5ca809
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor edx, 0xffffffff
mov r10d, r11d
xor r10d, edx
and r10d, r11d
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 2], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 3]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 3]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0xe14056c4
mov esi, r9d
xor esi, 0xe14056c4
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0xe14056c4
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor r11d, 0xffffffff
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0x848a4f5f
or r11d, edx
or r10d, 0x848a4f5f
xor r11d, 0xffffffff
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 3], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 4]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 4]
mov r10d, edx
xor r10d, 0xffffffff
and r10d, 0x6b708011
mov r11d, r9d
xor r11d, 0x6b708011
and edx, r11d
mov esi, r9d
xor esi, 0xffffffff
and esi, 0x6b708011
and r11d, 0xffffffff
or r10d, edx
or esi, r11d
xor r10d, esi
mov edx, r9d
xor edx, 0xf
and edx, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or edx, r11d
mov r11d, r9d
xor r11d, 0xb881d309
and r11d, 0xffffffff
mov esi, r9d
xor esi, 0xffffffff
and esi, 0xb881d309
or r11d, esi
mov esi, r10d
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
mov ebx, r9d
xor ebx, 0x7b6b7b77
mov r14d, esi
and r14d, 0x7b6b7b77
and r10d, ebx
mov r15d, edi
and r15d, 0x7b6b7b77
and edx, ebx
or r14d, r10d
or r15d, edx
xor r14d, r15d
or esi, edi
xor esi, 0xffffffff
or ebx, 0x7b6b7b77
and esi, ebx
or r14d, esi
mov edx, r9d
xor edx, 0xb881d309
mov r10d, r11d
xor r10d, 0xffffffff
mov esi, r9d
xor esi, 0x787d00c3
mov edi, edx
and edi, 0x787d00c3
mov ebx, esi
and ebx, 0xb881d309
mov r15d, r10d
and r15d, 0x787d00c3
and r11d, esi
or edi, ebx
or r15d, r11d
xor edi, r15d
or edx, r10d
xor edx, 0xffffffff
or esi, 0x787d00c3
and edx, esi
or edi, edx
mov edx, r14d
xor edx, 0xffffffff
and edx, 0xdf15f066
mov r10d, r9d
xor r10d, 0xdf15f066
and r14d, r10d
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xdf15f066
and r10d, 0xffffffff
or edx, r14d
or r11d, r10d
xor edx, r11d
xor edx, 0xffffffff
xor edi, 0xffffffff
mov r10d, r9d
xor r10d, 0xef3902d1
or edx, edi
or r10d, 0xef3902d1
xor edx, 0xffffffff
and edx, r10d
movsxd rax, edx
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 4], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 5]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 5]
mov r10d, edx
xor r10d, 0xffffffff
and r10d, 0x83328729
mov r11d, r9d
xor r11d, 0x83328729
and edx, r11d
mov esi, r9d
xor esi, 0xffffffff
and esi, 0x83328729
and r11d, 0xffffffff
or r10d, edx
or esi, r11d
xor r10d, esi
mov edx, r9d
xor edx, 0xf
and edx, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or edx, r11d
mov r11d, r9d
xor r11d, 0x67619938
and r11d, 0xffffffff
mov esi, r9d
xor esi, 0xffffffff
and esi, 0x67619938
or r11d, esi
mov esi, r10d
and esi, edx
xor r10d, edx
or esi, r10d
mov edx, r9d
xor edx, 0x67619938
mov r10d, r11d
xor r10d, 0xffffffff
mov edi, r9d
xor edi, 0xbeb197c6
mov ebx, edx
and ebx, 0xbeb197c6
mov r14d, edi
and r14d, 0x67619938
mov r15d, r10d
and r15d, 0xbeb197c6
and r11d, edi
or ebx, r14d
or r15d, r11d
xor ebx, r15d
or edx, r10d
xor edx, 0xffffffff
or edi, 0xbeb197c6
and edx, edi
or ebx, edx
mov edx, esi
xor edx, 0xffffffff
and edx, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
and esi, r10d
or edx, esi
xor ebx, 0xffffffff
mov r10d, edx
xor r10d, ebx
and r10d, edx
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 5], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 6]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 6]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0xad2380ff
mov esi, r9d
xor esi, 0xad2380ff
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0xad2380ff
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor r11d, 0xffffffff
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0xa33e19df
or r11d, edx
or r10d, 0xa33e19df
xor r11d, 0xffffffff
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 6], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 7]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 7]
mov r10d, edx
xor r10d, 0xffffffff
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and edx, r11d
or r10d, edx
mov edx, r9d
xor edx, 0xf
and edx, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or edx, r11d
mov r11d, r9d
xor r11d, 0x8cf1dcab
and r11d, 0x3eed2e36
mov esi, r9d
xor esi, 0x3eed2e36
mov edi, esi
and edi, 0x8cf1dcab
mov ebx, r9d
xor ebx, 0xffffffff
and ebx, 0x3eed2e36
and esi, 0xffffffff
or r11d, edi
or ebx, esi
xor r11d, ebx
mov esi, r10d
and esi, edx
xor r10d, edx
or esi, r10d
mov edx, r11d
and edx, 0x8cf1dcab
xor r11d, 0x8cf1dcab
or edx, r11d
mov r10d, esi
xor r10d, 0xffffffff
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and esi, r11d
or r10d, esi
xor edx, 0xffffffff
mov r11d, r10d
xor r11d, edx
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 7], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 8]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 8]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0x57fb05c6
mov esi, r9d
xor esi, 0x57fb05c6
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0x57fb05c6
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor r11d, 0xffffffff
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0x1f2d075e
or r11d, edx
or r10d, 0x1f2d075e
xor r11d, 0xffffffff
and r11d, r10d
movsxd rax, r11d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 8], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 9]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 9]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0x5e9cdf9
mov r11d, r9d
xor r11d, 0x5e9cdf9
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x5e9cdf9
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
mov r11d, edx
xor r11d, 0xffffffff
mov esi, r10d
and esi, r11d
xor r10d, 0xffffffff
mov r11d, edx
and r11d, r10d
or esi, r11d
xor edx, 0xffffffff
mov r10d, esi
xor r10d, edx
and r10d, esi
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 9], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xa]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xa]
mov r10d, edx
xor r10d, 0xffffffff
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and edx, r11d
or r10d, edx
mov edx, r9d
xor edx, 0xf
and edx, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or edx, r11d
mov r11d, r9d
xor r11d, 0xa0a260f6
and r11d, 0xa8d0a28d
mov esi, r9d
xor esi, 0xa8d0a28d
mov edi, esi
and edi, 0xa0a260f6
mov ebx, r9d
xor ebx, 0xffffffff
and ebx, 0xa8d0a28d
and esi, 0xffffffff
or r11d, edi
or ebx, esi
xor r11d, ebx
mov esi, r10d
and esi, edx
xor r10d, edx
or esi, r10d
mov edx, r11d
and edx, 0xa0a260f6
xor r11d, 0xa0a260f6
or edx, r11d
mov r10d, esi
xor r10d, 0xffffffff
and r10d, 0x1442b046
mov r11d, r9d
xor r11d, 0x1442b046
and esi, r11d
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x1442b046
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
xor r10d, 0xffffffff
xor edx, 0xffffffff
mov r11d, r9d
xor r11d, 0xdb3d7862
or r10d, edx
or r11d, 0xdb3d7862
xor r10d, 0xffffffff
and r10d, r11d
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 0xa], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xb]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xb]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0x329aa98d
mov r11d, r9d
xor r11d, 0x329aa98d
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x329aa98d
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
mov r11d, edx
xor r11d, 0xffffffff
mov esi, r10d
and esi, r11d
xor r10d, 0xffffffff
mov r11d, edx
and r11d, r10d
or esi, r11d
xor edx, 0xffffffff
mov r10d, esi
xor r10d, edx
and r10d, esi
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 0xb], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xc]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xc]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0x4fd8f35d
mov r11d, r9d
xor r11d, 0x4fd8f35d
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x4fd8f35d
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0xd4e813f8
mov esi, r9d
xor esi, 0xd4e813f8
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0xd4e813f8
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor edx, 0xffffffff
mov r10d, r11d
xor r10d, edx
and r10d, r11d
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 0xc], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xd]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xd]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0x7b246588
mov esi, r9d
xor esi, 0x7b246588
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0x7b246588
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor edx, 0xffffffff
mov r10d, r11d
xor r10d, edx
and r10d, r11d
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 0xd], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xe]
sar edx, 4
movsxd rax, edx
shl rax, 4
mov r8, rcx
add r8, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xe]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0x5845b41a
mov r11d, r9d
xor r11d, 0x5845b41a
mov esi, r11d
and esi, 0xf
mov edi, r9d
xor edi, 0xffffffff
and edi, 0x5845b41a
and r11d, 0xffffffff
or r10d, esi
or edi, r11d
xor r10d, edi
mov r11d, edx
xor r11d, 0xffffffff
mov esi, r10d
and esi, r11d
xor r10d, 0xffffffff
mov r11d, edx
and r11d, r10d
or esi, r11d
xor edx, 0xffffffff
mov r10d, esi
xor r10d, edx
and r10d, esi
movsxd rax, r10d
mov bpl, byte [r8 + rax]
mov rax, qword [rsp]
mov byte [rax + 0xe], bpl
mov rax, qword [rsp]
movzx edx, byte [rax + 0xf]
sar edx, 4
movsxd rax, edx
shl rax, 4
add rcx, rax
mov rax, qword [rsp]
movzx edx, byte [rax + 0xf]
mov r10d, r9d
xor r10d, 0xf
and r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xf
or r10d, r11d
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0x94ca3334
mov esi, r9d
xor esi, 0x94ca3334
mov edi, edx
and edi, esi
mov ebx, r10d
xor ebx, 0xffffffff
and ebx, 0x94ca3334
and r10d, esi
or r11d, edi
or ebx, r10d
xor r11d, ebx
xor r11d, 0xffffffff
xor edx, 0xffffffff
xor r9d, 0xfdfb0fa7
or r11d, edx
or r9d, 0xfdfb0fa7
xor r11d, 0xffffffff
and r11d, r9d
movsxd rax, r11d
mov bpl, byte [rcx + rax]
mov rax, qword [rsp]
mov byte [rax + 0xf], bpl
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret