Function at 0x14021bc90
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x14021bce9
test edx, edx
je 0x14021bd29
test r8d, r8d
je 0x14021bd69
test r9d, r9d
je 0x14021bde9
movzx eax, byte [0x140484ff5]
cmp al, 0x32
je 0x14021bf49
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x140484ff5], cl
je 0x14021bf19
cmp al, 0x32
jne 0x14021bcd0
jmp 0x14021bf49
test edx, edx
je 0x14021bda9
test r8d, r8d
je 0x14021be19
movzx eax, byte [0x140484f25]
cmp al, 0x63
je 0x14021bf89
mov cl, 0x73
nop dword [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x140484f25], cl
je 0x14021bf55
cmp al, 0x63
jne 0x14021bd10
jmp 0x14021bf89
test r8d, r8d
je 0x14021be49
test r9d, r9d
je 0x14021be89
movzx eax, byte [0x140484f02]
cmp al, 0x7d
je 0x14021bff9
mov cl, 0x39
nop dword [rax]
mov al, 0xb7
lock cmpxchg byte [0x140484f02], cl
je 0x14021bfc9
cmp al, 0x7d
jne 0x14021bd50
jmp 0x14021bff9
test r9d, r9d
je 0x14021beb9
movzx eax, byte [0x1404850b3]
cmp al, 0x6e
je 0x14021c039
mov cl, 0xc4
nop word cs:[rax + rax]
mov al, 0x80
lock cmpxchg byte [0x1404850b3], cl
je 0x14021c005
cmp al, 0x6e
jne 0x14021bd90
jmp 0x14021c039
test r8d, r8d
je 0x14021bee9
movzx eax, byte [0x140485016]
cmp al, 0x4d
je 0x14021c0b9
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x140485016], cl
je 0x14021c085
cmp al, 0x4d
jne 0x14021bdd0
jmp 0x14021c0b9
movzx eax, byte [0x1404850a5]
cmp al, 0xee
je 0x14021c079
mov cl, 0x2c
nop word [rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x1404850a5], cl
je 0x14021c045
cmp al, 0xee
jne 0x14021be00
jmp 0x14021c079
movzx eax, byte [0x140484fd9]
cmp al, 0x39
je 0x14021c0f9
mov cl, 0x13
nop word [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x140484fd9], cl
je 0x14021c0c5
cmp al, 0x39
jne 0x14021be30
jmp 0x14021c0f9
test r9d, r9d
je 0x14021bf95
movzx eax, byte [0x140484f90]
cmp al, 0xb4
je 0x14021c139
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x140484f90], cl
je 0x14021c105
cmp al, 0xb4
jne 0x14021be70
jmp 0x14021c139
movzx eax, byte [0x14048509c]
cmp al, 0x29
je 0x14021c179
mov cl, 0x84
nop word [rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x14048509c], cl
je 0x14021c145
cmp al, 0x29
jne 0x14021bea0
jmp 0x14021c179
movzx eax, byte [0x140484fca]
cmp al, 0x3f
je 0x14021c219
mov esi, dword [rsp + 0x60]
mov cl, 0xa3
nop
mov al, 0x38
lock cmpxchg byte [0x140484fca], cl
je 0x14021c185
cmp al, 0x3f
jne 0x14021bed0
jmp 0x14021c219
movzx eax, byte [0x140485136]
cmp al, 0xae
je 0x14021c259
mov cl, 0x82
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x140485136], cl
je 0x14021c222
cmp al, 0xae
jne 0x14021bf00
jmp 0x14021c259
xor eax, eax
lea rcx, [0x140484fe0]
lea rdx, [0x14039a1a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021bf30
mov al, 0x32
xchg byte [0x140484ff5], al
lea rax, [0x140484fe0]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140484f10]
lea rdx, [0x14039a0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021bf70
mov al, 0x63
xchg byte [0x140484f25], al
lea rax, [0x140484f10]
jmp 0x14021c2a0
movzx eax, byte [0x140485049]
cmp al, 0x8d
je 0x14021c299
mov cl, 0xb7
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x140485049], cl
je 0x14021c262
cmp al, 0x8d
jne 0x14021bfb0
jmp 0x14021c299
xor eax, eax
lea rcx, [0x140484f00]
lea rdx, [0x14039a0a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021bfe0
mov al, 0x7d
xchg byte [0x140484f02], al
lea rax, [0x140484f00]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x1404850b0]
lea rdx, [0x14039a270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021c020
mov al, 0x6e
xchg byte [0x1404850b3], al
lea rax, [0x1404850b0]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x1404850a0]
lea rdx, [0x14039a260]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x14021c060
mov al, 0xee
xchg byte [0x1404850a5], al
lea rax, [0x1404850a0]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140485000]
lea rdx, [0x14039a1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x14021c0a0
mov al, 0x4d
xchg byte [0x140485016], al
lea rax, [0x140485000]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140484fd0]
lea rdx, [0x14039a190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14021c0e0
mov al, 0x39
xchg byte [0x140484fd9], al
lea rax, [0x140484fd0]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140484f80]
lea rdx, [0x14039a110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021c120
mov al, 0xb4
xchg byte [0x140484f90], al
lea rax, [0x140484f80]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140485080]
lea rdx, [0x14039a240]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14021c160
mov al, 0x29
xchg byte [0x14048509c], al
lea rax, [0x140485080]
jmp 0x14021c2a0
cmp qword [0x1404bf030], 0
jne 0x14021c1e1
mov r9d, esi
xor r9d, 0x48f11605
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.14021bc60
mov rdi, rax
mov qword [0x1404bf030], rax
xor esi, 0x145fd285
lea rcx, [0x14021bc40]
mov edx, esi
call fcn.140107920
lea rax, [0x14039a170]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14021c1d2
mov rax, qword [0x1404bf030]
xor ecx, ecx
lea rdx, [0x14039a180]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14021c200
mov al, 0x3f
xchg byte [0x140484fca], al
mov rax, qword [0x1404bf030]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140485110]
lea rdx, [0x14039a2d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14021c240
mov al, 0xae
xchg byte [0x140485136], al
lea rax, [0x140485110]
jmp 0x14021c2a0
xor eax, eax
lea rcx, [0x140485040]
lea rdx, [0x14039a200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14021c280
mov al, 0x8d
xchg byte [0x140485049], al
lea rax, [0x140485040]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret