Function at 0x14021a730
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14021a77c
test edx, edx
je 0x14021a7cc
test r8d, r8d
je 0x14021a80c
test r9d, r9d
je 0x14021a889
movzx eax, byte [0x140485793]
cmp al, 0xf4
je 0x14021a774
mov cl, 0x93
nop dword [rax + rax]
mov al, 0x9f
lock cmpxchg byte [0x140485793], cl
je 0x14021aa09
cmp al, 0xf4
jne 0x14021a760
lea rax, [0x140485790]
ret
test edx, edx
je 0x14021a84c
test r8d, r8d
je 0x14021a8bc
test r9d, r9d
je 0x14021a939
movzx eax, byte [0x140485a4d]
cmp al, 0xc8
je 0x14021a7c4
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0xef
lock cmpxchg byte [0x140485a4d], cl
je 0x14021aad9
cmp al, 0xc8
jne 0x14021a7b0
lea rax, [0x140485a40]
ret
test r8d, r8d
je 0x14021a8f9
test r9d, r9d
je 0x14021a969
movzx eax, byte [0x1404858a3]
cmp al, 0x2a
je 0x14021a804
mov cl, 0xbb
nop dword [rax + rax]
mov al, 0xdd
lock cmpxchg byte [0x1404858a3], cl
je 0x14021ab11
cmp al, 0x2a
jne 0x14021a7f0
lea rax, [0x1404858a0]
ret
test r9d, r9d
je 0x14021a999
movzx eax, byte [0x1404859bd]
cmp al, 0xf8
je 0x14021a844
mov cl, 0x5a
nop word cs:[rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x1404859bd], cl
je 0x14021ab51
cmp al, 0xf8
jne 0x14021a830
lea rax, [0x1404859b0]
ret
test r8d, r8d
je 0x14021a9c9
test r9d, r9d
je 0x14021aa41
movzx eax, byte [0x14048588c]
cmp al, 0x51
je 0x14021ac29
mov cl, 0x35
nop
mov al, 0x24
lock cmpxchg byte [0x14048588c], cl
je 0x14021abfb
cmp al, 0x51
jne 0x14021a870
jmp 0x14021ac29
movzx eax, byte [0x1404858ff]
cmp al, 0x3f
je 0x14021a8b4
mov cl, 0x1a
nop word cs:[rax + rax]
mov al, 0x57
lock cmpxchg byte [0x1404858ff], cl
je 0x14021ab91
cmp al, 0x3f
jne 0x14021a8a0
lea rax, [0x1404858f0]
ret
test r9d, r9d
je 0x14021aa79
movzx eax, byte [0x140485868]
cmp al, 0x70
je 0x14021ac69
mov cl, 0x12
nop word cs:[rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x140485868], cl
je 0x14021ac31
cmp al, 0x70
jne 0x14021a8e0
jmp 0x14021ac69
test r9d, r9d
je 0x14021aaa9
movzx eax, byte [0x140485825]
cmp al, 0x31
je 0x14021aca9
mov cl, 0x54
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x140485825], cl
je 0x14021ac71
cmp al, 0x31
jne 0x14021a920
jmp 0x14021aca9
movzx eax, byte [0x140485a98]
cmp al, 0x1c
je 0x14021ace9
mov cl, 0x29
nop word [rax + rax]
mov al, 0xa1
lock cmpxchg byte [0x140485a98], cl
je 0x14021acb1
cmp al, 0x1c
jne 0x14021a950
jmp 0x14021ace9
movzx eax, byte [0x140485800]
cmp al, 0x61
je 0x14021ad29
mov cl, 0x47
nop word [rax + rax]
mov al, 0x88
lock cmpxchg byte [0x140485800], cl
je 0x14021acf1
cmp al, 0x61
jne 0x14021a980
jmp 0x14021ad29
movzx eax, byte [0x14048597c]
cmp al, 0x2f
je 0x14021ad69
mov cl, 0x24
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x14048597c], cl
je 0x14021ad31
cmp al, 0x2f
jne 0x14021a9b0
jmp 0x14021ad69
test r9d, r9d
je 0x14021abd1
movzx eax, byte [0x140485a05]
cmp al, 0x66
je 0x14021ada9
mov cl, 0xc0
nop word cs:[rax + rax]
mov al, 0x5b
lock cmpxchg byte [0x140485a05], cl
je 0x14021ad71
cmp al, 0x66
jne 0x14021a9f0
jmp 0x14021ada9
xor eax, eax
lea rcx, [0x140485790]
lea rdx, [0x14039a930]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021aa20
mov al, 0xf4
xchg byte [0x140485793], al
lea rax, [0x140485790]
ret
movzx eax, byte [0x1404857dc]
cmp al, 0xe0
je 0x14021ade9
mov cl, 0xe1
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x1404857dc], cl
je 0x14021adb1
cmp al, 0xe0
jne 0x14021aa60
jmp 0x14021ade9
movzx eax, byte [0x1404859ed]
cmp al, 0xfd
je 0x14021ae29
mov cl, 0x2d
nop word [rax + rax]
mov al, 0x79
lock cmpxchg byte [0x1404859ed], cl
je 0x14021adf1
cmp al, 0xfd
jne 0x14021aa90
jmp 0x14021ae29
movzx eax, byte [0x1404857c5]
cmp al, 0xa
je 0x14021ae69
mov cl, 0xd3
nop word [rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x1404857c5], cl
je 0x14021ae31
cmp al, 0xa
jne 0x14021aac0
jmp 0x14021ae69
xor eax, eax
lea rcx, [0x140485a40]
lea rdx, [0x14039abd0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14021aaf0
mov al, 0xc8
xchg byte [0x140485a4d], al
lea rax, [0x140485a40]
ret
xor eax, eax
lea rcx, [0x1404858a0]
lea rdx, [0x14039aa30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021ab30
mov al, 0x2a
xchg byte [0x1404858a3], al
lea rax, [0x1404858a0]
ret
xor eax, eax
lea rcx, [0x1404859b0]
lea rdx, [0x14039ab40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14021ab70
mov al, 0xf8
xchg byte [0x1404859bd], al
lea rax, [0x1404859b0]
ret
xor eax, eax
lea rcx, [0x1404858f0]
lea rdx, [0x14039aa80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14021abb0
mov al, 0x3f
xchg byte [0x1404858ff], al
lea rax, [0x1404858f0]
ret
movzx eax, byte [0x140485abd]
cmp al, 0x24
je 0x14021ae9a
mov cl, 0xeb
mov al, 8
lock cmpxchg byte [0x140485abd], cl
je 0x14021ae71
cmp al, 0x24
jne 0x14021abe2
jmp 0x14021ae9a
xor eax, eax
lea rcx, [0x140485870]
lea rdx, [0x14039aa00]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14021ac10
mov al, 0x51
xchg byte [0x14048588c], al
lea rax, [0x140485870]
ret
xor eax, eax
lea rcx, [0x140485850]
lea rdx, [0x14039a9e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14021ac50
mov al, 0x70
xchg byte [0x140485868], al
lea rax, [0x140485850]
ret
xor eax, eax
lea rcx, [0x140485810]
lea rdx, [0x14039a9a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021ac90
mov al, 0x31
xchg byte [0x140485825], al
lea rax, [0x140485810]
ret
xor eax, eax
lea rcx, [0x140485a80]
lea rdx, [0x14039ac10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14021acd0
mov al, 0x1c
xchg byte [0x140485a98], al
lea rax, [0x140485a80]
ret
xor eax, eax
lea rcx, [0x1404857f0]
lea rdx, [0x14039a990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021ad10
mov al, 0x61
xchg byte [0x140485800], al
lea rax, [0x1404857f0]
ret
xor eax, eax
lea rcx, [0x140485970]
lea rdx, [0x14039ab00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x14021ad50
mov al, 0x2f
xchg byte [0x14048597c], al
lea rax, [0x140485970]
ret
xor eax, eax
lea rcx, [0x1404859f0]
lea rdx, [0x14039ab80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021ad90
mov al, 0x66
xchg byte [0x140485a05], al
lea rax, [0x1404859f0]
ret
xor eax, eax
lea rcx, [0x1404857d0]
lea rdx, [0x14039a970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x14021add0
mov al, pe_nt_image_headers64
xchg byte [0x1404857dc], al
lea rax, [0x1404857d0]
ret
xor eax, eax
lea rcx, [0x1404859e0]
lea rdx, [0x14039ab70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14021ae10
mov al, 0xfd
xchg byte [0x1404859ed], al
lea rax, [0x1404859e0]
ret
xor eax, eax
lea rcx, [0x1404857c0]
lea rdx, [0x14039a960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x14021ae50
mov al, 0xa
xchg byte [0x1404857c5], al
lea rax, [0x1404857c0]
ret
xor eax, eax
lea rcx, [0x140485ab0]
lea rdx, [0x14039ac40]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14021ae81
mov al, 0x24
xchg byte [0x140485abd], al
lea rax, [0x140485ab0]
ret