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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
imul r15d, edx, 0x738
mov r13, r9
mov r12, r8
mov r14d, edx
mov rbx, rcx
mov edi, edx
cmp edx, r15d
ja 0x180067710
mov rsi, qword [rsp + 0xa0]
lea rdx, str.cw
movzx ebp, byte [rsp + 0x88]
lea rax, [0x180011430]
cmp edi, 0x73f
ja 0x180067633
je 0x180067604
cmp edi, 0xd3
ja 0x180067595
je 0x180067735
mov eax, edi
sub eax, 7
je 0x180067565
sub eax, 6
je 0x180067536
cmp eax, 0x79
jne 0x1800676fe
mov eax, dword [r13]
test eax, eax
je 0x1800676ef
mov r9, qword [rsp + 0xb0]
dec eax
mov dword [rsp + 0x88], eax
mov r8, rbx
lea rax, [rsp + 0x88]
mov rdx, rsi
mov qword [rsp + 0x30], rax
mov ecx, 0x5a
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.180021140
jmp 0x180067717
movzx eax, byte [rbx]
movzx eax, byte [rax + rdx]
mov byte [rbx], al
movzx eax, byte [rbx + 4]
movzx eax, byte [rax + rdx]
mov byte [rbx + 4], al
movzx eax, byte [rbx + 8]
movzx eax, byte [rax + rdx]
mov byte [rbx + 8], al
movzx eax, byte [rbx + 0xc]
movzx eax, byte [rax + rdx]
mov byte [rbx + 0xc], al
jmp 0x1800676fe
movzx eax, word [r12]
lea rcx, [rsp + 0x88]
xor r9d, r9d
mov word [rsp + 0x88], ax
mov r8, rbx
lea edx, [r9 + 0x6a]
call fcn.18001c840
lea rdx, str.cw
jmp 0x1800676fe
cmp edi, 0x103
je 0x1800675e3
cmp edi, 0x3a3
je 0x1800675db
cmp edi, 0x6c1
jne 0x1800676fe
movzx eax, byte [rbx + 5]
movzx ebp, byte [rbx + 1]
movzx eax, byte [rax + rdx]
mov byte [rbx + 1], al
movzx eax, byte [rbx + 9]
movzx eax, byte [rax + rdx]
mov byte [rbx + 5], al
movzx eax, byte [rbx + 0xd]
movzx eax, byte [rax + rdx]
mov byte [rbx + 9], al
jmp 0x1800676fe
mov qword [rbx], rax
jmp 0x1800676fe
xor edx, edx
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov r8, rbx
lea ecx, [rdx + 0x3e]
call fcn.180014400
lea rdx, str.cw
jmp 0x1800676fe
lea rcx, [rbx + 0xa]
cmp rcx, rsi
je 0x1800676fe
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x18006761e
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
call fcn.18001a400
lea rdx, str.cw
jmp 0x1800676fe
cmp edi, 0x2191
ja 0x1800676c8
je 0x1800676bb
cmp edi, 0xd75
je 0x180067694
cmp edi, 0x1429
je 0x180067678
cmp edi, 0x1add
jne 0x1800676fe
movzx eax, byte [rbx + 0xb]
movzx eax, byte [rax + rdx]
mov byte [rbx + 0xf], al
movzx eax, byte [rbx + 7]
movzx eax, byte [rax + rdx]
mov byte [rbx + 0xb], al
jmp 0x1800676fe
movzx eax, byte [rbx + 0xe]
movzx eax, byte [rax + rdx]
mov byte [rbx + 6], al
movzx eax, bpl
movzx ebp, byte [rbx + 0xf]
movzx eax, byte [rax + rdx]
mov byte [rbx + 0xe], al
jmp 0x1800676fe
movzx ecx, byte [rbx + 2]
movzx eax, bpl
movzx ebp, byte [rbx + 6]
movzx eax, byte [rax + rdx]
mov byte [rbx + 0xd], al
movzx eax, byte [rbx + 0xa]
movzx eax, byte [rax + rdx]
mov byte [rbx + 2], al
movzx eax, byte [rcx + rdx]
mov byte [rbx + 0xa], al
jmp 0x1800676fe
movzx eax, byte [rbx + 3]
movzx eax, byte [rax + rdx]
mov byte [rbx + 7], al
jmp 0x1800676fe
cmp edi, 0x2845
je 0x1800676f3
cmp edi, 0x868f
jne 0x1800676fe
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov ecx, 0x9b
call fcn.18000bda0
test eax, eax
je 0x18006775f
xor eax, eax
jmp 0x180067717
movzx eax, bpl
movzx eax, byte [rax + rdx]
mov byte [rbx + 3], al
imul eax, r14d, 0x84
add edi, eax
cmp edi, r15d
jbe 0x1800674a1
mov eax, dword [rsp + 0x88]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor edx, edx
mov qword [rsp + 0x40], 1
mov r9, rsi
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 0x31]
call fcn.180052170
mov byte [rsp + 0x88], al
jmp 0x180067710
mov eax, 1
jmp 0x180067717