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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov qword [rsp + 0x18], rcx
mov eax, dword [0x180069490]
mov ecx, dword [0x180069494]
lea ebp, [rax - 1]
imul ebp, eax
test bpl, 1
sete byte [rsp + 0xc]
cmp ecx, 0xa
setl byte [rsp + 0xd]
mov ecx, 0x50c9b568
lea rsi, [0x180053e00]
mov r15d, 0x366bfac0
mov r12d, 0xc41fbad9
mov r11d, 0x31bc635e
mov r13d, 0xc0c9f76d
mov r14d, 0x211547e0
jmp 0x18003160d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x69d45b54
mov eax, 0x18396b88
nop
cmove ecx, eax
cmp dword [0x180069494], 0xa
cmovl ecx, eax
cmp ecx, 0x18396b87
jg 0x180031660
cmp ecx, 0xe952818b
jg 0x1800316b0
cmp ecx, 0x95d33454
jle 0x180031768
cmp ecx, 0xc0c9f76c
jle 0x180031869
cmp ecx, 0xc0c9f76d
je 0x180031883
cmp ecx, 0xc41fbad9
jne 0x18003160d
mov ecx, 0x1ad073a7
xor r8d, r8d
jmp 0x18003160d
cmp ecx, 0x366bfabf
jg 0x180031710
cmp ecx, 0x211547df
jg 0x1800317b7
cmp ecx, 0x18396b88
je 0x1800318ac
cmp ecx, 0x1ad073a7
je 0x1800318b9
cmp ecx, 0x1c840a56
jne 0x18003160d
mov eax, dword [rsp + 4]
mov ecx, 0x939c216a
jmp 0x18003160d
cmp ecx, 0xf41f9cff
jg 0x1800317ea
cmp ecx, 0xe952818c
je 0x1800318dd
cmp ecx, 0xeab8b6dd
je 0x18003190c
cmp ecx, 0xed7e00bc
jne 0x18003160d
mov dword [rsp + 4], r9d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x1c840a56
mov eax, 0x939c216a
jmp 0x180031600
cmp ecx, 0x50c9b567
jg 0x180031825
cmp ecx, 0x366bfac0
je 0x180031932
cmp ecx, 0x39602d69
je 0x18003195b
cmp ecx, 0x4632a773
jne 0x18003160d
mov eax, dword [0x180069490]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, 0xeab8b6dd
cmove ecx, r13d
cmp dword [0x180069494], 0xa
cmovl ecx, r13d
jmp 0x18003160d
cmp ecx, 0x82660e6e
je 0x1800319b2
cmp ecx, 0x86deff1d
je 0x1800319c1
cmp ecx, 0x939c216a
jne 0x18003160d
mov ecx, dword [rsp + 4]
cmp ecx, 4
setl byte [rsp + 0xe]
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x1c840a56
mov eax, 0x58b3e870
jmp 0x180031600
cmp ecx, 0x211547e0
je 0x1800315e4
cmp ecx, 0x2c77bd79
je 0x1800319cb
cmp ecx, 0x31bc635e
jne 0x18003160d
mov ecx, 0x1ad073a7
mov r8d, dword [rsp + 0x10]
jmp 0x18003160d
cmp ecx, 0xf41f9d00
je 0x1800319f4
cmp ecx, 0x12fc1d8
je 0x180031a13
cmp ecx, 0x1837f8ec
jne 0x18003160d
cmp byte [rsp + 0xf], 0
mov ecx, 0x4632a773
mov eax, 0xf41f9d00
cmovne ecx, eax
jmp 0x18003160d
cmp ecx, 0x69d45b54
je 0x180031a49
cmp ecx, 0x58b3e870
je 0x180031a53
cmp ecx, 0x50c9b568
jne 0x18003160d
movzx r10d, byte [rsp + 0xc]
cmp byte [rsp + 0xd], 0
mov ecx, 0x69d45b54
cmovne ecx, r14d
test r10b, r10b
cmovne ecx, r14d
jmp 0x18003160d
cmp ecx, 0x95d33455
jne 0x180031a6a
mov eax, dword [rsp + 8]
mov ecx, 0xe952818c
jmp 0x18003160d
mov eax, dword [rsp + 4]
add eax, 1
mov dword [rsp + 0x14], eax
mov eax, dword [0x180069490]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, 0xeab8b6dd
mov eax, 0x82660e6e
jmp 0x180031600
mov ecx, 0xed7e00bc
xor r9d, r9d
jmp 0x18003160d
mov dword [rsp + 8], r8d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x95d33455
mov eax, 0xe952818c
jmp 0x180031600
mov ecx, dword [rsp + 8]
mov rax, qword [rsp + 0x18]
cmp ecx, dword [rax]
setl byte [rsp + 0xf]
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x95d33455
mov eax, 0x1837f8ec
jmp 0x180031600
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov eax, dword [rsp + 4]
mov ecx, 0xc0c9f76d
jmp 0x18003160d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x86deff1d
cmove ecx, r12d
cmp dword [0x180069494], 0xa
cmovl ecx, r12d
jmp 0x18003160d
movsxd rcx, dword [rsp + 4]
mov rcx, qword [rdx + rcx*8]
movsxd rbp, dword [rsp + 8]
movzx eax, byte [rcx + rbp]
mov edi, eax
and edi, 0xfffffff0
and eax, 0xf
add rdi, rsi
movzx eax, byte [rax + rdi]
mov byte [rcx + rbp], al
mov eax, dword [rsp + 8]
add eax, 1
mov dword [rsp + 0x10], eax
mov eax, dword [0x180069490]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, 0x12fc1d8
cmove ecx, r11d
cmp dword [0x180069494], 0xa
cmovl ecx, r11d
jmp 0x18003160d
mov ecx, 0xed7e00bc
mov r9d, dword [rsp + 0x14]
jmp 0x18003160d
mov ecx, 0x366bfac0
jmp 0x18003160d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x86deff1d
cmove ecx, r15d
cmp dword [0x180069494], 0xa
cmovl ecx, r15d
jmp 0x18003160d
mov ecx, dword [0x180069490]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
mov ecx, 0x12fc1d8
mov eax, 0x39602d69
jmp 0x180031600
movsxd rax, dword [rsp + 4]
mov rax, qword [rdx + rax*8]
movsxd rcx, dword [rsp + 8]
movzx edi, byte [rax + rcx]
mov ebp, edi
and ebp, 0xfffffff0
and edi, 0xf
add rbp, rsi
movzx ebx, byte [rdi + rbp]
mov byte [rax + rcx], bl
mov eax, dword [rsp + 8]
mov eax, dword [rsp + 8]
mov ecx, 0x39602d69
jmp 0x18003160d
mov ecx, 0x211547e0
jmp 0x18003160d
cmp byte [rsp + 0xe], 0
mov ecx, 0xb32ed03e
mov eax, 0x2c77bd79
cmovne ecx, eax
jmp 0x18003160d
cmp ecx, 0xb32ed03e
jne 0x18003160d
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret