Function at 0x1800a48d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [0x18011a0a8]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r15, r9
mov rbp, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [rcx]
call qword [rax + 0xf8]
lea r12, [rax + 8]
mov rdi, qword [rax]
mov r9, r15
mov r8, rbp
mov rdx, rsi
mov rcx, rax
call qword [rdi + 0x30]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x28]
mov edi, eax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x28]
cmp eax, 0x10
jne 0x1800a4f9c
cmp byte [0x1801223ac], 0
jne 0x1800a494e
call fcn.1800a92e0
mov rax, qword [r15]
mov ebx, 0x10000
lea r9, [rsp + 0x20]
lea r8, vtable.type_info.0
lea rdx, str.TableSize
mov rcx, r15
cmp byte [0x1801223b3], 0
je 0x1800a4981
call qword [rax + 8]
lea ecx, [rdi*8]
jmp 0x1800a49ad
call qword [rax + 8]
test al, al
je 0x1800a4996
mov ecx, 0x800
cmp dword [rsp + 0x20], ebx
cmovge ecx, ebx
jmp 0x1800a49ad
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x100]
mov ecx, 0x800
cmp eax, 1
cmove ecx, ebx
mov dword [rsp + 0x20], ecx
lea eax, [rcx + rdi*2]
add edi, eax
mov esi, edi
mov rbx, qword [r14 + 0x30]
mov qword [rsp + 0x30], rsi
mov rbp, qword [r14 + 0x28]
mov qword [rsp + 0x28], rbp
xor r15d, r15d
mov qword [rsp + 0x38], r15
cmp rbp, rsi
je 0x1800a4a1e
test edi, edi
je 0x1800a49e5
mov ecx, esi
call fcn.180093360
mov r15, rax
mov r8, rbp
cmp rsi, rbp
cmovb r8, rsi
test rbx, rbx
je 0x1800a4a1b
test r15, r15
je 0x1800a4a09
test r8, r8
je 0x1800a4a09
mov rdx, rbx
mov rcx, r15
call fcn.1800ab070
mov rdi, rbx
xor eax, eax
mov rcx, rbp
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.1800933e0
mov rbx, r15
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x20], 0xffffffffffffffff
lea r13, [rbx + 0x30]
lea rdi, [rbx + 0x20]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rax, qword [r12]
mov r9, rdi
xor r8d, r8d
mov rdx, rdi
mov rcx, r12
call qword [rax + 0x20]
cmp byte [0x1801223ac], 0
jne 0x1800a4a5d
call fcn.1800a92e0
cmp byte [0x1801223b3], 0
je 0x1800a4a7b
mov r8d, dword [rsp + 0x20]
mov rdx, r13
mov rcx, rdi
call fcn.1800aa0f0
jmp 0x1800a4f78
xor r12d, r12d
mov r11d, r12d
test rdi, rdi
je 0x1800a4a89
mov r11, qword [rdi]
bswap r11
add rdi, 8
mov r10, r12
je 0x1800a4a98
mov r10, qword [rdi]
bswap r10
cmp dword [rsp + 0x20], 0x10000
jne 0x1800a4c60
mov edi, r12d
movabs r8, 0xe100000000000000
nop word [rax + rax]
mov eax, edi
and eax, 7
mov ecx, 0xb
sub ecx, eax
mov edx, 1
shl rdx, cl
mov eax, edi
shr eax, 3
shl eax, 0xc
movsxd rcx, eax
lea rax, [rdx + r13]
add rcx, rax
mov rax, r11
bswap rax
je 0x1800a4af1
mov qword [rcx], rax
add rcx, 8
mov rax, r10
bswap rax
je 0x1800a4b00
mov qword [rcx], rax
mov edx, r10d
mov rcx, r11
shl rcx, 0x3f
mov rax, r10
shr rax, 1
mov r10, rcx
or r10, rax
and dl, 1
neg dl
sbb rcx, rcx
and rcx, r8
mov rax, r11
shr rax, 1
mov r11, rcx
xor r11, rax
inc edi
cmp edi, 0x80
jl 0x1800a4ac0
mov r15, r13
mov qword [rsp + 0x28], 0x10
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [r15], xmm0
cmp byte [0x1801223ac], 0
jne 0x1800a4b65
call fcn.1800a92e0
cmp byte [0x1801223ad], 0
je 0x1800a4bc5
mov esi, 2
cmp esi, 1
jle 0x1800a4bb9
mov ecx, esi
shl ecx, 4
movsxd rbp, ecx
sub rbp, r13
add rbp, r15
add rbp, r13
lea rdi, [r15 + 0x10]
lea eax, [rcx + 0x10]
movsxd r14, eax
add r14, 0xfffffffffffffff0
lea ebx, [rsi - 1]
nop word [rax + rax]
lea rcx, [r14 + rdi]
mov r8, rdi
mov rdx, rbp
call fcn.1800aa2e0
add rdi, 0x10
sub rbx, 1
jne 0x1800a4ba0
add esi, esi
cmp esi, 0x80
jle 0x1800a4b73
jmp 0x1800a4c41
mov r11d, 2
mov r9d, r11d
nop
cmp r9, 1
jle 0x1800a4c32
lea rdx, [r9 + r12]
shl rdx, 4
lea rax, [r13 + 0x10]
add rax, rdx
mov rcx, r9
shl rcx, 4
mov r10d, 8
sub r10, rcx
mov r8, r9
neg r8
add r8, r8
lea rdi, [r9 - 1]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + r8*8]
xor rcx, qword [rdx + r13]
mov qword [rax], rcx
mov rcx, qword [r10 + rax]
xor rcx, qword [rdx + r13 + 8]
mov qword [rax + 8], rcx
lea rax, [rax + 0x10]
sub rdi, 1
jne 0x1800a4c10
add r11d, r11d
add r9, r9
cmp r11d, 0x80
jle 0x1800a4bd0
add r15, 0x1000
add r12, 0x100
sub qword [rsp + 0x28], 1
jne 0x1800a4b50
jmp 0x1800a4f78
movzx eax, byte [0x1801223a0]
test al, al
jne 0x1800a4cee
mov dword [0x1801221a0], 0xc2010000
mov esi, 0x1c2
mov r8d, 2
lea r14, [0x1801221a0]
lea rbp, [0x1801221a2]
add si, si
mov eax, r8d
lea rbx, [r14 + rax*2]
movzx eax, si
ror ax, 8
mov word [rbx], ax
mov edi, 1
cmp r8d, edi
jbe 0x1800a4cdb
mov r9, rbp
nop dword [rax]
nop word [rax + rax]
movzx edx, word [r9]
xor dx, word [rbx]
lea eax, [rdi + r8]
mov word [r14 + rax*2], dx
inc edi
lea r9, [r9 + 2]
cmp edi, r8d
jb 0x1800a4cc0
add r8d, r8d
cmp r8d, 0x80
jbe 0x1800a4c92
mov byte [0x1801223a0], 1
mov edi, r12d
movabs r8, 0xe100000000000000
nop dword [rax + rax]
mov ecx, edi
and ecx, 0x1f
cmp ecx, 4
jae 0x1800a4d50
mov eax, 7
sub eax, ecx
mov edx, 1
movzx ecx, al
shl rdx, cl
mov eax, edi
shr eax, 5
shl eax, 8
movsxd rcx, eax
add rdx, 0x400
add rdx, r13
mov rax, r11
bswap rax
add rdx, rcx
je 0x1800a4d3f
mov qword [rdx], rax
add rdx, 8
mov rax, r10
bswap rax
je 0x1800a4d93
mov qword [rdx], rax
jmp 0x1800a4d93
cmp ecx, 8
jae 0x1800a4d93
mov eax, 0xb
sub eax, ecx
mov edx, 1
movzx ecx, al
shl rdx, cl
mov eax, edi
shr eax, 5
shl eax, 8
movsxd rcx, eax
lea rax, [rdx + r13]
add rcx, rax
mov rax, r11
bswap rax
je 0x1800a4d84
mov qword [rcx], rax
add rcx, 8
mov rax, r10
bswap rax
je 0x1800a4d93
mov qword [rcx], rax
mov edx, r10d
mov rcx, r11
shl rcx, 0x3f
mov rax, r10
shr rax, 1
mov r10, rcx
or r10, rax
and dl, 1
neg dl
sbb rcx, rcx
and rcx, r8
mov rax, r11
shr rax, 1
mov r11, rcx
xor r11, rax
inc edi
cmp edi, 0x68
jl 0x1800a4d00
mov r15, r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], 4
mov edx, 0x10
xorps xmm0, xmm0
movups xmmword [r15 + r13], xmm0
movups xmmword [r15 + r13 + 0x400], xmm0
cmp byte [0x1801223ac], 0
jne 0x1800a4e05
call fcn.1800a92e0
mov edx, 0x10
cmp byte [0x1801223ad], 0
je 0x1800a4e9b
mov esi, 2
cmp esi, 1
jle 0x1800a4e85
mov ecx, esi
shl ecx, 4
movsxd rbp, ecx
add rbp, r15
add rbp, r13
lea eax, [rcx + 0x10]
movsxd rcx, eax
lea rdi, [r15 + rcx]
add rdi, r13
mov r14d, 0x410
sub r14, rcx
mov r15, rdx
sub r15, rcx
lea ebx, [rsi - 1]
nop dword [rax]
lea r8, [r15 + rdi]
mov rdx, rbp
mov rcx, rdi
call fcn.1800aa2e0
lea r8, [r14 + rdi]
lea rcx, [rdi + 0x400]
lea rdx, [rbp + 0x400]
call fcn.1800aa2e0
add rdi, 0x10
sub rbx, 1
jne 0x1800a4e50
mov r15, qword [rsp + 0x28]
add esi, esi
cmp esi, 8
mov edx, 0x10
jle 0x1800a4e17
mov r12, qword [rsp + 0x38]
jmp 0x1800a4f52
mov r14d, 2
mov r8d, r14d
cmp r8, 1
jle 0x1800a4f42
lea rdi, [r12 + r8]
shl rdi, 4
lea rdx, [r8 + 0x40]
add rdx, r12
add rdx, rdx
lea rcx, [r13 + 0x418]
add rcx, rdi
mov r10, 0xffffffffffffffc0
sub r10, r8
add r10, r10
mov r11, r8
neg r11
add r11, r11
mov rax, r8
shl rax, 4
mov rbx, 0xfffffffffffffbf8
sub rbx, rax
mov rsi, 0xfffffffffffffff8
sub rsi, rax
lea r9, [r8 - 1]
nop
mov rax, qword [rbx + rcx]
xor rax, qword [rdi + r13]
mov qword [rcx - 0x408], rax
mov rax, qword [rcx + r10*8]
xor rax, qword [rdi + r13 + 8]
mov qword [rcx - 0x400], rax
mov rax, qword [rsi + rcx]
xor rax, qword [r13 + rdx*8]
mov qword [rcx - 8], rax
mov rax, qword [rcx + r11*8]
xor rax, qword [r13 + rdx*8 + 8]
mov qword [rcx], rax
lea rcx, [rcx + 0x10]
sub r9, 1
jne 0x1800a4f00
add r14d, r14d
add r8, r8
cmp r14d, 8
jle 0x1800a4ea4
add r15, 0x100
mov qword [rsp + 0x28], r15
add r12, 0x10
mov qword [rsp + 0x38], r12
sub qword [rsp + 0x30], 1
mov edx, 0x10
jne 0x1800a4de1
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.18008a880
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, [r14 + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x10]
nop
lea r8, str.:_block_size_of_underlying_block_cipher_is_not_16
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18000b3b4
nop
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180075184
lea rdx, [0x180118798]
lea rcx, [rsp + 0x80]
call fcn.1800abd74
int3