Function at 0x202103d0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2021041c
test edx, edx
je 0x2021046c
test r8d, r8d
je 0x202104ac
test r9d, r9d
je 0x20210529
movzx eax, byte [0x2046b302]
cmp al, 0x3e
je 0x20210414
mov cl, 0xc1
nop dword [rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x2046b302], cl
je 0x202106a9
cmp al, 0x3e
jne 0x20210400
lea rax, [0x2046b300]
ret
test edx, edx
je 0x202104ec
test r8d, r8d
je 0x2021055c
test r9d, r9d
je 0x202105d9
movzx eax, byte [0x2046b193]
cmp al, 0x69
je 0x20210464
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x24
lock cmpxchg byte [0x2046b193], cl
je 0x20210779
cmp al, 0x69
jne 0x20210450
lea rax, [0x2046b190]
ret
test r8d, r8d
je 0x20210599
test r9d, r9d
je 0x20210609
movzx eax, byte [0x2046b230]
cmp al, 0xfc
je 0x202104a4
mov cl, 0xb3
nop dword [rax + rax]
mov al, 0x41
lock cmpxchg byte [0x2046b230], cl
je 0x202107b1
cmp al, 0xfc
jne 0x20210490
lea rax, [0x2046b220]
ret
test r9d, r9d
je 0x20210639
movzx eax, byte [0x2046b2f6]
cmp al, 0x82
je 0x202104e4
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x77
lock cmpxchg byte [0x2046b2f6], cl
je 0x202107f1
cmp al, 0x82
jne 0x202104d0
lea rax, [0x2046b2d0]
ret
test r8d, r8d
je 0x20210669
test r9d, r9d
je 0x202106e1
movzx eax, byte [0x2046b265]
cmp al, 0x76
je 0x202108c9
mov cl, 0x7e
nop
mov al, 0x1a
lock cmpxchg byte [0x2046b265], cl
je 0x2021089b
cmp al, 0x76
jne 0x20210510
jmp 0x202108c9
movzx eax, byte [0x2046b219]
cmp al, 0x4c
je 0x20210554
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0x52
lock cmpxchg byte [0x2046b219], cl
je 0x20210831
cmp al, 0x4c
jne 0x20210540
lea rax, [0x2046b200]
ret
test r9d, r9d
je 0x20210719
movzx eax, byte [0x2046b1d2]
cmp al, 0xba
je 0x20210909
mov cl, 0xf5
nop word cs:[rax + rax]
mov al, 0x75
lock cmpxchg byte [0x2046b1d2], cl
je 0x202108d1
cmp al, 0xba
jne 0x20210580
jmp 0x20210909
test r9d, r9d
je 0x20210749
movzx eax, byte [0x2046b312]
cmp al, 0xd5
je 0x20210949
mov cl, 0x1d
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2046b312], cl
je 0x20210911
cmp al, 0xd5
jne 0x202105c0
jmp 0x20210949
movzx eax, byte [0x2046b2cf]
cmp al, 0x8c
je 0x20210989
mov cl, 0xa4
nop word [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x2046b2cf], cl
je 0x20210951
cmp al, 0x8c
jne 0x202105f0
jmp 0x20210989
movzx eax, byte [0x2046b25c]
cmp al, 0x70
je 0x202109c9
mov cl, 0x14
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x2046b25c], cl
je 0x20210991
cmp al, 0x70
jne 0x20210620
jmp 0x202109c9
movzx eax, byte [0x2046b2bb]
cmp al, 0xf
je 0x20210a09
mov cl, 0x4c
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x2046b2bb], cl
je 0x202109d1
cmp al, 0xf
jne 0x20210650
jmp 0x20210a09
test r9d, r9d
je 0x20210871
movzx eax, byte [0x2046b32b]
cmp al, 0xb5
je 0x20210a49
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 5
lock cmpxchg byte [0x2046b32b], cl
je 0x20210a11
cmp al, 0xb5
jne 0x20210690
jmp 0x20210a49
xor eax, eax
lea rcx, [0x2046b300]
lea rdx, [0x2037fa80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x202106c0
mov al, 0x3e
xchg byte [0x2046b302], al
lea rax, [0x2046b300]
ret
movzx eax, byte [0x2046b273]
cmp al, 0x15
je 0x20210a89
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x2046b273], cl
je 0x20210a51
cmp al, 0x15
jne 0x20210700
jmp 0x20210a89
movzx eax, byte [0x2046b1f1]
cmp al, 0xb2
je 0x20210ac9
mov cl, 0x4f
nop word [rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x2046b1f1], cl
je 0x20210a91
cmp al, 0xb2
jne 0x20210730
jmp 0x20210ac9
movzx eax, byte [0x2046b1b5]
cmp al, 0x87
je 0x20210b09
mov cl, 0x6d
nop word [rax + rax]
mov al, 0xf7
lock cmpxchg byte [0x2046b1b5], cl
je 0x20210ad1
cmp al, 0x87
jne 0x20210760
jmp 0x20210b09
xor eax, eax
lea rcx, [0x2046b190]
lea rdx, [0x2037f920]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20210790
mov al, 0x69
xchg byte [0x2046b193], al
lea rax, [0x2046b190]
ret
xor eax, eax
lea rcx, [0x2046b220]
lea rdx, [0x2037f9b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x202107d0
mov al, 0xfc
xchg byte [0x2046b230], al
lea rax, [0x2046b220]
ret
xor eax, eax
lea rcx, [0x2046b2d0]
lea rdx, [0x2037fa50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20210810
mov al, 0x82
xchg byte [0x2046b2f6], al
lea rax, [0x2046b2d0]
ret
xor eax, eax
lea rcx, [0x2046b200]
lea rdx, [0x2037f990]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x20210850
mov al, 0x4c
xchg byte [0x2046b219], al
lea rax, [0x2046b200]
ret
movzx eax, byte [0x2046b2a3]
cmp al, 2
je 0x20210b3a
mov cl, 0x44
mov al, 0xbc
lock cmpxchg byte [0x2046b2a3], cl
je 0x20210b11
cmp al, 2
jne 0x20210882
jmp 0x20210b3a
xor eax, eax
lea rcx, [0x2046b260]
lea rdx, [0x2037f9e0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x202108b0
mov al, 0x76
xchg byte [0x2046b265], al
lea rax, [0x2046b260]
ret
xor eax, eax
lea rcx, [0x2046b1c0]
lea rdx, [0x2037f950]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x202108f0
mov al, 0xba
xchg byte [0x2046b1d2], al
lea rax, [0x2046b1c0]
ret
xor eax, eax
lea rcx, [0x2046b310]
lea rdx, [0x2037fa90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20210930
mov al, 0xd5
xchg byte [0x2046b312], al
lea rax, [0x2046b310]
ret
xor eax, eax
lea rcx, [0x2046b2c0]
lea rdx, [0x2037fa40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20210970
mov al, 0x8c
xchg byte [0x2046b2cf], al
lea rax, [0x2046b2c0]
ret
xor eax, eax
lea rcx, [0x2046b240]
lea rdx, [0x2037f9c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x202109b0
mov al, 0x70
xchg byte [0x2046b25c], al
lea rax, [0x2046b240]
ret
xor eax, eax
lea rcx, [0x2046b2b0]
lea rdx, [0x2037fa30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x202109f0
mov al, 0xf
xchg byte [0x2046b2bb], al
lea rax, [0x2046b2b0]
ret
xor eax, eax
lea rcx, [0x2046b320]
lea rdx, [0x2037faa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20210a30
mov al, 0xb5
xchg byte [0x2046b32b], al
lea rax, [0x2046b320]
ret
xor eax, eax
lea rcx, [0x2046b270]
lea rdx, [0x2037f9f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20210a70
mov al, 0x15
xchg byte [0x2046b273], al
lea rax, [0x2046b270]
ret
xor eax, eax
lea rcx, [0x2046b1e0]
lea rdx, [0x2037f970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x20210ab0
mov al, 0xb2
xchg byte [0x2046b1f1], al
lea rax, [0x2046b1e0]
ret
xor eax, eax
lea rcx, [0x2046b1a0]
lea rdx, [0x2037f930]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20210af0
mov al, 0x87
xchg byte [0x2046b1b5], al
lea rax, [0x2046b1a0]
ret
xor eax, eax
lea rcx, [0x2046b280]
lea rdx, [0x2037fa00]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20210b21
mov al, 2
xchg byte [0x2046b2a3], al
lea rax, [0x2046b280]
ret