Function at 0x14021c2b0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x14021c309
test edx, edx
je 0x14021c349
test r8d, r8d
je 0x14021c389
test r9d, r9d
je 0x14021c409
movzx eax, byte [0x140484f73]
cmp al, 0xd3
je 0x14021c589
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x140484f73], cl
je 0x14021c559
cmp al, 0xd3
jne 0x14021c2f0
jmp 0x14021c589
test edx, edx
je 0x14021c3c9
test r8d, r8d
je 0x14021c439
movzx eax, byte [0x140484fa6]
cmp al, 0x8b
je 0x14021c5c9
mov cl, 0x33
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x140484fa6], cl
je 0x14021c595
cmp al, 0x8b
jne 0x14021c330
jmp 0x14021c5c9
test r8d, r8d
je 0x14021c479
test r9d, r9d
je 0x14021c4b9
movzx eax, byte [0x140484fc9]
cmp al, 0xed
je 0x14021c6f9
mov esi, dword [rsp + 0x60]
mov cl, 0xdb
mov al, 0xd6
lock cmpxchg byte [0x140484fc9], cl
je 0x14021c669
cmp al, 0xed
jne 0x14021c370
jmp 0x14021c6f9
test r9d, r9d
je 0x14021c4e9
movzx eax, byte [0x140485035]
cmp al, 0x85
je 0x14021c739
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x140485035], cl
je 0x14021c705
cmp al, 0x85
jne 0x14021c3b0
jmp 0x14021c739
test r8d, r8d
je 0x14021c519
test r9d, r9d
je 0x14021c5d5
movzx eax, byte [0x140484f42]
cmp al, 0x2b
je 0x14021c7d9
mov cl, 0xe6
nop dword [rax]
mov al, 0x91
lock cmpxchg byte [0x140484f42], cl
je 0x14021c7af
cmp al, 0x2b
jne 0x14021c3f0
jmp 0x14021c7d9
movzx eax, byte [0x14048510f]
cmp al, 0xad
je 0x14021c779
mov cl, 0xce
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x14048510f], cl
je 0x14021c745
cmp al, 0xad
jne 0x14021c420
jmp 0x14021c779
test r9d, r9d
je 0x14021c609
movzx eax, byte [0x140485066]
cmp al, 0xa8
je 0x14021c819
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x47
lock cmpxchg byte [0x140485066], cl
je 0x14021c7e5
cmp al, 0xa8
jne 0x14021c460
jmp 0x14021c819
test r9d, r9d
je 0x14021c639
movzx eax, byte [0x140484fc8]
cmp al, 0x57
je 0x14021c859
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x140484fc8], cl
je 0x14021c825
cmp al, 0x57
jne 0x14021c4a0
jmp 0x14021c859
movzx eax, byte [0x140484f60]
cmp al, 0x8f
je 0x14021c899
mov cl, 0xdc
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x140484f60], cl
je 0x14021c865
cmp al, 0x8f
jne 0x14021c4d0
jmp 0x14021c899
movzx eax, byte [0x140485152]
cmp al, 0x6e
je 0x14021c8d9
mov cl, 0xaa
nop word [rax + rax]
mov al, 0xee
lock cmpxchg byte [0x140485152], cl
je 0x14021c8a5
cmp al, 0x6e
jne 0x14021c500
jmp 0x14021c8d9
test r9d, r9d
je 0x14021c785
movzx eax, byte [0x1404850fb]
cmp al, 0x34
je 0x14021c919
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x1404850fb], cl
je 0x14021c8e5
cmp al, 0x34
jne 0x14021c540
jmp 0x14021c919
xor eax, eax
lea rcx, [0x140484f70]
lea rdx, [0x14039a100]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021c570
mov al, 0xd3
xchg byte [0x140484f73], al
lea rax, [0x140484f70]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140484fa0]
lea rdx, [0x14039a120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x14021c5b0
mov al, 0x8b
xchg byte [0x140484fa6], al
lea rax, [0x140484fa0]
jmp 0x14021ca12
movzx eax, byte [0x140485142]
cmp al, 0xc5
je 0x14021c959
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x140485142], cl
je 0x14021c925
cmp al, 0xc5
jne 0x14021c5f0
jmp 0x14021c959
movzx eax, byte [0x1404850e3]
cmp al, 0x36
je 0x14021c999
mov cl, 0x4c
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x1404850e3], cl
je 0x14021c965
cmp al, 0x36
jne 0x14021c620
jmp 0x14021c999
movzx eax, byte [0x140485073]
cmp al, 0x76
je 0x14021c9d9
mov cl, 0x86
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x140485073], cl
je 0x14021c9a2
cmp al, 0x76
jne 0x14021c650
jmp 0x14021c9d9
cmp qword [0x1404bf028], 0
jne 0x14021c6cf
mov r9d, esi
xor r9d, 0x11660451
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.14021bc60
mov rdi, rax
mov qword [0x1404bf028], rax
xor esi, 0x4dc8c0d1
lea rcx, [0x14021bc20]
mov edx, esi
call fcn.140107920
lea rax, [0x14039a150]
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14021c6c0
mov rax, qword [0x1404bf028]
xor ecx, ecx
lea rdx, [0x14039a160]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14021c6e0
mov al, 0xed
xchg byte [0x140484fc9], al
mov rax, qword [0x1404bf028]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485020]
lea rdx, [0x14039a1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021c720
mov al, 0x85
xchg byte [0x140485035], al
lea rax, [0x140485020]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485100]
lea rdx, [0x14039a2c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14021c760
mov al, 0xad
xchg byte [0x14048510f], al
lea rax, [0x140485100]
jmp 0x14021ca12
movzx eax, byte [0x14048516b]
cmp al, 0xa6
je 0x14021ca0b
mov cl, 0x7c
mov al, 0xee
lock cmpxchg byte [0x14048516b], cl
je 0x14021c9e2
cmp al, 0xa6
jne 0x14021c796
jmp 0x14021ca0b
xor eax, eax
lea rcx, [0x140484f30]
lea rdx, [0x14039a0d0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x14021c7c0
mov al, 0x2b
xchg byte [0x140484f42], al
lea rax, [0x140484f30]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485050]
lea rdx, [0x14039a210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x14021c800
mov al, 0xa8
xchg byte [0x140485066], al
lea rax, [0x140485050]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140484fb0]
lea rdx, [0x14039a130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14021c840
mov al, 0x57
xchg byte [0x140484fc8], al
lea rax, [0x140484fb0]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140484f50]
lea rdx, [0x14039a0f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021c880
mov al, 0x8f
xchg byte [0x140484f60], al
lea rax, [0x140484f50]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485150]
lea rdx, [0x14039a310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021c8c0
mov al, 0x6e
xchg byte [0x140485152], al
lea rax, [0x140485150]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x1404850f0]
lea rdx, [0x14039a2b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14021c900
mov al, 0x34
xchg byte [0x1404850fb], al
lea rax, [0x1404850f0]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485140]
lea rdx, [0x14039a300]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021c940
mov al, 0xc5
xchg byte [0x140485142], al
lea rax, [0x140485140]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x1404850c0]
lea rdx, [0x14039a280]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14021c980
mov al, 0x36
xchg byte [0x1404850e3], al
lea rax, [0x1404850c0]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485070]
lea rdx, [0x14039a230]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021c9c0
mov al, 0x76
xchg byte [0x140485073], al
lea rax, [0x140485070]
jmp 0x14021ca12
xor eax, eax
lea rcx, [0x140485160]
lea rdx, [0x14039a320]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14021c9f2
mov al, 0xa6
xchg byte [0x14048516b], al
lea rax, [0x140485160]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret