Function at 0x1402206f0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14022073c
test edx, edx
je 0x14022078c
test r8d, r8d
je 0x1402207cc
test r9d, r9d
je 0x140220849
movzx eax, byte [0x14051291f]
cmp al, 0x31
je 0x140220734
mov cl, 0xf1
nop dword [rax + rax]
mov al, 0x20
lock cmpxchg byte [0x14051291f], cl
je 0x1402209c9
cmp al, 0x31
jne 0x140220720
lea rax, [0x140512910]
ret
test edx, edx
je 0x14022080c
test r8d, r8d
je 0x14022087c
test r9d, r9d
je 0x1402208f9
movzx eax, byte [0x1405128c9]
cmp al, 0x2d
je 0x140220784
mov cl, 0xbc
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x1405128c9], cl
je 0x140220a99
cmp al, 0x2d
jne 0x140220770
lea rax, [0x1405128b0]
ret
test r8d, r8d
je 0x1402208b9
test r9d, r9d
je 0x140220929
movzx eax, byte [0x1405128ac]
cmp al, 0x15
je 0x1402207c4
mov cl, 0xbb
nop dword [rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x1405128ac], cl
je 0x140220ad1
cmp al, 0x15
jne 0x1402207b0
lea rax, [0x1405128a0]
ret
test r9d, r9d
je 0x140220959
movzx eax, byte [0x140512897]
cmp al, 0x41
je 0x140220804
mov cl, 0x1b
nop word cs:[rax + rax]
mov al, 0x95
lock cmpxchg byte [0x140512897], cl
je 0x140220b11
cmp al, 0x41
jne 0x1402207f0
lea rax, [0x140512890]
ret
test r8d, r8d
je 0x140220989
test r9d, r9d
je 0x140220a01
movzx eax, byte [0x140512932]
cmp al, 0x7a
je 0x140220be9
mov cl, 0x9c
nop
mov al, 0x28
lock cmpxchg byte [0x140512932], cl
je 0x140220bbb
cmp al, 0x7a
jne 0x140220830
jmp 0x140220be9
movzx eax, byte [0x1405129d3]
cmp al, 0xb
je 0x140220874
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 5
lock cmpxchg byte [0x1405129d3], cl
je 0x140220b51
cmp al, 0xb
jne 0x140220860
lea rax, [0x1405129b0]
ret
test r9d, r9d
je 0x140220a39
movzx eax, byte [0x140512a32]
cmp al, 0x9c
je 0x140220c29
mov cl, 0xc7
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x140512a32], cl
je 0x140220bf1
cmp al, 0x9c
jne 0x1402208a0
jmp 0x140220c29
test r9d, r9d
je 0x140220a69
movzx eax, byte [0x140512a5b]
cmp al, 0xb5
je 0x140220c69
mov cl, 0x47
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x140512a5b], cl
je 0x140220c31
cmp al, 0xb5
jne 0x1402208e0
jmp 0x140220c69
movzx eax, byte [0x14051298c]
cmp al, 0x90
je 0x140220ca9
mov cl, 0x43
nop word [rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x14051298c], cl
je 0x140220c71
cmp al, 0x90
jne 0x140220910
jmp 0x140220ca9
movzx eax, byte [0x140512810]
cmp al, 0xe0
je 0x140220ce9
mov cl, 0x45
nop word [rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x140512810], cl
je 0x140220cb1
cmp al, 0xe0
jne 0x140220940
jmp 0x140220ce9
movzx eax, byte [0x140512aef]
cmp al, 0x5b
je 0x140220d29
mov cl, 0xa9
nop word [rax + rax]
mov al, 0xde
lock cmpxchg byte [0x140512aef], cl
je 0x140220cf1
cmp al, 0x5b
jne 0x140220970
jmp 0x140220d29
test r9d, r9d
je 0x140220b91
movzx eax, byte [0x140512a26]
cmp al, 6
je 0x140220d69
mov cl, 0xb4
nop word cs:[rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x140512a26], cl
je 0x140220d31
cmp al, 6
jne 0x1402209b0
jmp 0x140220d69
xor eax, eax
lea rcx, [0x140512910]
lea rdx, [0x14042c080]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402209e0
mov al, 0x31
xchg byte [0x14051291f], al
lea rax, [0x140512910]
ret
movzx eax, byte [0x140512abd]
cmp al, 0x25
je 0x140220da9
mov cl, 0x32
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x140512abd], cl
je 0x140220d71
cmp al, 0x25
jne 0x140220a20
jmp 0x140220da9
movzx eax, byte [0x1405129eb]
cmp al, 0xd
je 0x140220de9
mov cl, 0xf6
nop word [rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x1405129eb], cl
je 0x140220db1
cmp al, 0xd
jne 0x140220a50
jmp 0x140220de9
movzx eax, byte [0x140512a42]
cmp al, 0x9e
je 0x140220e29
mov cl, 0xe7
nop word [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x140512a42], cl
je 0x140220df1
cmp al, 0x9e
jne 0x140220a80
jmp 0x140220e29
xor eax, eax
lea rcx, [0x1405128b0]
lea rdx, [0x14042c020]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x140220ab0
mov al, 0x2d
xchg byte [0x1405128c9], al
lea rax, [0x1405128b0]
ret
xor eax, eax
lea rcx, [0x1405128a0]
lea rdx, [0x14042c010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x140220af0
mov al, 0x15
xchg byte [0x1405128ac], al
lea rax, [0x1405128a0]
ret
xor eax, eax
lea rcx, [0x140512890]
lea rdx, [0x14042c000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x140220b30
mov al, 0x41
xchg byte [0x140512897], al
lea rax, [0x140512890]
ret
xor eax, eax
lea rcx, [0x1405129b0]
lea rdx, [0x14042c120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140220b70
mov al, 0xb
xchg byte [0x1405129d3], al
lea rax, [0x1405129b0]
ret
movzx eax, byte [0x1405127eb]
cmp al, 0x59
je 0x140220e5a
mov cl, 0xd4
mov al, 0xb5
lock cmpxchg byte [0x1405127eb], cl
je 0x140220e31
cmp al, 0x59
jne 0x140220ba2
jmp 0x140220e5a
xor eax, eax
lea rcx, [0x140512920]
lea rdx, [0x14042c090]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140220bd0
mov al, 0x7a
xchg byte [0x140512932], al
lea rax, [0x140512920]
ret
xor eax, eax
lea rcx, [0x140512a30]
lea rdx, [0x14042c1a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140220c10
mov al, 0x9c
xchg byte [0x140512a32], al
lea rax, [0x140512a30]
ret
xor eax, eax
lea rcx, [0x140512a50]
lea rdx, [0x14042c1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140220c50
mov al, 0xb5
xchg byte [0x140512a5b], al
lea rax, [0x140512a50]
ret
xor eax, eax
lea rcx, [0x140512970]
lea rdx, [0x14042c0e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140220c90
mov al, 0x90
xchg byte [0x14051298c], al
lea rax, [0x140512970]
ret
xor eax, eax
lea rcx, [0x140512800]
lea rdx, [0x14042bf80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140220cd0
mov al, pe_nt_image_headers64
xchg byte [0x140512810], al
lea rax, [0x140512800]
ret
xor eax, eax
lea rcx, [0x140512ae0]
lea rdx, [0x14042c250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140220d10
mov al, 0x5b
xchg byte [0x140512aef], al
lea rax, [0x140512ae0]
ret
xor eax, eax
lea rcx, [0x140512a00]
lea rdx, [0x14042c170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140220d50
mov al, 6
xchg byte [0x140512a26], al
lea rax, [0x140512a00]
ret
xor eax, eax
lea rcx, [0x140512ab0]
lea rdx, [0x14042c220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140220d90
mov al, 0x25
xchg byte [0x140512abd], al
lea rax, [0x140512ab0]
ret
xor eax, eax
lea rcx, [0x1405129e0]
lea rdx, [0x14042c150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140220dd0
mov al, 0xd
xchg byte [0x1405129eb], al
lea rax, [0x1405129e0]
ret
xor eax, eax
lea rcx, [0x140512a40]
lea rdx, [0x14042c1b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140220e10
mov al, 0x9e
xchg byte [0x140512a42], al
lea rax, [0x140512a40]
ret
xor eax, eax
lea rcx, [0x1405127c0]
lea rdx, [0x14042bf40]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2b
jl 0x140220e41
mov al, 0x59
xchg byte [0x1405127eb], al
lea rax, [0x1405127c0]
ret