Function at 0x2016a3a0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2016a3ec
test edx, edx
je 0x2016a43c
test r8d, r8d
je 0x2016a47c
test r9d, r9d
je 0x2016a4f9
movzx eax, byte [0x2045794b]
cmp al, 0xc7
je 0x2016a3e4
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x2045794b], cl
je 0x2016a639
cmp al, 0xc7
jne 0x2016a3d0
lea rax, [0x20457940]
ret
test edx, edx
je 0x2016a4bc
test r8d, r8d
je 0x2016a52c
test r9d, r9d
je 0x2016a59c
movzx eax, byte [0x2045778c]
cmp al, 0x7c
je 0x2016a434
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x2045778c], cl
je 0x2016a719
cmp al, 0x7c
jne 0x2016a420
lea rax, [0x20457780]
ret
test r8d, r8d
je 0x2016a569
movzx eax, byte [0x204579ad]
cmp al, 8
je 0x2016a474
mov cl, 0xb
nop word cs:[rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x204579ad], cl
je 0x2016a671
cmp al, 8
jne 0x2016a460
lea rax, [0x204579a0]
ret
test r9d, r9d
je 0x2016a5c9
movzx eax, byte [0x2045777c]
cmp al, 0x2c
je 0x2016a4b4
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x2045777c], cl
je 0x2016a751
cmp al, 0x2c
jne 0x2016a4a0
lea rax, [0x20457770]
ret
test r8d, r8d
je 0x2016a5f9
test r9d, r9d
je 0x2016a6b1
movzx eax, byte [0x204579c4]
cmp al, 0xbc
je 0x2016a869
mov cl, 0xc9
nop
mov al, 0x2d
lock cmpxchg byte [0x204579c4], cl
je 0x2016a83b
cmp al, 0xbc
jne 0x2016a4e0
jmp 0x2016a869
movzx eax, byte [0x20457abd]
cmp al, 0xe5
je 0x2016a524
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x20457abd], cl
je 0x2016a791
cmp al, 0xe5
jne 0x2016a510
lea rax, [0x20457ab0]
ret
test r9d, r9d
je 0x2016a6e9
movzx eax, byte [0x204577cd]
cmp al, 0xe
je 0x2016a8a9
mov cl, 0xc0
nop word cs:[rax + rax]
mov al, 0x44
lock cmpxchg byte [0x204577cd], cl
je 0x2016a871
cmp al, 0xe
jne 0x2016a550
jmp 0x2016a8a9
movzx eax, byte [0x20457893]
cmp al, 0xc1
je 0x2016a594
mov cl, 0xb2
nop word cs:[rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x20457893], cl
je 0x2016a7d1
cmp al, 0xc1
jne 0x2016a580
lea rax, [0x20457890]
ret
movzx eax, byte [0x20457a2d]
cmp al, 0x5d
je 0x2016a8e9
mov cl, 0xdf
nop dword [rax]
mov al, 0x6d
lock cmpxchg byte [0x20457a2d], cl
je 0x2016a8b1
cmp al, 0x5d
jne 0x2016a5b0
jmp 0x2016a8e9
movzx eax, byte [0x2045781e]
cmp al, 0x58
je 0x2016a929
mov cl, 0x3c
nop word [rax + rax]
mov al, 0x50
lock cmpxchg byte [0x2045781e], cl
je 0x2016a8f1
cmp al, 0x58
jne 0x2016a5e0
jmp 0x2016a929
test r9d, r9d
je 0x2016a811
movzx eax, byte [0x20457802]
cmp al, 0x13
je 0x2016a969
mov cl, 0x7b
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x20457802], cl
je 0x2016a931
cmp al, 0x13
jne 0x2016a620
jmp 0x2016a969
xor eax, eax
lea rcx, [0x20457940]
lea rdx, [0x20375050]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2016a650
mov al, 0xc7
xchg byte [0x2045794b], al
lea rax, [0x20457940]
ret
xor eax, eax
lea rcx, [0x204579a0]
lea rdx, [0x203750b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016a690
mov al, 8
xchg byte [0x204579ad], al
lea rax, [0x204579a0]
ret
movzx eax, byte [0x204577aa]
cmp al, 0xd8
je 0x2016a9a9
mov cl, 0xf
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x204577aa], cl
je 0x2016a971
cmp al, 0xd8
jne 0x2016a6d0
jmp 0x2016a9a9
movzx eax, byte [0x20457a0d]
cmp al, 0x61
je 0x2016a9e9
mov cl, 0x9f
nop word [rax + rax]
mov al, 0x52
lock cmpxchg byte [0x20457a0d], cl
je 0x2016a9b1
cmp al, 0x61
jne 0x2016a700
jmp 0x2016a9e9
xor eax, eax
lea rcx, [0x20457780]
lea rdx, [0x20374ea0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2016a730
mov al, 0x7c
xchg byte [0x2045778c], al
lea rax, [0x20457780]
ret
xor eax, eax
lea rcx, [0x20457770]
lea rdx, [0x20374e90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2016a770
mov al, 0x2c
xchg byte [0x2045777c], al
lea rax, [0x20457770]
ret
xor eax, eax
lea rcx, [0x20457ab0]
lea rdx, [0x203751c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016a7b0
mov al, 0xe5
xchg byte [0x20457abd], al
lea rax, [0x20457ab0]
ret
xor eax, eax
lea rcx, [0x20457890]
lea rdx, [0x20374fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2016a7f0
mov al, 0xc1
xchg byte [0x20457893], al
lea rax, [0x20457890]
ret
movzx eax, byte [0x20457b2f]
cmp al, 0xa
je 0x2016aa1a
mov cl, 0x42
mov al, 0x8b
lock cmpxchg byte [0x20457b2f], cl
je 0x2016a9f1
cmp al, 0xa
jne 0x2016a822
jmp 0x2016aa1a
xor eax, eax
lea rcx, [0x204579b0]
lea rdx, [0x203750c0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x2016a850
mov al, 0xbc
xchg byte [0x204579c4], al
lea rax, [0x204579b0]
ret
xor eax, eax
lea rcx, [0x204577b0]
lea rdx, [0x20374ed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x2016a890
mov al, 0xe
xchg byte [0x204577cd], al
lea rax, [0x204577b0]
ret
xor eax, eax
lea rcx, [0x20457a20]
lea rdx, [0x20375130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016a8d0
mov al, 0x5d
xchg byte [0x20457a2d], al
lea rax, [0x20457a20]
ret
xor eax, eax
lea rcx, [0x20457810]
lea rdx, [0x20374f30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x2016a910
mov al, 0x58
xchg byte [0x2045781e], al
lea rax, [0x20457810]
ret
xor eax, eax
lea rcx, [0x204577f0]
lea rdx, [0x20374f10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2016a950
mov al, 0x13
xchg byte [0x20457802], al
lea rax, [0x204577f0]
ret
xor eax, eax
lea rcx, [0x204577a0]
lea rdx, [0x20374ec0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x2016a990
mov al, 0xd8
xchg byte [0x204577aa], al
lea rax, [0x204577a0]
ret
xor eax, eax
lea rcx, [0x20457a00]
lea rdx, [0x20375110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016a9d0
mov al, 0x61
xchg byte [0x20457a0d], al
lea rax, [0x20457a00]
ret
xor eax, eax
lea rcx, [0x20457b20]
lea rdx, [0x20375230]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2016aa01
mov al, 0xa
xchg byte [0x20457b2f], al
lea rax, [0x20457b20]
ret