Function at 0x14021d900
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x14021d959
test edx, edx
je 0x14021d999
test r8d, r8d
je 0x14021d9d9
test r9d, r9d
je 0x14021da59
movzx eax, byte [0x140486035]
cmp al, 0x32
je 0x14021dbb9
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x140486035], cl
je 0x14021db89
cmp al, 0x32
jne 0x14021d940
jmp 0x14021dbb9
test edx, edx
je 0x14021da19
test r8d, r8d
je 0x14021da89
movzx eax, byte [0x140485f65]
cmp al, 0x63
je 0x14021dbf9
mov cl, 0x73
nop dword [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x140485f65], cl
je 0x14021dbc5
cmp al, 0x63
jne 0x14021d980
jmp 0x14021dbf9
test r8d, r8d
je 0x14021dab9
test r9d, r9d
je 0x14021daf9
movzx eax, byte [0x140485f42]
cmp al, 0x7d
je 0x14021dc69
mov cl, 0x39
nop dword [rax]
mov al, 0xb7
lock cmpxchg byte [0x140485f42], cl
je 0x14021dc39
cmp al, 0x7d
jne 0x14021d9c0
jmp 0x14021dc69
test r9d, r9d
je 0x14021db29
movzx eax, byte [0x1404860f3]
cmp al, 0x6e
je 0x14021dca9
mov cl, 0xc4
nop word cs:[rax + rax]
mov al, 0x80
lock cmpxchg byte [0x1404860f3], cl
je 0x14021dc75
cmp al, 0x6e
jne 0x14021da00
jmp 0x14021dca9
test r8d, r8d
je 0x14021db59
movzx eax, byte [0x140486056]
cmp al, 0x4d
je 0x14021dd29
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x140486056], cl
je 0x14021dcf5
cmp al, 0x4d
jne 0x14021da40
jmp 0x14021dd29
movzx eax, byte [0x1404860e5]
cmp al, 0xee
je 0x14021dce9
mov cl, 0x2c
nop word [rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x1404860e5], cl
je 0x14021dcb5
cmp al, 0xee
jne 0x14021da70
jmp 0x14021dce9
movzx eax, byte [0x140486019]
cmp al, 0x39
je 0x14021dd69
mov cl, 0x13
nop word [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x140486019], cl
je 0x14021dd35
cmp al, 0x39
jne 0x14021daa0
jmp 0x14021dd69
test r9d, r9d
je 0x14021dc05
movzx eax, byte [0x140485fd0]
cmp al, 0xb4
je 0x14021dda9
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x140485fd0], cl
je 0x14021dd75
cmp al, 0xb4
jne 0x14021dae0
jmp 0x14021dda9
movzx eax, byte [0x1404860dc]
cmp al, 0x29
je 0x14021dde9
mov cl, 0x84
nop word [rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x1404860dc], cl
je 0x14021ddb5
cmp al, 0x29
jne 0x14021db10
jmp 0x14021dde9
movzx eax, byte [0x14048600a]
cmp al, 0x3f
je 0x14021de89
mov esi, dword [rsp + 0x60]
mov cl, 0xa3
nop
mov al, 0x38
lock cmpxchg byte [0x14048600a], cl
je 0x14021ddf5
cmp al, 0x3f
jne 0x14021db40
jmp 0x14021de89
movzx eax, byte [0x140486176]
cmp al, 0xae
je 0x14021dec9
mov cl, 0x82
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x140486176], cl
je 0x14021de92
cmp al, 0xae
jne 0x14021db70
jmp 0x14021dec9
xor eax, eax
lea rcx, [0x140486020]
lea rdx, [0x14039b1b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021dba0
mov al, 0x32
xchg byte [0x140486035], al
lea rax, [0x140486020]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140485f50]
lea rdx, [0x14039b0c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021dbe0
mov al, 0x63
xchg byte [0x140485f65], al
lea rax, [0x140485f50]
jmp 0x14021df10
movzx eax, byte [0x140486089]
cmp al, 0x8d
je 0x14021df09
mov cl, 0xb7
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x140486089], cl
je 0x14021ded2
cmp al, 0x8d
jne 0x14021dc20
jmp 0x14021df09
xor eax, eax
lea rcx, [0x140485f40]
lea rdx, [0x14039b0b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14021dc50
mov al, 0x7d
xchg byte [0x140485f42], al
lea rax, [0x140485f40]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x1404860f0]
lea rdx, [0x14039b280]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021dc90
mov al, 0x6e
xchg byte [0x1404860f3], al
lea rax, [0x1404860f0]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x1404860e0]
lea rdx, [0x14039b270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x14021dcd0
mov al, 0xee
xchg byte [0x1404860e5], al
lea rax, [0x1404860e0]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140486040]
lea rdx, [0x14039b1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x14021dd10
mov al, 0x4d
xchg byte [0x140486056], al
lea rax, [0x140486040]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140486010]
lea rdx, [0x14039b1a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14021dd50
mov al, 0x39
xchg byte [0x140486019], al
lea rax, [0x140486010]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140485fc0]
lea rdx, [0x14039b120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021dd90
mov al, 0xb4
xchg byte [0x140485fd0], al
lea rax, [0x140485fc0]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x1404860c0]
lea rdx, [0x14039b250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14021ddd0
mov al, 0x29
xchg byte [0x1404860dc], al
lea rax, [0x1404860c0]
jmp 0x14021df10
cmp qword [0x1404c0060], 0
jne 0x14021de51
mov r9d, esi
xor r9d, 0x48f11605
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.14021d8d0
mov rdi, rax
mov qword [0x1404c0060], rax
xor esi, 0x145fd285
lea rcx, [0x14021d8b0]
mov edx, esi
call fcn.1401099f0
lea rax, [0x14039b180]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14021de42
mov rax, qword [0x1404c0060]
xor ecx, ecx
lea rdx, [0x14039b190]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14021de70
mov al, 0x3f
xchg byte [0x14048600a], al
mov rax, qword [0x1404c0060]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140486150]
lea rdx, [0x14039b2e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14021deb0
mov al, 0xae
xchg byte [0x140486176], al
lea rax, [0x140486150]
jmp 0x14021df10
xor eax, eax
lea rcx, [0x140486080]
lea rdx, [0x14039b210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x14021def0
mov al, 0x8d
xchg byte [0x140486089], al
lea rax, [0x140486080]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret