Function at 0x202147b0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x202147fc
test edx, edx
je 0x2021484c
test r8d, r8d
je 0x2021488c
test r9d, r9d
je 0x20214909
movzx eax, byte [0x2046bbcd]
cmp al, 0x35
je 0x202147f4
mov cl, 0x40
nop dword [rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x2046bbcd], cl
je 0x20214a89
cmp al, 0x35
jne 0x202147e0
lea rax, [0x2046bbc0]
ret
test edx, edx
je 0x202148cc
test r8d, r8d
je 0x2021493c
test r9d, r9d
je 0x202149b9
movzx eax, byte [0x2046bcbd]
cmp al, 0x43
je 0x20214844
mov cl, 0x92
nop word cs:[rax + rax]
mov al, 1
lock cmpxchg byte [0x2046bcbd], cl
je 0x20214b59
cmp al, 0x43
jne 0x20214830
lea rax, [0x2046bcb0]
ret
test r8d, r8d
je 0x20214979
test r9d, r9d
je 0x202149e9
movzx eax, byte [0x2046ba95]
cmp al, 0x76
je 0x20214884
mov cl, 0x37
nop dword [rax + rax]
mov al, 0x22
lock cmpxchg byte [0x2046ba95], cl
je 0x20214b91
cmp al, 0x76
jne 0x20214870
lea rax, [0x2046ba90]
ret
test r9d, r9d
je 0x20214a19
movzx eax, byte [0x2046bbbb]
cmp al, 0xb3
je 0x202148c4
mov cl, 1
nop word cs:[rax + rax]
mov al, 0x28
lock cmpxchg byte [0x2046bbbb], cl
je 0x20214bd1
cmp al, 0xb3
jne 0x202148b0
lea rax, [0x2046bbb0]
ret
test r8d, r8d
je 0x20214a49
test r9d, r9d
je 0x20214ac1
movzx eax, byte [0x2046bb5f]
cmp al, 0x82
je 0x20214ca9
mov cl, 0x8c
nop
mov al, 0xcb
lock cmpxchg byte [0x2046bb5f], cl
je 0x20214c7b
cmp al, 0x82
jne 0x202148f0
jmp 0x20214ca9
movzx eax, byte [0x2046bb92]
cmp al, 0xe5
je 0x20214934
mov cl, 0x8b
nop word cs:[rax + rax]
mov al, 0x36
lock cmpxchg byte [0x2046bb92], cl
je 0x20214c11
cmp al, 0xe5
jne 0x20214920
lea rax, [0x2046bb90]
ret
test r9d, r9d
je 0x20214af9
movzx eax, byte [0x2046bbdf]
cmp al, 0x49
je 0x20214ce9
mov cl, 0x68
nop word cs:[rax + rax]
mov al, 9
lock cmpxchg byte [0x2046bbdf], cl
je 0x20214cb1
cmp al, 0x49
jne 0x20214960
jmp 0x20214ce9
test r9d, r9d
je 0x20214b29
movzx eax, byte [0x2046ba45]
cmp al, 0x7a
je 0x20214d29
mov cl, 0x91
nop word cs:[rax + rax]
mov al, 0x58
lock cmpxchg byte [0x2046ba45], cl
je 0x20214cf1
cmp al, 0x7a
jne 0x202149a0
jmp 0x20214d29
movzx eax, byte [0x2046b985]
cmp al, 0x31
je 0x20214d69
mov cl, 0x29
nop word [rax + rax]
mov al, 0x91
lock cmpxchg byte [0x2046b985], cl
je 0x20214d31
cmp al, 0x31
jne 0x202149d0
jmp 0x20214d69
movzx eax, byte [0x2046bc9d]
cmp al, 0x7a
je 0x20214da9
mov cl, 0xaa
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2046bc9d], cl
je 0x20214d71
cmp al, 0x7a
jne 0x20214a00
jmp 0x20214da9
movzx eax, byte [0x2046bc2b]
cmp al, 0xdd
je 0x20214de9
mov cl, 0xc4
nop word [rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x2046bc2b], cl
je 0x20214db1
cmp al, 0xdd
jne 0x20214a30
jmp 0x20214de9
test r9d, r9d
je 0x20214c51
movzx eax, byte [0x2046ba59]
cmp al, 0x2e
je 0x20214e29
mov cl, 4
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x2046ba59], cl
je 0x20214df1
cmp al, 0x2e
jne 0x20214a70
jmp 0x20214e29
xor eax, eax
lea rcx, [0x2046bbc0]
lea rdx, [0x203806c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20214aa0
mov al, 0x35
xchg byte [0x2046bbcd], al
lea rax, [0x2046bbc0]
ret
movzx eax, byte [0x2046bab0]
cmp al, 0x76
je 0x20214e69
mov cl, 0x85
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x2046bab0], cl
je 0x20214e31
cmp al, 0x76
jne 0x20214ae0
jmp 0x20214e69
movzx eax, byte [0x2046bc6d]
cmp al, 0x52
je 0x20214ea9
mov cl, 0xca
nop word [rax + rax]
mov al, 0xf5
lock cmpxchg byte [0x2046bc6d], cl
je 0x20214e71
cmp al, 0x52
jne 0x20214b10
jmp 0x20214ea9
movzx eax, byte [0x2046b963]
cmp al, 0x26
je 0x20214ee9
mov cl, 0x89
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x2046b963], cl
je 0x20214eb1
cmp al, 0x26
jne 0x20214b40
jmp 0x20214ee9
xor eax, eax
lea rcx, [0x2046bcb0]
lea rdx, [0x203807b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20214b70
mov al, 0x43
xchg byte [0x2046bcbd], al
lea rax, [0x2046bcb0]
ret
xor eax, eax
lea rcx, [0x2046ba90]
lea rdx, [0x203805a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20214bb0
mov al, 0x76
xchg byte [0x2046ba95], al
lea rax, [0x2046ba90]
ret
xor eax, eax
lea rcx, [0x2046bbb0]
lea rdx, [0x203806b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20214bf0
mov al, 0xb3
xchg byte [0x2046bbbb], al
lea rax, [0x2046bbb0]
ret
xor eax, eax
lea rcx, [0x2046bb90]
lea rdx, [0x20380690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20214c30
mov al, 0xe5
xchg byte [0x2046bb92], al
lea rax, [0x2046bb90]
ret
movzx eax, byte [0x2046bc58]
cmp al, 9
je 0x20214f1a
mov cl, 0xfb
mov al, 0xd9
lock cmpxchg byte [0x2046bc58], cl
je 0x20214ef1
cmp al, 9
jne 0x20214c62
jmp 0x20214f1a
xor eax, eax
lea rcx, [0x2046bb50]
lea rdx, [0x20380650]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20214c90
mov al, 0x82
xchg byte [0x2046bb5f], al
lea rax, [0x2046bb50]
ret
xor eax, eax
lea rcx, [0x2046bbd0]
lea rdx, [0x203806d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20214cd0
mov al, 0x49
xchg byte [0x2046bbdf], al
lea rax, [0x2046bbd0]
ret
xor eax, eax
lea rcx, [0x2046ba30]
lea rdx, [0x20380540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20214d10
mov al, 0x7a
xchg byte [0x2046ba45], al
lea rax, [0x2046ba30]
ret
xor eax, eax
lea rcx, [0x2046b970]
lea rdx, [0x203804a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20214d50
mov al, 0x31
xchg byte [0x2046b985], al
lea rax, [0x2046b970]
ret
xor eax, eax
lea rcx, [0x2046bc90]
lea rdx, [0x20380790]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20214d90
mov al, 0x7a
xchg byte [0x2046bc9d], al
lea rax, [0x2046bc90]
ret
xor eax, eax
lea rcx, [0x2046bc10]
lea rdx, [0x20380710]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x20214dd0
mov al, 0xdd
xchg byte [0x2046bc2b], al
lea rax, [0x2046bc10]
ret
xor eax, eax
lea rcx, [0x2046ba50]
lea rdx, [0x20380560]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x20214e10
mov al, 0x2e
xchg byte [0x2046ba59], al
lea rax, [0x2046ba50]
ret
xor eax, eax
lea rcx, [0x2046baa0]
lea rdx, [0x203805b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20214e50
mov al, 0x76
xchg byte [0x2046bab0], al
lea rax, [0x2046baa0]
ret
xor eax, eax
lea rcx, [0x2046bc60]
lea rdx, [0x20380760]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20214e90
mov al, 0x52
xchg byte [0x2046bc6d], al
lea rax, [0x2046bc60]
ret
xor eax, eax
lea rcx, [0x2046b960]
lea rdx, [0x20380490]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20214ed0
mov al, 0x26
xchg byte [0x2046b963], al
lea rax, [0x2046b960]
ret
xor eax, eax
lea rcx, [0x2046bc40]
lea rdx, [0x20380740]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x20214f01
mov al, 9
xchg byte [0x2046bc58], al
lea rax, [0x2046bc40]
ret