Function at 0x14021df20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x14021df79
test edx, edx
je 0x14021dfb9
test r8d, r8d
je 0x14021dff9
test r9d, r9d
je 0x14021e079
movzx eax, byte [0x140485fb3]
cmp al, 0xd3
je 0x14021e1f9
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x140485fb3], cl
je 0x14021e1c9
cmp al, 0xd3
jne 0x14021df60
jmp 0x14021e1f9
test edx, edx
je 0x14021e039
test r8d, r8d
je 0x14021e0a9
movzx eax, byte [0x140485fe6]
cmp al, 0x8b
je 0x14021e239
mov cl, 0x33
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x140485fe6], cl
je 0x14021e205
cmp al, 0x8b
jne 0x14021dfa0
jmp 0x14021e239
test r8d, r8d
je 0x14021e0e9
test r9d, r9d
je 0x14021e129
movzx eax, byte [0x140486009]
cmp al, 0xed
je 0x14021e369
mov esi, dword [rsp + 0x60]
mov cl, 0xdb
mov al, 0xd6
lock cmpxchg byte [0x140486009], cl
je 0x14021e2d9
cmp al, 0xed
jne 0x14021dfe0
jmp 0x14021e369
test r9d, r9d
je 0x14021e159
movzx eax, byte [0x140486075]
cmp al, 0x85
je 0x14021e3a9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x140486075], cl
je 0x14021e375
cmp al, 0x85
jne 0x14021e020
jmp 0x14021e3a9
test r8d, r8d
je 0x14021e189
test r9d, r9d
je 0x14021e245
movzx eax, byte [0x140485f82]
cmp al, 0x2b
je 0x14021e449
mov cl, 0xe6
nop dword [rax]
mov al, 0x91
lock cmpxchg byte [0x140485f82], cl
je 0x14021e41f
cmp al, 0x2b
jne 0x14021e060
jmp 0x14021e449
movzx eax, byte [0x14048614f]
cmp al, 0xad
je 0x14021e3e9
mov cl, 0xce
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x14048614f], cl
je 0x14021e3b5
cmp al, 0xad
jne 0x14021e090
jmp 0x14021e3e9
test r9d, r9d
je 0x14021e279
movzx eax, byte [0x1404860a6]
cmp al, 0xa8
je 0x14021e489
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x47
lock cmpxchg byte [0x1404860a6], cl
je 0x14021e455
cmp al, 0xa8
jne 0x14021e0d0
jmp 0x14021e489
test r9d, r9d
je 0x14021e2a9
movzx eax, byte [0x140486008]
cmp al, 0x57
je 0x14021e4c9
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x140486008], cl
je 0x14021e495
cmp al, 0x57
jne 0x14021e110
jmp 0x14021e4c9
movzx eax, byte [0x140485fa0]
cmp al, 0x8f
je 0x14021e509
mov cl, 0xdc
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x140485fa0], cl
je 0x14021e4d5
cmp al, 0x8f
jne 0x14021e140
jmp 0x14021e509
movzx eax, byte [0x140486192]
cmp al, 0x6e
je 0x14021e549
mov cl, 0xaa
nop word [rax + rax]
mov al, 0xee
lock cmpxchg byte [0x140486192], cl
je 0x14021e515
cmp al, 0x6e
jne 0x14021e170
jmp 0x14021e549
test r9d, r9d
je 0x14021e3f5
movzx eax, byte [0x14048613b]
cmp al, 0x34
je 0x14021e589
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x14048613b], cl
je 0x14021e555
cmp al, 0x34
jne 0x14021e1b0
jmp 0x14021e589
xor eax, eax
lea rcx, [0x140485fb0]
lea rdx, [0x14039b110]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021e1e0
mov al, 0xd3
xchg byte [0x140485fb3], al
lea rax, [0x140485fb0]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140485fe0]
lea rdx, [0x14039b130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x14021e220
mov al, 0x8b
xchg byte [0x140485fe6], al
lea rax, [0x140485fe0]
jmp 0x14021e682
movzx eax, byte [0x140486182]
cmp al, 0xc5
je 0x14021e5c9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x140486182], cl
je 0x14021e595
cmp al, 0xc5
jne 0x14021e260
jmp 0x14021e5c9
movzx eax, byte [0x140486123]
cmp al, 0x36
je 0x14021e609
mov cl, 0x4c
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x140486123], cl
je 0x14021e5d5
cmp al, 0x36
jne 0x14021e290
jmp 0x14021e609
movzx eax, byte [0x1404860b3]
cmp al, 0x76
je 0x14021e649
mov cl, 0x86
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x1404860b3], cl
je 0x14021e612
cmp al, 0x76
jne 0x14021e2c0
jmp 0x14021e649
cmp qword [0x1404c0058], 0
jne 0x14021e33f
mov r9d, esi
xor r9d, 0x11660451
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.14021d8d0
mov rdi, rax
mov qword [0x1404c0058], rax
xor esi, 0x4dc8c0d1
lea rcx, [0x14021d890]
mov edx, esi
call fcn.1401099f0
lea rax, [0x14039b160]
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14021e330
mov rax, qword [0x1404c0058]
xor ecx, ecx
lea rdx, [0x14039b170]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14021e350
mov al, 0xed
xchg byte [0x140486009], al
mov rax, qword [0x1404c0058]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486060]
lea rdx, [0x14039b1f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021e390
mov al, 0x85
xchg byte [0x140486075], al
lea rax, [0x140486060]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486140]
lea rdx, [0x14039b2d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14021e3d0
mov al, 0xad
xchg byte [0x14048614f], al
lea rax, [0x140486140]
jmp 0x14021e682
movzx eax, byte [0x1404861ab]
cmp al, 0xa6
je 0x14021e67b
mov cl, 0x7c
mov al, 0xee
lock cmpxchg byte [0x1404861ab], cl
je 0x14021e652
cmp al, 0xa6
jne 0x14021e406
jmp 0x14021e67b
xor eax, eax
lea rcx, [0x140485f70]
lea rdx, [0x14039b0e0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x14021e430
mov al, 0x2b
xchg byte [0x140485f82], al
lea rax, [0x140485f70]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486090]
lea rdx, [0x14039b220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x14021e470
mov al, 0xa8
xchg byte [0x1404860a6], al
lea rax, [0x140486090]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140485ff0]
lea rdx, [0x14039b140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14021e4b0
mov al, 0x57
xchg byte [0x140486008], al
lea rax, [0x140485ff0]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140485f90]
lea rdx, [0x14039b100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021e4f0
mov al, 0x8f
xchg byte [0x140485fa0], al
lea rax, [0x140485f90]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486190]
lea rdx, [0x14039b320]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021e530
mov al, 0x6e
xchg byte [0x140486192], al
lea rax, [0x140486190]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486130]
lea rdx, [0x14039b2c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14021e570
mov al, 0x34
xchg byte [0x14048613b], al
lea rax, [0x140486130]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486180]
lea rdx, [0x14039b310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021e5b0
mov al, 0xc5
xchg byte [0x140486182], al
lea rax, [0x140486180]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x140486100]
lea rdx, [0x14039b290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14021e5f0
mov al, 0x36
xchg byte [0x140486123], al
lea rax, [0x140486100]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x1404860b0]
lea rdx, [0x14039b240]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021e630
mov al, 0x76
xchg byte [0x1404860b3], al
lea rax, [0x1404860b0]
jmp 0x14021e682
xor eax, eax
lea rcx, [0x1404861a0]
lea rdx, [0x14039b330]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14021e662
mov al, 0xa6
xchg byte [0x1404861ab], al
lea rax, [0x1404861a0]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret