Function at 0x201984d0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2019851c
test edx, edx
je 0x2019856c
test r8d, r8d
je 0x201985ac
test r9d, r9d
je 0x2019861c
movzx eax, byte [0x2045ceb5]
cmp al, 0xbe
je 0x20198514
mov cl, 0x49
nop dword [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x2045ceb5], cl
je 0x20198759
cmp al, 0xbe
jne 0x20198500
lea rax, [0x2045ceb0]
ret
test edx, edx
je 0x201985dc
test r8d, r8d
je 0x2019864c
test r9d, r9d
je 0x201986c9
movzx eax, byte [0x2045cf52]
cmp al, 0xf1
je 0x20198564
mov cl, 0x5c
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x2045cf52], cl
je 0x20198839
cmp al, 0xf1
jne 0x20198550
lea rax, [0x2045cf50]
ret
test r8d, r8d
je 0x20198689
test r9d, r9d
je 0x201986f9
movzx eax, byte [0x2045cf0b]
cmp al, 0xa2
je 0x201985a4
mov cl, 0x1a
nop dword [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x2045cf0b], cl
je 0x20198871
cmp al, 0xa2
jne 0x20198590
lea rax, [0x2045cf00]
ret
movzx eax, byte [0x2045cec3]
cmp al, 0x68
je 0x201985d4
mov cl, 0x9a
nop dword [rax]
mov al, 0x41
lock cmpxchg byte [0x2045cec3], cl
je 0x20198791
cmp al, 0x68
jne 0x201985c0
lea rax, [0x2045cec0]
ret
test r8d, r8d
je 0x20198729
movzx eax, byte [0x2045cf7b]
cmp al, 0x7a
je 0x20198614
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x2045cf7b], cl
je 0x201988f1
cmp al, 0x7a
jne 0x20198600
lea rax, [0x2045cf70]
ret
movzx eax, byte [0x2045ce62]
cmp al, 0xb5
je 0x20198644
mov cl, 0x7d
nop dword [rax]
mov al, 0xb6
lock cmpxchg byte [0x2045ce62], cl
je 0x201988b1
cmp al, 0xb5
jne 0x20198630
lea rax, [0x2045ce50]
ret
test r9d, r9d
je 0x201987d1
movzx eax, byte [0x2045cef3]
cmp al, 0xba
je 0x20198969
mov cl, 0xe2
nop word cs:[rax + rax]
mov al, 0xcc
lock cmpxchg byte [0x2045cef3], cl
je 0x20198931
cmp al, 0xba
jne 0x20198670
jmp 0x20198969
test r9d, r9d
je 0x20198809
movzx eax, byte [0x2045ceac]
cmp al, 0x50
je 0x201989a9
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x2045ceac], cl
je 0x20198971
cmp al, 0x50
jne 0x201986b0
jmp 0x201989a9
movzx eax, byte [0x2045cf62]
cmp al, 0x31
je 0x201989e9
mov cl, 0x5c
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x2045cf62], cl
je 0x201989b1
cmp al, 0x31
jne 0x201986e0
jmp 0x201989e9
movzx eax, byte [0x2045ce80]
cmp al, 0x32
je 0x20198a29
mov cl, 0x41
nop word [rax + rax]
mov al, 0x6e
lock cmpxchg byte [0x2045ce80], cl
je 0x201989f1
cmp al, 0x32
jne 0x20198710
jmp 0x20198a29
movzx eax, byte [0x2045ce45]
cmp al, 0xa3
je 0x20198a69
mov cl, 0xad
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x2045ce45], cl
je 0x20198a31
cmp al, 0xa3
jne 0x20198740
jmp 0x20198a69
xor eax, eax
lea rcx, [0x2045ceb0]
lea rdx, [0x203777d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20198770
mov al, 0xbe
xchg byte [0x2045ceb5], al
lea rax, [0x2045ceb0]
ret
xor eax, eax
lea rcx, [0x2045cec0]
lea rdx, [0x203777e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201987b0
mov al, 0x68
xchg byte [0x2045cec3], al
lea rax, [0x2045cec0]
ret
movzx eax, byte [0x2045cf46]
cmp al, 0x9f
je 0x20198aa9
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0x60
lock cmpxchg byte [0x2045cf46], cl
je 0x20198a71
cmp al, 0x9f
jne 0x201987f0
jmp 0x20198aa9
movzx eax, byte [0x2045cf1f]
cmp al, 0x8f
je 0x20198ae9
mov cl, 0x5b
nop word [rax + rax]
mov al, 0x93
lock cmpxchg byte [0x2045cf1f], cl
je 0x20198ab1
cmp al, 0x8f
jne 0x20198820
jmp 0x20198ae9
xor eax, eax
lea rcx, [0x2045cf50]
lea rdx, [0x20377870]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20198850
mov al, 0xf1
xchg byte [0x2045cf52], al
lea rax, [0x2045cf50]
ret
xor eax, eax
lea rcx, [0x2045cf00]
lea rdx, [0x20377820]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20198890
mov al, 0xa2
xchg byte [0x2045cf0b], al
lea rax, [0x2045cf00]
ret
xor eax, eax
lea rcx, [0x2045ce50]
lea rdx, [0x20377780]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x201988d0
mov al, 0xb5
xchg byte [0x2045ce62], al
lea rax, [0x2045ce50]
ret
xor eax, eax
lea rcx, [0x2045cf70]
lea rdx, [0x20377890]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20198910
mov al, 0x7a
xchg byte [0x2045cf7b], al
lea rax, [0x2045cf70]
ret
xor eax, eax
lea rcx, [0x2045ced0]
lea rdx, [0x203777f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20198950
mov al, 0xba
xchg byte [0x2045cef3], al
lea rax, [0x2045ced0]
ret
xor eax, eax
lea rcx, [0x2045ce90]
lea rdx, [0x203777b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20198990
mov al, 0x50
xchg byte [0x2045ceac], al
lea rax, [0x2045ce90]
ret
xor eax, eax
lea rcx, [0x2045cf60]
lea rdx, [0x20377880]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201989d0
mov al, 0x31
xchg byte [0x2045cf62], al
lea rax, [0x2045cf60]
ret
xor eax, eax
lea rcx, [0x2045ce70]
lea rdx, [0x203777a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20198a10
mov al, 0x32
xchg byte [0x2045ce80], al
lea rax, [0x2045ce70]
ret
xor eax, eax
lea rcx, [0x2045ce30]
lea rdx, [0x20377760]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20198a50
mov al, 0xa3
xchg byte [0x2045ce45], al
lea rax, [0x2045ce30]
ret
xor eax, eax
lea rcx, [0x2045cf20]
lea rdx, [0x20377840]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20198a90
mov al, 0x9f
xchg byte [0x2045cf46], al
lea rax, [0x2045cf20]
ret
xor eax, eax
lea rcx, [0x2045cf10]
lea rdx, [0x20377830]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20198ad0
mov al, 0x8f
xchg byte [0x2045cf1f], al
lea rax, [0x2045cf10]
ret