Function at 0x140219a20
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov esi, edx
test ecx, ecx
je 0x140219b12
mov ecx, dword [0x1404ef658]
mov r8d, dword [0x1404b04d4]
lea edx, [r8 + 0x14664609]
add r8d, 0x2bbed4ca
call fcn.14021df70
jmp 0x140219a76
mov ecx, dword [0x1404ef65c]
mov edx, 0x3eeedabd
mov r8d, 0x4e20ac46
call fcn.14021e290
test al, 1
je 0x140219a60
lea rdx, [rsp + 0x3e]
mov ecx, esi
mov r8d, 0x3646b0e4
mov r9d, 0x5fa09993
call fcn.140206280
mov al, 1
test al, al
je 0x140219a60
test byte [rsp + 0x3e], 1
je 0x140219b69
movzx ecx, byte [0x1404ae608]
mov r8d, dword [0x1404b04d4]
lea edx, [r8 + 0x50d1d2c3]
add r8d, 0xd4b22fb0
call fcn.14021e6e0
test al, 1
jne 0x140219c7c
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, 0x707776a1
mov r8d, 0x699fbac5
call fcn.14021e650
cmp byte [rsp + 0x41], 0
jne 0x140219c25
movzx eax, byte [0x1404b04d0]
add al, 0x6e
cmp byte [rsp + 0x40], al
jne 0x140219ae0
jmp 0x140219c7c
mov ecx, esi
mov edx, 0x90c512ac
mov r8d, 0x3c5f3f82
call fcn.14021da90
test al, 1
je 0x140219ba7
mov ecx, 0x6e909fbb
mov edx, 0x7e239af4
call fcn.14021df10
test al, 1
jne 0x140219df2
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0xd4
lock cmpxchg byte [0x1404ae1d2], cl
je 0x140219d63
cmp al, 0x6e
jne 0x140219b50
jmp 0x140219df2
movzx eax, byte [0x1404ae52d]
cmp al, 0xd
je 0x140219e7f
lea rsi, [rsp + 0x3f]
nop dword [rax]
mov rcx, rsi
mov edx, 0x78180203
mov r8d, 0x8d998694
call fcn.14021e670
test al, 1
jne 0x140219c9b
cmp byte [rsp + 0x3f], 0xd
jne 0x140219b80
jmp 0x140219e7f
movzx eax, byte [0x1404ae7ad]
cmp al, 0x93
je 0x140219e47
mov bl, 0xaa
lea rsi, [rsp + 0x50]
nop dword [rax]
mov edx, dword [0x1404b04d4]
lea ecx, [rdx - 0x7da48080]
add edx, 0xa21df6cc
call fcn.1401d2b80
test al, 1
je 0x140219c10
nop dword [rax + rax]
mov al, 0xaf
lock cmpxchg byte [0x1404ae7ad], bl
sete cl
mov edx, dword [0x1404ef65c]
cmp edx, 0x15
jg 0x140219c10
test cl, cl
jne 0x140219daf
cmp al, 0x93
jne 0x140219bc0
jmp 0x140219e47
mov rcx, rsi
mov edx, 0x1a808a54
mov r8d, 0xe71f57b
call fcn.14021e450
jmp 0x140219be0
xor ecx, ecx
lea rdi, [0x1404ae600]
lea rbx, [0x1403c6170]
lea rsi, [rsp + 0x60]
nop word [rax + rax]
movsxd r8, ecx
movzx ecx, byte [r8 + rdi]
movzx edx, byte [r8 + rbx]
mov dword [rsp + 0x28], 0xdef1b2ca
mov dword [rsp + 0x20], 0xf8ba417e
mov r9, rsi
call fcn.14021dc20
mov ecx, dword [rsp + 0x60]
test al, 1
je 0x140219c40
mov ecx, 0x7e740a32
mov edx, 0xe1a6e36c
call fcn.14021e6f0
lea rax, [fcn.140219a20]
add eax, eax
add eax, 0x4140
mov ecx, eax
not ecx
test ecx, eax
jne 0x140219e5e
jmp 0x140219e58
xor esi, esi
lea rdi, [0x1404ae520]
lea rbx, [0x1403c60a0]
nop dword [rax + rax]
movzx edx, byte [rsi + rbx]
add dl, byte [rsi + rdi]
mov eax, dword [0x1404b04d4]
mov ecx, eax
xor ecx, 0xdea1078a
mov r8d, eax
and r8d, 0x5ea1078a
lea r8d, [rcx + r8*2]
mov ecx, eax
xor ecx, 0xd904106e
and eax, 0x5904106e
lea r9d, [rcx + rax*2]
add r9d, 0x4e036f7
mov rcx, rsi
call fcn.14021df40
lea eax, [rsi + 1]
cmp eax, 0xc
jg 0x140219d00
inc rsi
jmp 0x140219cb0
mov eax, dword [0x1404ef658]
lea ecx, [rax - 1]
imul ecx, eax
lea rdx, [rsp + 0x64]
mov r8d, 0xba09251e
mov r9d, 0xb2e3689e
call fcn.14021de90
mov eax, dword [0x1404b04d4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xec926721
mov r8d, ecx
and r8d, 0x136d98de
or r8d, edx
xor eax, 0x136d98de
and ecx, 0x6c926721
or ecx, eax
not ecx
lea eax, [r8 + rcx*2]
cmp dword [rsp + 0x64], eax
je 0x140219e88
jmp 0x140219e93
xor esi, esi
lea rdi, [rsp + 0x3d]
lea rbx, [0x1403c5d60]
lea r14, [0x1404ae1b0]
nop dword [rax + rax]
mov ecx, esi
mov rdx, rdi
mov r8d, 0xb330912c
mov r9d, 0x14783779
call fcn.14021e340
movzx eax, byte [rsp + 0x3d]
add al, byte [rsi + rbx]
mov byte [rsi + r14], al
lea eax, [rsi + 1]
cmp eax, 0x21
jg 0x140219dea
inc rsi
jmp 0x140219d80
mov eax, 0x136d98f0
nop word cs:[rax + rax]
mov ecx, dword [0x1404ef65c]
mov edx, dword [0x1404b04d4]
add edx, eax
cmp ecx, edx
jge 0x140219ddd
mov ecx, dword [0x1404ef65c]
cmp ecx, 0x2b
jle 0x140219dfb
mov ecx, dword [0x1404ef65c]
cmp ecx, 0x2f
jge 0x140219dc0
jmp 0x140219dd2
mov al, 0x6e
xchg byte [0x1404ae1d2], al
lea rax, [0x1404ae1b0]
jmp 0x140219e4e
xor eax, eax
lea rcx, [0x1404ae7a0]
lea rdx, [0x1403c6300]
nop dword [rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
mov r8d, dword [0x1404b04d4]
mov r9d, r8d
xor r9d, 0x136d98df
and r8d, 0x136d98df
lea r8d, [r9 + r8*2]
add eax, r8d
cmp eax, 0xd
jl 0x140219e10
mov al, 0x93
xchg byte [0x1404ae7ad], al
lea rax, [0x1404ae7a0]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret
mov al, 1
test al, al
jne 0x140219e76
lea rax, [fcn.140219a20]
add eax, eax
add eax, 0x4100
mov ecx, eax
not ecx
test ecx, eax
jne 0x140219e70
jmp 0x140219e58
lea rax, [0x1404ae600]
jmp 0x140219e4e
lea rax, [0x1404ae520]
jmp 0x140219e4e
mov eax, dword [0x1404ef65c]
cmp eax, 0x3d
jl 0x140219ea6
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x140219ea0
jmp 0x140219e88
mov al, 0xd
xchg byte [0x1404ae52d], al
jmp 0x140219e7f