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

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x24], 0
movabs rax, 0x5055103235f1d14
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
mov qword [rsp], rax
movabs rcx, 0x8f86f1144d3bd9f2
sub rax, rcx
je 0x180060c3a
jmp 0x1800609e3
mov rax, qword [rsp]
movabs rcx, 0x96f787ce53bdf075
sub rax, rcx
je 0x180060f6e
jmp 0x1800609fc
mov rax, qword [rsp]
movabs rcx, 0xa5ba0dc65dee8183
sub rax, rcx
je 0x180060c1b
jmp 0x180060a15
mov rax, qword [rsp]
movabs rcx, 0xb56904c45d139afa
sub rax, rcx
je 0x180060c7d
jmp 0x180060a2e
mov rax, qword [rsp]
movabs rcx, 0xbf737d1354d5d39f
sub rax, rcx
je 0x180060d0b
jmp 0x180060a47
mov rax, qword [rsp]
movabs rcx, 0xcf78f4d27652ff27
sub rax, rcx
je 0x180060e10
jmp 0x180060a60
mov rax, qword [rsp]
movabs rcx, 0xd88550c08e20a639
sub rax, rcx
je 0x180060c56
jmp 0x180060a79
mov rax, qword [rsp]
movabs rcx, 0x5055103235f1d14
sub rax, rcx
je 0x180060b40
jmp 0x180060a92
mov rax, qword [rsp]
movabs rcx, 0x56814eb14e0248c
sub rax, rcx
je 0x180060d1f
jmp 0x180060aab
mov rax, qword [rsp]
movabs rcx, 0x2991eacbdf48eea0
sub rax, rcx
je 0x180060f7a
jmp 0x180060ac4
mov rax, qword [rsp]
movabs rcx, 0x2ad54f58520a145d
sub rax, rcx
je 0x180060e78
jmp 0x180060add
mov rax, qword [rsp]
movabs rcx, 0x34b808e2ac6d23e1
sub rax, rcx
je 0x180060dfc
jmp 0x180060af6
mov rax, qword [rsp]
movabs rcx, 0x43113d7cbaf23fa2
sub rax, rcx
je 0x180060b67
jmp 0x180060b0b
mov rax, qword [rsp]
movabs rcx, 0x5533f792733459ba
sub rax, rcx
je 0x180060f52
jmp 0x180060b24
mov rax, qword [rsp]
movabs rcx, 0x79167fd527821ccc
sub rax, rcx
je 0x180060dd0
jmp 0x180060f73
movabs rax, 0x8f86f1144d3bd9f2
movabs rcx, 0x43113d7cbaf23fa2
cmp dword [rsp + 0x24], 8
cmovb rax, rcx
mov qword [rsp + 8], rax
jmp 0x180060f75
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 0
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 0
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 1
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 1
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 2
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 2
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 3
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x24]
shl ecx, 2
add ecx, 3
mov ecx, ecx
mov byte [rax + rcx], dl
movabs rax, 0xa5ba0dc65dee8183
mov qword [rsp + 8], rax
jmp 0x180060f75
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
movabs rax, 0x5055103235f1d14
mov qword [rsp + 8], rax
jmp 0x180060f75
mov dword [rsp + 0x24], 8
movabs rax, 0xd88550c08e20a639
mov qword [rsp + 8], rax
jmp 0x180060f75
movabs rax, 0x96f787ce53bdf075
movabs rcx, 0xb56904c45d139afa
cmp dword [rsp + 0x24], 0x3c
cmovb rax, rcx
mov qword [rsp + 8], rax
jmp 0x180060f75
mov eax, dword [rsp + 0x24]
sub eax, 1
shl eax, 2
mov dword [rsp + 0x1c], eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 0
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x18], al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 1
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x19], al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 2
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x1a], al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 3
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x1b], al
mov edx, dword [rsp + 0x24]
and edx, 7
movabs rax, 0xbf737d1354d5d39f
movabs rcx, 0x56814eb14e0248c
cmp edx, 0
cmove rax, rcx
mov qword [rsp + 8], rax
jmp 0x180060f75
movabs rax, 0x79167fd527821ccc
mov qword [rsp + 8], rax
jmp 0x180060f75
mov al, byte [rsp + 0x18]
mov byte [rsp + 0x17], al
mov al, byte [rsp + 0x19]
mov byte [rsp + 0x18], al
mov al, byte [rsp + 0x1a]
mov byte [rsp + 0x19], al
mov al, byte [rsp + 0x1b]
mov byte [rsp + 0x1a], al
mov al, byte [rsp + 0x17]
mov byte [rsp + 0x1b], al
movzx eax, byte [rsp + 0x18]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x18], al
movzx eax, byte [rsp + 0x19]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x19], al
movzx eax, byte [rsp + 0x1a]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x1a], al
movzx eax, byte [rsp + 0x1b]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x1b], al
movzx eax, byte [rsp + 0x18]
mov ecx, dword [rsp + 0x24]
shr ecx, 3
mov ecx, ecx
mov edx, ecx
lea rcx, [0x1800701b0]
movzx ecx, byte [rcx + rdx]
xor eax, ecx
mov byte [rsp + 0x18], al
movabs rax, 0x79167fd527821ccc
mov qword [rsp + 8], rax
jmp 0x180060f75
mov edx, dword [rsp + 0x24]
and edx, 7
movabs rax, 0x34b808e2ac6d23e1
movabs rcx, 0xcf78f4d27652ff27
cmp edx, 4
cmove rax, rcx
mov qword [rsp + 8], rax
jmp 0x180060f75
movabs rax, 0x2ad54f58520a145d
mov qword [rsp + 8], rax
jmp 0x180060f75
movzx eax, byte [rsp + 0x18]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x18], al
movzx eax, byte [rsp + 0x19]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x19], al
movzx eax, byte [rsp + 0x1a]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x1a], al
movzx eax, byte [rsp + 0x1b]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x1b], al
movabs rax, 0x2ad54f58520a145d
mov qword [rsp + 8], rax
jmp 0x180060f75
mov eax, dword [rsp + 0x24]
shl eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
sub eax, 8
shl eax, 2
mov dword [rsp + 0x1c], eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 0
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x18]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
add ecx, 0
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 1
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x19]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
add ecx, 1
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 2
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x1a]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
add ecx, 2
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
add ecx, 3
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x1b]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
add ecx, 3
mov ecx, ecx
mov byte [rax + rcx], dl
movabs rax, 0x5533f792733459ba
mov qword [rsp + 8], rax
jmp 0x180060f75
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
movabs rax, 0xd88550c08e20a639
mov qword [rsp + 8], rax
jmp 0x180060f75
add rsp, 0x38
ret
jmp 0x180060f75
jmp 0x1800609c5
sub rsp, 0x6664988
movabs rax, 0x2991eacbdf48eea0
mov qword [rsp + 8], rax
jmp 0x180060f75