Function at 0x2019cc00
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2019cc4c
test edx, edx
je 0x2019cc9c
test r8d, r8d
je 0x2019ccdc
movzx eax, byte [0x2045d6e6]
cmp al, 0x7f
je 0x2019cc44
mov cl, 9
nop word cs:[rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x2045d6e6], cl
je 0x2019cdd9
cmp al, 0x7f
jne 0x2019cc30
lea rax, [0x2045d6c0]
ret
test edx, edx
je 0x2019cd1c
test r8d, r8d
je 0x2019cd5c
test r9d, r9d
je 0x2019ce11
movzx eax, byte [0x2045d663]
cmp al, 0x37
je 0x2019cc94
mov cl, 0xd0
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x2045d663], cl
je 0x2019cf39
cmp al, 0x37
jne 0x2019cc80
lea rax, [0x2045d660]
ret
test r8d, r8d
je 0x2019cd99
test r9d, r9d
je 0x2019ce49
movzx eax, byte [0x2045d6ab]
cmp al, 0x22
je 0x2019ccd4
mov cl, 0x79
nop dword [rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x2045d6ab], cl
je 0x2019cf71
cmp al, 0x22
jne 0x2019ccc0
lea rax, [0x2045d6a0]
ret
test r9d, r9d
je 0x2019ce79
movzx eax, byte [0x2045d693]
cmp al, 0x53
je 0x2019cd14
mov cl, 0x78
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x2045d693], cl
je 0x2019cfb1
cmp al, 0x53
jne 0x2019cd00
lea rax, [0x2045d670]
ret
test r8d, r8d
je 0x2019cea9
movzx eax, byte [0x2045d6f2]
cmp al, 0x5b
je 0x2019cd54
mov cl, 0x51
nop word cs:[rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x2045d6f2], cl
je 0x2019cff1
cmp al, 0x5b
jne 0x2019cd40
lea rax, [0x2045d6f0]
ret
test r9d, r9d
je 0x2019ced9
movzx eax, byte [0x2045d655]
cmp al, 0xff
je 0x2019d069
mov cl, 0x10
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x2045d655], cl
je 0x2019d031
cmp al, 0xff
jne 0x2019cd80
jmp 0x2019d069
test r9d, r9d
je 0x2019cf09
movzx eax, byte [0x2045d71b]
cmp al, 0x3b
je 0x2019d0a9
mov cl, 0x3e
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2045d71b], cl
je 0x2019d071
cmp al, 0x3b
jne 0x2019cdc0
jmp 0x2019d0a9
xor eax, eax
lea rcx, [0x2045d6c0]
lea rdx, [0x203780f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2019cdf0
mov al, 0x7f
xchg byte [0x2045d6e6], al
lea rax, [0x2045d6c0]
ret
movzx eax, byte [0x2045d605]
cmp al, 0x25
je 0x2019d0e9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x49
lock cmpxchg byte [0x2045d605], cl
je 0x2019d0b1
cmp al, 0x25
jne 0x2019ce30
jmp 0x2019d0e9
movzx eax, byte [0x2045d6bf]
cmp al, 0x4d
je 0x2019d129
mov cl, 0xf8
nop word [rax + rax]
mov al, 0xe0
lock cmpxchg byte [0x2045d6bf], cl
je 0x2019d0f1
cmp al, 0x4d
jne 0x2019ce60
jmp 0x2019d129
movzx eax, byte [0x2045d5e0]
cmp al, 0xc2
je 0x2019d169
mov cl, 0x13
nop word [rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x2045d5e0], cl
je 0x2019d131
cmp al, 0xc2
jne 0x2019ce90
jmp 0x2019d169
movzx eax, byte [0x2045d622]
cmp al, 0xe6
je 0x2019d1a9
mov cl, 0x25
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x2045d622], cl
je 0x2019d171
cmp al, 0xe6
jne 0x2019cec0
jmp 0x2019d1a9
movzx eax, byte [0x2045d702]
cmp al, 0x8a
je 0x2019d1e9
mov cl, 0x39
nop word [rax + rax]
mov al, 0x4b
lock cmpxchg byte [0x2045d702], cl
je 0x2019d1b1
cmp al, 0x8a
jne 0x2019cef0
jmp 0x2019d1e9
movzx eax, byte [0x2045d64c]
cmp al, 0x53
je 0x2019d229
mov cl, 0xce
nop word [rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x2045d64c], cl
je 0x2019d1f1
cmp al, 0x53
jne 0x2019cf20
jmp 0x2019d229
xor eax, eax
lea rcx, [0x2045d660]
lea rdx, [0x20378090]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2019cf50
mov al, 0x37
xchg byte [0x2045d663], al
lea rax, [0x2045d660]
ret
xor eax, eax
lea rcx, [0x2045d6a0]
lea rdx, [0x203780d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2019cf90
mov al, 0x22
xchg byte [0x2045d6ab], al
lea rax, [0x2045d6a0]
ret
xor eax, eax
lea rcx, [0x2045d670]
lea rdx, [0x203780a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2019cfd0
mov al, 0x53
xchg byte [0x2045d693], al
lea rax, [0x2045d670]
ret
xor eax, eax
lea rcx, [0x2045d6f0]
lea rdx, [0x20378120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2019d010
mov al, 0x5b
xchg byte [0x2045d6f2], al
lea rax, [0x2045d6f0]
ret
xor eax, eax
lea rcx, [0x2045d650]
lea rdx, [0x20378080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x2019d050
mov al, 0xff
xchg byte [0x2045d655], al
lea rax, [0x2045d650]
ret
xor eax, eax
lea rcx, [0x2045d710]
lea rdx, [0x20378140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2019d090
mov al, 0x3b
xchg byte [0x2045d71b], al
lea rax, [0x2045d710]
ret
xor eax, eax
lea rcx, [0x2045d5f0]
lea rdx, [0x20378020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2019d0d0
mov al, 0x25
xchg byte [0x2045d605], al
lea rax, [0x2045d5f0]
ret
xor eax, eax
lea rcx, [0x2045d6b0]
lea rdx, [0x203780e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2019d110
mov al, 0x4d
xchg byte [0x2045d6bf], al
lea rax, [0x2045d6b0]
ret
xor eax, eax
lea rcx, [0x2045d5d0]
lea rdx, [0x20378010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2019d150
mov al, 0xc2
xchg byte [0x2045d5e0], al
lea rax, [0x2045d5d0]
ret
xor eax, eax
lea rcx, [0x2045d610]
lea rdx, [0x20378040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2019d190
mov al, 0xe6
xchg byte [0x2045d622], al
lea rax, [0x2045d610]
ret
xor eax, eax
lea rcx, [0x2045d700]
lea rdx, [0x20378130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2019d1d0
mov al, 0x8a
xchg byte [0x2045d702], al
lea rax, [0x2045d700]
ret
xor eax, eax
lea rcx, [0x2045d630]
lea rdx, [0x20378060]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2019d210
mov al, 0x53
xchg byte [0x2045d64c], al
lea rax, [0x2045d630]
ret