Function at 0x14007e5c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rbp - 0x51], 0xfffffffffffffffe
mov qword [rsp + 0x138], rbx
mov rax, qword [0x140120678]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x61], r9
mov qword [rbp - 0x49], r8
mov qword [rbp - 0x59], rdx
mov r15, rcx
mov r13d, dword [rdx]
lea r12, [rcx + 0x1fe0]
mov ebx, 0x10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r12 - 0x20]
test al, 4
seta r14b
test al, 0x20
seta sil
test al, 0x80
seta dil
movzx r10d, al
and r10b, 1
test al, 8
seta cl
test al, 0x40
seta r11b
movzx r9d, r11b
xor r9b, cl
test al, 2
seta r8b
test al, 0x10
seta al
movzx edx, dil
xor dl, al
xor r11b, al
xor r11b, r8b
add r11b, r11b
movzx eax, sil
xor al, cl
xor al, r10b
add r11b, al
add r11b, r11b
movzx eax, dl
xor al, r14b
add r11b, al
add r11b, r11b
movzx eax, r9b
xor al, r8b
add r11b, al
add r11b, r11b
movzx eax, sil
xor al, r14b
xor al, r10b
add r11b, al
add r11b, r11b
xor dl, r8b
add r11b, dl
add r11b, r11b
xor r9b, r10b
add r11b, r9b
add r11b, r11b
xor dil, sil
xor dil, r14b
add r11b, dil
mov byte [r12], r11b
lea r12, [r12 + 1]
sub rbx, 1
jne 0x14007e620
mov rcx, qword [r15]
mov rax, qword [rcx]
mov edx, 0x226484
call qword [rax + 0x10]
mov edi, eax
test eax, eax
mov rbx, qword [rbp - 0x49]
mov r12, qword [rbp - 0x61]
je 0x14007e73b
mov dword [rsp + 0x20], eax
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__SendEmptyMsg___failed_for_aes_init_inv_sbox_exp_r_n
mov ecx, 3
call fcn.14000afc0
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__InitInvSBoxExp___failed_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov dword [rbp - 0x49], 1
mov dword [rbp - 0x45], 2
mov dword [rbp - 0x41], 4
xor esi, esi
mov qword [rsp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x38]
call fcn.14007de00
nop
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14007e070
mov edi, eax
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x14007e7d1
mov rcx, qword [rbp - 0x71]
sub rcx, r8
sar rcx, 2
lea rdx, [rcx*4]
mov rax, r8
cmp rdx, 0x1000
jb 0x14007e7c9
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ec04
mov rcx, r8
call fcn.14009fcc0
test edi, edi
je 0x14007e7ff
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcExpSquare___failed_for_exp2_exp4_exp8_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov r9d, 8
lea r8d, [r9 - 7]
mov edx, r13d
mov rcx, r15
call fcn.14007e310
mov edi, eax
test eax, eax
je 0x14007e844
mov dword [rsp + 0x20], eax
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcExpTwoPart___failed_for_exp9_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov dword [rbp - 0x49], 9
mov dword [rbp - 0x45], 0x12
mov dword [rbp - 0x41], 0x24
mov qword [rsp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x38]
call fcn.14007de00
nop
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14007e070
mov edi, eax
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x14007e8d8
mov rcx, qword [rbp - 0x71]
sub rcx, r8
sar rcx, 2
lea rdx, [rcx*4]
mov rax, r8
cmp rdx, 0x1000
jb 0x14007e8d0
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ec0a
mov rcx, r8
call fcn.14009fcc0
test edi, edi
je 0x14007e906
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcExpSquare___failed_for_exp18_exp36_exp72_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov dword [rbp - 0x69], 1
mov dword [rbp - 0x65], 0x12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rsi
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x39]
call fcn.14007de00
nop
mov dword [rbp - 0x61], 0x13
mov dword [rbp - 0x5d], 0x24
mov qword [rbp - 0x21], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x19], xmm0
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x21]
call fcn.14007de00
nop
mov dword [rbp - 0x49], 0x37
mov dword [rbp - 0x45], 0x48
xorps xmm0, xmm0
movdqa xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rsi
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 9]
call fcn.14007de00
nop
mov qword [rsp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x39]
lea rcx, [rsp + 0x38]
call fcn.14007de70
nop
lea r8, [rsp + 0x38]
lea edx, [r13 + 1]
mov rcx, r15
call fcn.14007e1c0
mov edi, eax
add r13d, 2
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14007ea5a
lea r8, [rsp + 0x38]
mov rdx, qword [rbp - 0x79]
call fcn.14007dd70
mov rcx, qword [rbp - 0x71]
mov r8, qword [rsp + 0x38]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x14007ea45
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ec10
mov rcx, r8
call fcn.14009fcc0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rbp - 0x71], rsi
lea r9, [fcn.140068f70]
mov edx, 0x18
lea r8d, [rdx - 0x15]
lea rcx, [rbp - 0x39]
call fcn.1400a0730
test edi, edi
je 0x14007eaa1
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcExpTwoPart___failed_for_exp19_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov dword [rbp - 0x69], 0x7f
mov qword [rsp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
movzx r9d, byte [rsp + 0x30]
lea r8, [rbp - 0x65]
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x38]
call fcn.14007de00
nop
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14007e070
mov edi, eax
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14007eb1c
mov rdx, qword [rbp - 0x71]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007eb17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ebfe
call fcn.14009fcc0
test edi, edi
je 0x14007eb4a
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcExpSquare___failed_for_exp254_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov rcx, qword [r15]
mov rax, qword [rcx]
mov edx, 0x226488
call qword [rax + 0x10]
mov edi, eax
test eax, eax
je 0x14007eba8
mov dword [rsp + 0x20], eax
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__SendEmptyMsg___failed_for_aes_calc_inv_sbox_r_n
mov ecx, 3
call fcn.14000afc0
mov dword [rsp + 0x20], edi
lea r9, str.ERROR
lea r8, [0x1400cbd78]
lea rdx, str.__s_____s___0x_lx__CalcInvSBox2___failed_r_n
mov ecx, 3
call fcn.14000afc0
mov eax, edi
jmp 0x14007ebd7
mov rax, qword [rbp - 0x59]
mov dword [rax], r13d
test r12, r12
je 0x14007ebd5
sub r15, rbx
nop word [rax + rax]
movzx eax, byte [r15 + rbx + 0x2fb0]
mov byte [rbx], al
lea rbx, [rbx + 1]
sub r12, 1
jne 0x14007ebc0
xor eax, eax
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400a0360
mov rbx, qword [rsp + 0x138]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400a47dc
int3
call fcn.1400a47dc
int3
call fcn.1400a47dc
nop
call fcn.1400a47dc
nop
int3