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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
push rax
xor eax, eax
mov dword [rsp + 4], ecx
mov ecx, dword [rsp + 4]
shr ecx, 4
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xa188d443
mov r8d, 0xffffffff
mov r9d, r8d
xor r9d, 0xa188d443
and ecx, r9d
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0xa188d443
and r9d, 0xffffffff
or edx, ecx
or r10d, r9d
xor edx, r10d
mov ecx, r8d
xor ecx, 0xf
and ecx, 0xee294c47
mov r9d, r8d
xor r9d, 0xee294c47
mov r10d, r9d
and r10d, 0xf
mov r11d, r8d
xor r11d, 0xffffffff
and r11d, 0xee294c47
and r9d, 0xffffffff
or ecx, r10d
or r11d, r9d
xor ecx, r11d
mov r9d, r8d
xor r9d, 0x32d9a666
and r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0x32d9a666
or r9d, r10d
mov r10d, edx
and r10d, ecx
xor edx, ecx
or r10d, edx
mov ecx, r9d
and ecx, 0x32d9a666
xor r9d, 0x32d9a666
or ecx, r9d
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r10d, r9d
or edx, r10d
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xb6dd78a0
or edx, ecx
or r9d, 0xb6dd78a0
xor edx, 0xffffffff
and edx, r9d
mov ecx, edx
mov esi, ecx
shl rsi, 4
lea rdi, str.cw
mov rbx, rdi
add rbx, rsi
mov ecx, dword [rsp + 4]
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xcc92e996
mov r9d, r8d
xor r9d, 0xcc92e996
and ecx, r9d
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0xcc92e996
and r9d, 0xffffffff
or edx, ecx
or r10d, r9d
xor edx, r10d
mov ecx, r8d
xor ecx, 0xf
and ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf
or ecx, r9d
mov r9d, r8d
xor r9d, 0xc458de45
and r9d, 0xa3745d3c
mov r10d, r8d
xor r10d, 0xa3745d3c
mov r11d, r10d
and r11d, 0xc458de45
mov ebp, r8d
xor ebp, 0xffffffff
and ebp, 0xa3745d3c
and r10d, 0xffffffff
or r9d, r11d
or ebp, r10d
xor r9d, ebp
mov r10d, edx
xor r10d, 0xffffffff
mov r11d, ecx
xor r11d, 0xffffffff
mov ebp, r8d
xor ebp, 0x21a243a1
mov r14d, r10d
and r14d, 0x21a243a1
and edx, ebp
mov r15d, r11d
and r15d, 0x21a243a1
and ecx, ebp
or r14d, edx
or r15d, ecx
xor r14d, r15d
or r10d, r11d
xor r10d, 0xffffffff
or ebp, 0x21a243a1
and r10d, ebp
or r14d, r10d
mov ecx, r8d
xor ecx, 0xc458de45
mov edx, r9d
xor edx, 0xffffffff
mov r10d, r8d
xor r10d, 0x241fc0ee
mov r11d, ecx
and r11d, 0x241fc0ee
mov ebp, r10d
and ebp, 0xc458de45
mov r15d, edx
and r15d, 0x241fc0ee
and r9d, r10d
or r11d, ebp
or r15d, r9d
xor r11d, r15d
or ecx, edx
xor ecx, 0xffffffff
or r10d, 0x241fc0ee
and ecx, r10d
or r11d, ecx
mov ecx, r14d
xor ecx, 0xffffffff
and ecx, 0xaa8b0398
mov edx, r8d
xor edx, 0xaa8b0398
and r14d, edx
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xaa8b0398
and edx, 0xffffffff
or ecx, r14d
or r9d, edx
xor ecx, r9d
xor ecx, 0xffffffff
xor r11d, 0xffffffff
mov edx, r8d
xor edx, 0x1bb4a694
or ecx, r11d
or edx, 0x1bb4a694
xor ecx, 0xffffffff
and ecx, edx
mov ecx, ecx
mov esi, ecx
movzx ecx, byte [rbx + rsi]
mov dword [rsp], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0xc
mov edx, r8d
xor edx, 0xf
and edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf
or edx, r9d
mov r9d, ecx
xor r9d, 0xffffffff
and r9d, 0x59153424
mov r10d, r8d
xor r10d, 0x59153424
mov r11d, ecx
and r11d, r10d
mov ebp, edx
xor ebp, 0xffffffff
and ebp, 0x59153424
and edx, r10d
or r9d, r11d
or ebp, edx
xor r9d, ebp
xor r9d, 0xffffffff
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0x7f8117e0
or r9d, ecx
or edx, 0x7f8117e0
xor r9d, 0xffffffff
and r9d, edx
mov ecx, r9d
mov esi, ecx
shl rsi, 4
mov rbx, rdi
add rbx, rsi
mov ecx, dword [rsp + 4]
shr ecx, 8
mov edx, r8d
xor edx, 0xf
and edx, 0x1d98b233
mov r9d, r8d
xor r9d, 0x1d98b233
mov r10d, r9d
and r10d, 0xf
mov r11d, r8d
xor r11d, 0xffffffff
and r11d, 0x1d98b233
and r9d, 0xffffffff
or edx, r10d
or r11d, r9d
xor edx, r11d
mov r9d, ecx
xor r9d, 0xffffffff
mov r10d, edx
and r10d, r9d
xor edx, 0xffffffff
mov r9d, ecx
and r9d, edx
or r10d, r9d
xor r10d, 0xffffffff
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0x4e4a09de
or r10d, ecx
or edx, 0x4e4a09de
xor r10d, 0xffffffff
and r10d, edx
mov ecx, r10d
mov esi, ecx
movzx ecx, byte [rbx + rsi]
shl ecx, 8
mov edx, dword [rsp]
mov r9d, eax
sub r9d, 0x7a7452da
sub edx, r9d
mov r9d, eax
sub r9d, edx
mov edx, eax
sub edx, ecx
add r9d, edx
mov ecx, eax
sub ecx, r9d
mov edx, eax
sub edx, 0x7a7452da
add ecx, edx
mov dword [rsp], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x14
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and ecx, r9d
or edx, ecx
mov ecx, r8d
xor ecx, 0xf
and ecx, 0x55fcb44c
mov r9d, r8d
xor r9d, 0x55fcb44c
mov r10d, r9d
and r10d, 0xf
mov r11d, r8d
xor r11d, 0xffffffff
and r11d, 0x55fcb44c
and r9d, 0xffffffff
or ecx, r10d
or r11d, r9d
xor ecx, r11d
mov r9d, r8d
xor r9d, 0x769eb378
and r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0x769eb378
or r9d, r10d
mov r10d, edx
xor r10d, 0xffffffff
mov r11d, ecx
xor r11d, 0xffffffff
mov ebp, r8d
xor ebp, 0x42b1c320
mov r14d, r10d
and r14d, 0x42b1c320
and edx, ebp
mov r15d, r11d
and r15d, 0x42b1c320
and ecx, ebp
or r14d, edx
or r15d, ecx
xor r14d, r15d
or r10d, r11d
xor r10d, 0xffffffff
or ebp, 0x42b1c320
and r10d, ebp
or r14d, r10d
mov ecx, r8d
xor ecx, 0x769eb378
mov edx, r9d
xor edx, 0xffffffff
mov r10d, r8d
xor r10d, 0x63a5a78e
mov r11d, ecx
and r11d, 0x63a5a78e
mov ebp, r10d
and ebp, 0x769eb378
mov r15d, edx
and r15d, 0x63a5a78e
and r9d, r10d
or r11d, ebp
or r15d, r9d
xor r11d, r15d
or ecx, edx
xor ecx, 0xffffffff
or r10d, 0x63a5a78e
and ecx, r10d
or r11d, ecx
mov ecx, r14d
xor ecx, 0xffffffff
and ecx, 0xcbf3f33b
mov edx, r8d
xor edx, 0xcbf3f33b
and r14d, edx
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xcbf3f33b
and edx, 0xffffffff
or ecx, r14d
or r9d, edx
xor ecx, r9d
xor r11d, 0xffffffff
mov edx, ecx
xor edx, r11d
and edx, ecx
mov ecx, edx
mov esi, ecx
shl rsi, 4
mov rbx, rdi
add rbx, rsi
mov ecx, dword [rsp + 4]
shr ecx, 0x10
mov edx, r8d
xor edx, 0xf
and edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf
or edx, r9d
mov r9d, ecx
xor r9d, 0xffffffff
mov r10d, edx
and r10d, r9d
xor edx, 0xffffffff
mov r9d, ecx
and r9d, edx
or r10d, r9d
xor r10d, 0xffffffff
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0x97c4c214
or r10d, ecx
or edx, 0x97c4c214
xor r10d, 0xffffffff
and r10d, edx
mov ecx, r10d
mov esi, ecx
movzx ecx, byte [rbx + rsi]
shl ecx, 0x10
mov edx, dword [rsp]
sub edx, 0xcbf56d8d
sub edx, 0xa8d6df00
add edx, 0xcbf56d8d
mov r9d, eax
sub r9d, edx
mov edx, eax
sub edx, ecx
add r9d, edx
mov ecx, eax
sub ecx, r9d
sub ecx, 0x90da7c4d
add ecx, 0xa8d6df00
add ecx, 0x90da7c4d
mov dword [rsp], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x1c
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and ecx, r9d
or edx, ecx
mov ecx, r8d
xor ecx, 0xf
and ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf
or ecx, r9d
mov r9d, r8d
xor r9d, 0x4ed244d7
and r9d, 0x5cb36881
mov r10d, r8d
xor r10d, 0x5cb36881
mov r11d, r10d
and r11d, 0x4ed244d7
mov ebp, r8d
xor ebp, 0xffffffff
and ebp, 0x5cb36881
and r10d, 0xffffffff
or r9d, r11d
or ebp, r10d
xor r9d, ebp
mov r10d, edx
xor r10d, 0xffffffff
mov r11d, ecx
xor r11d, 0xffffffff
mov ebp, r8d
xor ebp, 0x86b82a5e
mov r14d, r10d
and r14d, 0x86b82a5e
and edx, ebp
mov r15d, r11d
and r15d, 0x86b82a5e
and ecx, ebp
or r14d, edx
or r15d, ecx
xor r14d, r15d
or r10d, r11d
xor r10d, 0xffffffff
or ebp, 0x86b82a5e
and r10d, ebp
or r14d, r10d
mov ecx, r8d
xor ecx, 0x4ed244d7
mov edx, r9d
xor edx, 0xffffffff
mov r10d, r8d
xor r10d, 0xea974172
mov r11d, ecx
and r11d, 0xea974172
mov ebp, r10d
and ebp, 0x4ed244d7
mov r15d, edx
and r15d, 0xea974172
and r9d, r10d
or r11d, ebp
or r15d, r9d
xor r11d, r15d
or ecx, edx
xor ecx, 0xffffffff
or r10d, 0xea974172
and ecx, r10d
or r11d, ecx
mov ecx, r14d
xor ecx, 0xffffffff
and ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
and r14d, edx
or ecx, r14d
xor r11d, 0xffffffff
mov edx, ecx
xor edx, r11d
and edx, ecx
mov ecx, edx
mov esi, ecx
shl rsi, 4
add rdi, rsi
mov ecx, dword [rsp + 4]
shr ecx, 0x18
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x3bf4d40e
mov r9d, r8d
xor r9d, 0x3bf4d40e
and ecx, r9d
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0x3bf4d40e
and r9d, 0xffffffff
or edx, ecx
or r10d, r9d
xor edx, r10d
mov ecx, r8d
xor ecx, 0xf
and ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf
or ecx, r9d
mov r9d, r8d
xor r9d, 0xbb36171f
and r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0xbb36171f
or r9d, r10d
mov r10d, edx
xor r10d, 0xffffffff
mov r11d, ecx
xor r11d, 0xffffffff
mov ebp, r8d
xor ebp, 0xad71ede3
mov r14d, r10d
and r14d, 0xad71ede3
and edx, ebp
mov r15d, r11d
and r15d, 0xad71ede3
and ecx, ebp
or r14d, edx
or r15d, ecx
xor r14d, r15d
or r10d, r11d
xor r10d, 0xffffffff
or ebp, 0xad71ede3
and r10d, ebp
or r14d, r10d
mov ecx, r8d
xor ecx, 0xbb36171f
mov edx, r9d
xor edx, 0xffffffff
mov r10d, r8d
xor r10d, 0x6de654ec
mov r11d, ecx
and r11d, 0x6de654ec
mov ebp, r10d
and ebp, 0xbb36171f
mov r15d, edx
and r15d, 0x6de654ec
and r9d, r10d
or r11d, ebp
or r15d, r9d
xor r11d, r15d
or ecx, edx
xor ecx, 0xffffffff
or r10d, 0x6de654ec
and ecx, r10d
or r11d, ecx
mov ecx, r14d
xor ecx, 0xffffffff
and ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
and r14d, edx
or ecx, r14d
xor ecx, 0xffffffff
xor r11d, 0xffffffff
xor r8d, 0x4166943d
or ecx, r11d
or r8d, 0x4166943d
xor ecx, 0xffffffff
and ecx, r8d
mov ecx, ecx
mov esi, ecx
movzx ecx, byte [rdi + rsi]
shl ecx, 0x18
mov edx, dword [rsp]
add edx, 0x26edeb7d
add edx, 0x924304b4
sub edx, 0x26edeb7d
mov r8d, eax
sub r8d, edx
mov edx, eax
sub edx, ecx
add r8d, edx
sub eax, r8d
add eax, 0x9a7d7dc1
sub eax, 0x924304b4
sub eax, 0x9a7d7dc1
mov dword [rsp], eax
mov eax, dword [rsp]
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret