Function at 0x2010b840
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2010b87c
test edx, edx
je 0x2010b8bc
test r8d, r8d
je 0x2010b8fc
movzx eax, byte [0x2044ddbd]
cmp al, 0x24
je 0x2010b874
mov cl, 0x1e
nop
mov al, 0x12
lock cmpxchg byte [0x2044ddbd], cl
je 0x2010b9cc
cmp al, 0x24
jne 0x2010b860
lea rax, [0x2044ddb0]
ret
test edx, edx
je 0x2010b92c
test r8d, r8d
je 0x2010b96c
movzx eax, byte [0x2044db39]
cmp al, 0x17
je 0x2010b8b4
mov cl, 0xba
nop word [rax + rax]
mov al, 0x85
lock cmpxchg byte [0x2044db39], cl
je 0x2010ba39
cmp al, 0x17
jne 0x2010b8a0
lea rax, [0x2044db30]
ret
test r8d, r8d
je 0x2010b99c
movzx eax, byte [0x2044dbf8]
cmp al, 5
je 0x2010b8f4
mov cl, 0x6f
nop word cs:[rax + rax]
mov al, 0x81
lock cmpxchg byte [0x2044dbf8], cl
je 0x2010ba71
cmp al, 5
jne 0x2010b8e0
lea rax, [0x2044dbe0]
ret
movzx eax, byte [0x2044db25]
cmp al, 0x7b
je 0x2010b924
mov cl, 0xe3
nop dword [rax]
mov al, 0x59
lock cmpxchg byte [0x2044db25], cl
je 0x2010bab1
cmp al, 0x7b
jne 0x2010b910
lea rax, [0x2044db10]
ret
test r8d, r8d
je 0x2010ba01
movzx eax, byte [0x2044dd7d]
cmp al, 0x71
je 0x2010b964
mov cl, 0x18
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x2044dd7d], cl
je 0x2010baf1
cmp al, 0x71
jne 0x2010b950
lea rax, [0x2044dd70]
ret
movzx eax, byte [0x2044dde2]
cmp al, 0x39
je 0x2010b994
mov cl, 0x1c
nop dword [rax]
mov al, 0xfd
lock cmpxchg byte [0x2044dde2], cl
je 0x2010bb31
cmp al, 0x39
jne 0x2010b980
lea rax, [0x2044ddd0]
ret
movzx eax, byte [0x2044dd3d]
cmp al, 0x75
je 0x2010b9c4
mov cl, 0xd7
nop dword [rax]
mov al, 0xce
lock cmpxchg byte [0x2044dd3d], cl
je 0x2010bb71
cmp al, 0x75
jne 0x2010b9b0
lea rax, [0x2044dd30]
ret
xor eax, eax
lea rcx, [0x2044ddb0]
lea rdx, [0x20372d30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2010b9e0
mov al, 0x24
xchg byte [0x2044ddbd], al
lea rax, [0x2044ddb0]
ret
movzx eax, byte [0x2044dabd]
cmp al, 0xd8
je 0x2010bbe9
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x86
lock cmpxchg byte [0x2044dabd], cl
je 0x2010bbb1
cmp al, 0xd8
jne 0x2010ba20
jmp 0x2010bbe9
xor eax, eax
lea rcx, [0x2044db30]
lea rdx, [0x20372aa0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x2010ba50
mov al, 0x17
xchg byte [0x2044db39], al
lea rax, [0x2044db30]
ret
xor eax, eax
lea rcx, [0x2044dbe0]
lea rdx, [0x20372b30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x2010ba90
mov al, 5
xchg byte [0x2044dbf8], al
lea rax, [0x2044dbe0]
ret
xor eax, eax
lea rcx, [0x2044db10]
lea rdx, [0x20372a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2010bad0
mov al, 0x7b
xchg byte [0x2044db25], al
lea rax, [0x2044db10]
ret
xor eax, eax
lea rcx, [0x2044dd70]
lea rdx, [0x20372cf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2010bb10
mov al, 0x71
xchg byte [0x2044dd7d], al
lea rax, [0x2044dd70]
ret
xor eax, eax
lea rcx, [0x2044ddd0]
lea rdx, [0x20372d50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2010bb50
mov al, 0x39
xchg byte [0x2044dde2], al
lea rax, [0x2044ddd0]
ret
xor eax, eax
lea rcx, [0x2044dd30]
lea rdx, [0x20372cb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2010bb90
mov al, 0x75
xchg byte [0x2044dd3d], al
lea rax, [0x2044dd30]
ret
xor eax, eax
lea rcx, [0x2044dab0]
lea rdx, [0x20372a20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2010bbd0
mov al, 0xd8
xchg byte [0x2044dabd], al
lea rax, [0x2044dab0]
ret