Function at 0x140220e70
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140220ebc
test edx, edx
je 0x140220f0c
test r8d, r8d
je 0x140220f4c
movzx eax, byte [0x140512add]
cmp al, 0x19
je 0x140220eb4
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x92
lock cmpxchg byte [0x140512add], cl
je 0x14022102c
cmp al, 0x19
jne 0x140220ea0
lea rax, [0x140512ad0]
ret
test edx, edx
je 0x140220f7c
test r8d, r8d
je 0x140220fb9
test r9d, r9d
je 0x140221061
movzx eax, byte [0x140512a6d]
cmp al, 0x3f
je 0x140220f04
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x140512a6d], cl
je 0x1402211b9
cmp al, 0x3f
jne 0x140220ef0
lea rax, [0x140512a60]
ret
test r8d, r8d
je 0x140220ff9
movzx eax, byte [0x140512855]
cmp al, 0x6f
je 0x140220f44
mov cl, 0x69
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x140512855], cl
je 0x1402210d9
cmp al, 0x6f
jne 0x140220f30
lea rax, [0x140512850]
ret
movzx eax, byte [0x1405127f3]
cmp al, 0x90
je 0x140220f74
mov cl, 0x78
nop dword [rax]
mov al, 0x3e
lock cmpxchg byte [0x1405127f3], cl
je 0x140221111
cmp al, 0x90
jne 0x140220f60
lea rax, [0x1405127f0]
ret
test r8d, r8d
je 0x140221099
test r9d, r9d
je 0x140221151
movzx eax, byte [0x1405129a3]
cmp al, 0xe9
je 0x140221289
mov cl, 0x9c
nop
mov al, 0xfa
lock cmpxchg byte [0x1405129a3], cl
je 0x14022125b
cmp al, 0xe9
jne 0x140220fa0
jmp 0x140221289
test r9d, r9d
je 0x140221189
movzx eax, byte [0x140512862]
cmp al, 0x83
je 0x1402212c9
mov cl, 0xda
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x140512862], cl
je 0x140221291
cmp al, 0x83
jne 0x140220fe0
jmp 0x1402212c9
movzx eax, byte [0x14051296a]
cmp al, 0xba
je 0x140221024
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x14051296a], cl
je 0x1402211f1
cmp al, 0xba
jne 0x140221010
lea rax, [0x140512940]
ret
xor eax, eax
lea rcx, [0x140512ad0]
lea rdx, [0x14042c240]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140221040
mov al, 0x19
xchg byte [0x140512add], al
lea rax, [0x140512ad0]
ret
movzx eax, byte [0x140512905]
cmp al, 0x63
je 0x140221309
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x78
lock cmpxchg byte [0x140512905], cl
je 0x1402212d1
cmp al, 0x63
jne 0x140221080
jmp 0x140221309
test r9d, r9d
je 0x140221231
movzx eax, byte [0x140512a7f]
cmp al, 0x8c
je 0x140221349
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x140512a7f], cl
je 0x140221311
cmp al, 0x8c
jne 0x1402210c0
jmp 0x140221349
xor eax, eax
lea rcx, [0x140512850]
lea rdx, [0x14042bfc0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402210f0
mov al, 0x6f
xchg byte [0x140512855], al
lea rax, [0x140512850]
ret
xor eax, eax
lea rcx, [0x1405127f0]
lea rdx, [0x14042bf70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140221130
mov al, 0x90
xchg byte [0x1405127f3], al
lea rax, [0x1405127f0]
ret
movzx eax, byte [0x1405128d4]
cmp al, 0x51
je 0x140221389
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x71
lock cmpxchg byte [0x1405128d4], cl
je 0x140221351
cmp al, 0x51
jne 0x140221170
jmp 0x140221389
movzx eax, byte [0x140512843]
cmp al, 0xf0
je 0x1402213c9
mov cl, 0x75
nop word [rax + rax]
mov al, 0x74
lock cmpxchg byte [0x140512843], cl
je 0x140221391
cmp al, 0xf0
jne 0x1402211a0
jmp 0x1402213c9
xor eax, eax
lea rcx, [0x140512a60]
lea rdx, [0x14042c1d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1402211d0
mov al, 0x3f
xchg byte [0x140512a6d], al
lea rax, [0x140512a60]
ret
xor eax, eax
lea rcx, [0x140512940]
lea rdx, [0x14042c0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2a
jl 0x140221210
mov al, 0xba
xchg byte [0x14051296a], al
lea rax, [0x140512940]
ret
movzx eax, byte [0x140512995]
cmp al, 0x26
je 0x1402213fa
mov cl, 0x1f
mov al, 0x8f
lock cmpxchg byte [0x140512995], cl
je 0x1402213d1
cmp al, 0x26
jne 0x140221242
jmp 0x1402213fa
xor eax, eax
lea rcx, [0x1405129a0]
lea rdx, [0x14042c110]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140221270
mov al, 0xe9
xchg byte [0x1405129a3], al
lea rax, [0x1405129a0]
ret
xor eax, eax
lea rcx, [0x140512860]
lea rdx, [0x14042bfd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402212b0
mov al, 0x83
xchg byte [0x140512862], al
lea rax, [0x140512860]
ret
xor eax, eax
lea rcx, [0x140512900]
lea rdx, [0x14042c070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402212f0
mov al, 0x63
xchg byte [0x140512905], al
lea rax, [0x140512900]
ret
xor eax, eax
lea rcx, [0x140512a70]
lea rdx, [0x14042c1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140221330
mov al, 0x8c
xchg byte [0x140512a7f], al
lea rax, [0x140512a70]
ret
xor eax, eax
lea rcx, [0x1405128d0]
lea rdx, [0x14042c040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x140221370
mov al, 0x51
xchg byte [0x1405128d4], al
lea rax, [0x1405128d0]
ret
xor eax, eax
lea rcx, [0x140512840]
lea rdx, [0x14042bfb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402213b0
mov al, 0xf0
xchg byte [0x140512843], al
lea rax, [0x140512840]
ret
xor eax, eax
lea rcx, [0x140512990]
lea rdx, [0x14042c100]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402213e1
mov al, 0x26
xchg byte [0x140512995], al
lea rax, [0x140512990]
ret