Function at 0x2016afd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2016b01c
test edx, edx
je 0x2016b06c
test r8d, r8d
je 0x2016b0ac
test r9d, r9d
je 0x2016b129
movzx eax, byte [0x2045799d]
cmp al, 0xf9
je 0x2016b014
mov cl, 0x63
nop dword [rax + rax]
mov al, 0xec
lock cmpxchg byte [0x2045799d], cl
je 0x2016b2a9
cmp al, 0xf9
jne 0x2016b000
lea rax, [0x20457990]
ret
test edx, edx
je 0x2016b0ec
test r8d, r8d
je 0x2016b15c
test r9d, r9d
je 0x2016b1d9
movzx eax, byte [0x204579fb]
cmp al, 0xa4
je 0x2016b064
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x204579fb], cl
je 0x2016b379
cmp al, 0xa4
jne 0x2016b050
lea rax, [0x204579e0]
ret
test r8d, r8d
je 0x2016b199
test r9d, r9d
je 0x2016b209
movzx eax, byte [0x204578c3]
cmp al, 0x5a
je 0x2016b0a4
mov cl, 0x82
nop dword [rax + rax]
mov al, 0xc1
lock cmpxchg byte [0x204578c3], cl
je 0x2016b3b1
cmp al, 0x5a
jne 0x2016b090
lea rax, [0x204578a0]
ret
test r9d, r9d
je 0x2016b239
movzx eax, byte [0x20457850]
cmp al, 0xf
je 0x2016b0e4
mov cl, 0x26
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x20457850], cl
je 0x2016b3f1
cmp al, 0xf
jne 0x2016b0d0
lea rax, [0x20457840]
ret
test r8d, r8d
je 0x2016b269
test r9d, r9d
je 0x2016b2e1
movzx eax, byte [0x20457b1b]
cmp al, 0xab
je 0x2016b4c9
mov cl, 0x29
nop
mov al, 0x33
lock cmpxchg byte [0x20457b1b], cl
je 0x2016b49b
cmp al, 0xab
jne 0x2016b110
jmp 0x2016b4c9
movzx eax, byte [0x20457a45]
cmp al, 0x26
je 0x2016b154
mov cl, 0x82
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x20457a45], cl
je 0x2016b431
cmp al, 0x26
jne 0x2016b140
lea rax, [0x20457a30]
ret
test r9d, r9d
je 0x2016b319
movzx eax, byte [0x20457922]
cmp al, 0xe9
je 0x2016b509
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x20457922], cl
je 0x2016b4d1
cmp al, 0xe9
jne 0x2016b180
jmp 0x2016b509
test r9d, r9d
je 0x2016b349
movzx eax, byte [0x204577e5]
cmp al, 0xad
je 0x2016b549
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 8
lock cmpxchg byte [0x204577e5], cl
je 0x2016b511
cmp al, 0xad
jne 0x2016b1c0
jmp 0x2016b549
movzx eax, byte [0x20457a1e]
cmp al, 2
je 0x2016b589
mov cl, 0x4a
nop word [rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x20457a1e], cl
je 0x2016b551
cmp al, 2
jne 0x2016b1f0
jmp 0x2016b589
movzx eax, byte [0x20457932]
cmp al, 0x13
je 0x2016b5c9
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xd2
lock cmpxchg byte [0x20457932], cl
je 0x2016b591
cmp al, 0x13
jne 0x2016b220
jmp 0x2016b5c9
movzx eax, byte [0x20457ad1]
cmp al, 0xb1
je 0x2016b609
mov cl, 0x41
nop word [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x20457ad1], cl
je 0x2016b5d1
cmp al, 0xb1
jne 0x2016b250
jmp 0x2016b609
test r9d, r9d
je 0x2016b471
movzx eax, byte [0x2045795d]
cmp al, 0xe4
je 0x2016b649
mov cl, 0x1a
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x2045795d], cl
je 0x2016b611
cmp al, 0xe4
jne 0x2016b290
jmp 0x2016b649
xor eax, eax
lea rcx, [0x20457990]
lea rdx, [0x203750a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016b2c0
mov al, 0xf9
xchg byte [0x2045799d], al
lea rax, [0x20457990]
ret
movzx eax, byte [0x204578ef]
cmp al, 0x60
je 0x2016b689
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x204578ef], cl
je 0x2016b651
cmp al, 0x60
jne 0x2016b300
jmp 0x2016b689
movzx eax, byte [0x20457a8d]
cmp al, 0xe0
je 0x2016b6c9
mov cl, 0x59
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x20457a8d], cl
je 0x2016b691
cmp al, 0xe0
jne 0x2016b330
jmp 0x2016b6c9
movzx eax, byte [0x20457aed]
cmp al, 0xef
je 0x2016b709
mov cl, 0x32
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x20457aed], cl
je 0x2016b6d1
cmp al, 0xef
jne 0x2016b360
jmp 0x2016b709
xor eax, eax
lea rcx, [0x204579e0]
lea rdx, [0x203750f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x2016b390
mov al, 0xa4
xchg byte [0x204579fb], al
lea rax, [0x204579e0]
ret
xor eax, eax
lea rcx, [0x204578a0]
lea rdx, [0x20374fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2016b3d0
mov al, 0x5a
xchg byte [0x204578c3], al
lea rax, [0x204578a0]
ret
xor eax, eax
lea rcx, [0x20457840]
lea rdx, [0x20374f60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2016b410
mov al, 0xf
xchg byte [0x20457850], al
lea rax, [0x20457840]
ret
xor eax, eax
lea rcx, [0x20457a30]
lea rdx, [0x20375140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2016b450
mov al, 0x26
xchg byte [0x20457a45], al
lea rax, [0x20457a30]
ret
movzx eax, byte [0x20457b01]
cmp al, 0xa8
je 0x2016b73a
mov cl, 0x74
mov al, 0x65
lock cmpxchg byte [0x20457b01], cl
je 0x2016b711
cmp al, 0xa8
jne 0x2016b482
jmp 0x2016b73a
xor eax, eax
lea rcx, [0x20457b10]
lea rdx, [0x20375220]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2016b4b0
mov al, 0xab
xchg byte [0x20457b1b], al
lea rax, [0x20457b10]
ret
xor eax, eax
lea rcx, [0x20457920]
lea rdx, [0x20375030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2016b4f0
mov al, 0xe9
xchg byte [0x20457922], al
lea rax, [0x20457920]
ret
xor eax, eax
lea rcx, [0x204577d0]
lea rdx, [0x20374ef0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2016b530
mov al, 0xad
xchg byte [0x204577e5], al
lea rax, [0x204577d0]
ret
xor eax, eax
lea rcx, [0x20457a10]
lea rdx, [0x20375120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x2016b570
mov al, 2
xchg byte [0x20457a1e], al
lea rax, [0x20457a10]
ret
xor eax, eax
lea rcx, [0x20457930]
lea rdx, [0x20375040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2016b5b0
mov al, 0x13
xchg byte [0x20457932], al
lea rax, [0x20457930]
ret
xor eax, eax
lea rcx, [0x20457ac0]
lea rdx, [0x203751d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x2016b5f0
mov al, 0xb1
xchg byte [0x20457ad1], al
lea rax, [0x20457ac0]
ret
xor eax, eax
lea rcx, [0x20457950]
lea rdx, [0x20375060]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016b630
mov al, 0xe4
xchg byte [0x2045795d], al
lea rax, [0x20457950]
ret
xor eax, eax
lea rcx, [0x204578e0]
lea rdx, [0x20374ff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2016b670
mov al, 0x60
xchg byte [0x204578ef], al
lea rax, [0x204578e0]
ret
xor eax, eax
lea rcx, [0x20457a80]
lea rdx, [0x20375190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016b6b0
mov al, 0xe0
xchg byte [0x20457a8d], al
lea rax, [0x20457a80]
ret
xor eax, eax
lea rcx, [0x20457ae0]
lea rdx, [0x203751f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016b6f0
mov al, 0xef
xchg byte [0x20457aed], al
lea rax, [0x20457ae0]
ret
xor eax, eax
lea rcx, [0x20457af0]
lea rdx, [0x20375200]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x2016b721
mov al, 0xa8
xchg byte [0x20457b01], al
lea rax, [0x20457af0]
ret