Function at 0x201ec640
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201ec68c
test edx, edx
je 0x201ec6dc
test r8d, r8d
je 0x201ec71c
test r9d, r9d
je 0x201ec799
movzx eax, byte [0x20591a22]
cmp al, 0x2b
je 0x201ec684
mov cl, 0x27
nop dword [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x20591a22], cl
je 0x201ec919
cmp al, 0x2b
jne 0x201ec670
lea rax, [0x20591a20]
ret
test edx, edx
je 0x201ec75c
test r8d, r8d
je 0x201ec7cc
test r9d, r9d
je 0x201ec849
movzx eax, byte [0x205919db]
cmp al, 0x5b
je 0x201ec6d4
mov cl, 0xa6
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x205919db], cl
je 0x201ec9e9
cmp al, 0x5b
jne 0x201ec6c0
lea rax, [0x205919d0]
ret
test r8d, r8d
je 0x201ec809
test r9d, r9d
je 0x201ec879
movzx eax, byte [0x20591985]
cmp al, 0xd4
je 0x201ec714
mov cl, 0x48
nop dword [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x20591985], cl
je 0x201eca21
cmp al, 0xd4
jne 0x201ec700
lea rax, [0x20591980]
ret
test r9d, r9d
je 0x201ec8a9
movzx eax, byte [0x205919ef]
cmp al, 0x31
je 0x201ec754
mov cl, 0x90
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x205919ef], cl
je 0x201eca61
cmp al, 0x31
jne 0x201ec740
lea rax, [0x205919e0]
ret
test r8d, r8d
je 0x201ec8d9
test r9d, r9d
je 0x201ec951
movzx eax, byte [0x20591993]
cmp al, 0x57
je 0x201ecb39
mov cl, 0x9c
nop
mov al, 0x3d
lock cmpxchg byte [0x20591993], cl
je 0x201ecb0b
cmp al, 0x57
jne 0x201ec780
jmp 0x201ecb39
movzx eax, byte [0x2059197c]
cmp al, 0x9d
je 0x201ec7c4
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x3f
lock cmpxchg byte [0x2059197c], cl
je 0x201ecaa1
cmp al, 0x9d
jne 0x201ec7b0
lea rax, [0x20591960]
ret
test r9d, r9d
je 0x201ec989
movzx eax, byte [0x20591abd]
cmp al, 0xfd
je 0x201ecb79
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x20591abd], cl
je 0x201ecb41
cmp al, 0xfd
jne 0x201ec7f0
jmp 0x201ecb79
test r9d, r9d
je 0x201ec9b9
movzx eax, byte [0x205919c3]
cmp al, 0xf6
je 0x201ecbb9
mov cl, 0x4c
nop word cs:[rax + rax]
mov al, 0xce
lock cmpxchg byte [0x205919c3], cl
je 0x201ecb81
cmp al, 0xf6
jne 0x201ec830
jmp 0x201ecbb9
movzx eax, byte [0x20591a8d]
cmp al, 0x4b
je 0x201ecbf9
mov cl, 0x5d
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x20591a8d], cl
je 0x201ecbc1
cmp al, 0x4b
jne 0x201ec860
jmp 0x201ecbf9
movzx eax, byte [0x20591a4b]
cmp al, 0x2f
je 0x201ecc39
mov cl, 0x8e
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x20591a4b], cl
je 0x201ecc01
cmp al, 0x2f
jne 0x201ec890
jmp 0x201ecc39
movzx eax, byte [0x20591a32]
cmp al, 0x77
je 0x201ecc79
mov cl, 0x3a
nop word [rax + rax]
mov al, 5
lock cmpxchg byte [0x20591a32], cl
je 0x201ecc41
cmp al, 0x77
jne 0x201ec8c0
jmp 0x201ecc79
test r9d, r9d
je 0x201ecae1
movzx eax, byte [0x20591aa4]
cmp al, 0xec
je 0x201eccb9
mov cl, 0x63
nop word cs:[rax + rax]
mov al, 0xa
lock cmpxchg byte [0x20591aa4], cl
je 0x201ecc81
cmp al, 0xec
jne 0x201ec900
jmp 0x201eccb9
xor eax, eax
lea rcx, [0x20591a20]
lea rdx, [0x204795c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201ec930
mov al, 0x2b
xchg byte [0x20591a22], al
lea rax, [0x20591a20]
ret
movzx eax, byte [0x20591a5d]
cmp al, 0xac
je 0x201eccf9
mov cl, 0x41
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x20591a5d], cl
je 0x201eccc1
cmp al, 0xac
jne 0x201ec970
jmp 0x201eccf9
movzx eax, byte [0x20591a70]
cmp al, 0x8c
je 0x201ecd39
mov cl, 0x76
nop word [rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x20591a70], cl
je 0x201ecd01
cmp al, 0x8c
jne 0x201ec9a0
jmp 0x201ecd39
movzx eax, byte [0x20591ad4]
cmp al, 0x3f
je 0x201ecd79
mov cl, 0x2a
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x20591ad4], cl
je 0x201ecd41
cmp al, 0x3f
jne 0x201ec9d0
jmp 0x201ecd79
xor eax, eax
lea rcx, [0x205919d0]
lea rdx, [0x20479570]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201eca00
mov al, 0x5b
xchg byte [0x205919db], al
lea rax, [0x205919d0]
ret
xor eax, eax
lea rcx, [0x20591980]
lea rdx, [0x20479520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x201eca40
mov al, 0xd4
xchg byte [0x20591985], al
lea rax, [0x20591980]
ret
xor eax, eax
lea rcx, [0x205919e0]
lea rdx, [0x20479580]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201eca80
mov al, 0x31
xchg byte [0x205919ef], al
lea rax, [0x205919e0]
ret
xor eax, eax
lea rcx, [0x20591960]
lea rdx, [0x20479500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201ecac0
mov al, 0x9d
xchg byte [0x2059197c], al
lea rax, [0x20591960]
ret
movzx eax, byte [0x20591a16]
cmp al, 0x1a
je 0x201ecdaa
mov cl, 0x82
mov al, 0x54
lock cmpxchg byte [0x20591a16], cl
je 0x201ecd81
cmp al, 0x1a
jne 0x201ecaf2
jmp 0x201ecdaa
xor eax, eax
lea rcx, [0x20591990]
lea rdx, [0x20479530]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201ecb20
mov al, 0x57
xchg byte [0x20591993], al
lea rax, [0x20591990]
ret
xor eax, eax
lea rcx, [0x20591ab0]
lea rdx, [0x20479640]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ecb60
mov al, 0xfd
xchg byte [0x20591abd], al
lea rax, [0x20591ab0]
ret
xor eax, eax
lea rcx, [0x205919a0]
lea rdx, [0x20479540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201ecba0
mov al, 0xf6
xchg byte [0x205919c3], al
lea rax, [0x205919a0]
ret
xor eax, eax
lea rcx, [0x20591a80]
lea rdx, [0x20479610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ecbe0
mov al, 0x4b
xchg byte [0x20591a8d], al
lea rax, [0x20591a80]
ret
xor eax, eax
lea rcx, [0x20591a40]
lea rdx, [0x204795e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201ecc20
mov al, 0x2f
xchg byte [0x20591a4b], al
lea rax, [0x20591a40]
ret
xor eax, eax
lea rcx, [0x20591a30]
lea rdx, [0x204795d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201ecc60
mov al, 0x77
xchg byte [0x20591a32], al
lea rax, [0x20591a30]
ret
xor eax, eax
lea rcx, [0x20591a90]
lea rdx, [0x20479620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x201ecca0
mov al, 0xec
xchg byte [0x20591aa4], al
lea rax, [0x20591a90]
ret
xor eax, eax
lea rcx, [0x20591a50]
lea rdx, [0x204795f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ecce0
mov al, 0xac
xchg byte [0x20591a5d], al
lea rax, [0x20591a50]
ret
xor eax, eax
lea rcx, [0x20591a60]
lea rdx, [0x20479600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201ecd20
mov al, 0x8c
xchg byte [0x20591a70], al
lea rax, [0x20591a60]
ret
xor eax, eax
lea rcx, [0x20591ac0]
lea rdx, [0x20479650]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x201ecd60
mov al, 0x3f
xchg byte [0x20591ad4], al
lea rax, [0x20591ac0]
ret
xor eax, eax
lea rcx, [0x205919f0]
lea rdx, [0x20479590]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x201ecd91
mov al, 0x1a
xchg byte [0x20591a16], al
lea rax, [0x205919f0]
ret