Function at 0x180001000
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
test r8, r8
je 0x18000133d
mov rax, rsp
push rdi
sub rsp, 0x60
mov qword [rax + 8], rbx
lea r11, [0x180004290]
mov qword [rax - 0x10], rbp
mov rdi, rcx
mov qword [rax - 0x18], rsi
lea rsi, [rdx + 0xd]
mov qword [rax - 0x20], r12
lea r12, [r8 - 1]
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov r15, rcx
sub r15, rdx
shr r12, 4
add r15, 0xb0
inc r12
nop dword [rax]
nop word [rax + rax]
movzx r10d, byte [rsi - 0xc]
lea rbx, [rsi - 0xd]
movzx r13d, byte [rbx]
mov rcx, rbx
mov byte [rsp + 0x80], r10b
mov r8d, 4
movzx r10d, byte [rsi - 0xb]
mov byte [rsp + 0x88], r10b
movzx r10d, byte [rsi - 0xa]
mov byte [rsp + 0x20], r10b
movzx r10d, byte [rsi - 9]
mov byte [rsp + 0x21], r10b
movzx r10d, byte [rsi - 8]
mov byte [rsp + 0x22], r10b
movzx r10d, byte [rsi - 7]
mov byte [rsp + 0x23], r10b
movzx r10d, byte [rsi - 6]
mov byte [rsp + 0x24], r10b
movzx r10d, byte [rsi - 5]
mov byte [rsp + 0x25], r10b
movzx r10d, byte [rsi - 4]
mov byte [rsp + 0x26], r10b
movzx r10d, byte [rsi - 3]
mov byte [rsp + 0x27], r10b
movzx r10d, byte [rsi - 2]
mov byte [rsp + 0x28], r10b
movzx r10d, byte [rsi - 1]
mov byte [rsp + 0x29], r10b
movzx r10d, byte [rsi]
mov byte [rsp + 0x2a], r10b
movzx r10d, byte [rsi + 1]
mov byte [rsp + 0x2b], r10b
movzx r10d, byte [rsi + 2]
mov byte [rsp + 0x2c], r10b
nop dword [rax]
mov edx, 4
nop word [rax + rax]
movzx eax, byte [r15 + rcx - 0x10]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x180001120
sub r8, 1
jne 0x180001110
mov bpl, 9
nop word [rax + rax]
movzx eax, byte [rsi - 4]
mov r8, rbx
movzx ecx, byte [rsi]
mov r9d, 4
mov byte [rsi], al
movzx eax, byte [rsi - 8]
mov byte [rsi - 4], al
movzx eax, byte [rsi - 0xc]
mov byte [rsi - 8], al
movzx eax, byte [rsi - 3]
mov byte [rsi - 0xc], cl
movzx ecx, byte [rsi - 0xb]
mov byte [rsi - 0xb], al
movzx eax, byte [rsi + 1]
mov byte [rsi - 3], cl
movzx ecx, byte [rsi - 7]
mov byte [rsi - 7], al
movzx eax, byte [rsi - 6]
mov byte [rsi + 1], cl
movzx ecx, byte [rsi - 0xa]
mov byte [rsi - 0xa], al
movzx eax, byte [rsi - 2]
mov byte [rsi - 6], al
movzx eax, byte [rsi + 2]
mov byte [rsi - 2], al
mov byte [rsi + 2], cl
nop dword [rax + rax]
mov rcx, r8
mov edx, 4
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r11]
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1800011b0
inc r8
sub r9, 1
jne 0x1800011a0
movzx r8d, bpl
mov rax, rbx
shl r8, 4
mov r9d, 4
sub r8, rbx
add r8, rdi
nop word [rax + rax]
mov edx, 4
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x180001200
sub r9, 1
jne 0x1800011f0
test bpl, bpl
je 0x180001233
mov rcx, rbx
call fcn.180001340
add bpl, 0xff
lea r11, [0x180004290]
jmp 0x180001140
mov ecx, 0x10
nop dword [rax + rax]
movzx eax, byte [r15 + rbx]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rcx, 1
jne 0x180001240
movzx eax, byte [rsp + 0x80]
add rsi, 0x10
mov byte [rdi + 0xb1], al
add r15, 0xfffffffffffffff0
movzx eax, byte [rsp + 0x88]
mov byte [rdi + 0xb2], al
movzx eax, byte [rsp + 0x20]
mov byte [rdi + 0xb3], al
movzx eax, byte [rsp + 0x21]
mov byte [rdi + 0xb4], al
movzx eax, byte [rsp + 0x22]
mov byte [rdi + 0xb5], al
movzx eax, byte [rsp + 0x23]
mov byte [rdi + 0xb6], al
movzx eax, byte [rsp + 0x24]
mov byte [rdi + 0xb7], al
movzx eax, byte [rsp + 0x25]
mov byte [rdi + 0xb8], al
movzx eax, byte [rsp + 0x26]
mov byte [rdi + 0xb9], al
movzx eax, byte [rsp + 0x27]
mov byte [rdi + 0xba], al
movzx eax, byte [rsp + 0x28]
mov byte [rdi + 0xbb], al
movzx eax, byte [rsp + 0x29]
mov byte [rdi + 0xbc], al
movzx eax, byte [rsp + 0x2a]
mov byte [rdi + 0xbd], al
movzx eax, byte [rsp + 0x2b]
mov byte [rdi + 0xbe], al
movzx eax, byte [rsp + 0x2c]
mov byte [rdi + 0xbf], al
mov byte [rdi + 0xb0], r13b
sub r12, 1
jne 0x180001060
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret