Function at 0x202b7d10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov esi, r9d
mov ebp, dword [rsp + 0xb0]
test ecx, ecx
je 0x202b7d69
test edx, edx
je 0x202b7d99
movzx eax, byte [0x205790bd]
cmp al, 0xe1
je 0x202b7ec3
mov cl, 0xa1
nop word cs:[rax + rax]
mov al, 0x29
lock cmpxchg byte [0x205790bd], cl
je 0x202b7df9
cmp al, 0xe1
jne 0x202b7d50
jmp 0x202b7ec3
test edx, edx
je 0x202b7dc9
movzx eax, byte [0x205790fd]
cmp al, 0xc9
je 0x202b8018
mov cl, 0x10
nop
mov al, 0x57
lock cmpxchg byte [0x205790fd], cl
je 0x202b7ecf
cmp al, 0xc9
jne 0x202b7d80
jmp 0x202b8018
movzx eax, byte [0x205790a4]
cmp al, 0x3a
je 0x202b8007
mov cl, 0xd5
nop word [rax + rax]
mov al, 0x34
lock cmpxchg byte [0x205790a4], cl
je 0x202b7f51
cmp al, 0x3a
jne 0x202b7db0
jmp 0x202b8007
movzx eax, byte [0x2057906d]
cmp al, 0x73
je 0x202b8065
mov cl, 0xc0
nop word [rax + rax]
mov al, 0xc7
lock cmpxchg byte [0x2057906d], cl
je 0x202b8021
cmp al, 0x73
jne 0x202b7de0
jmp 0x202b8065
mov r14d, 1
mov edi, esi
xor edi, 0x4b294f95
neg esi
mov eax, esi
xor eax, 0x4271
and esi, 0x4271
lea r15d, [rax + rsi*2]
lea rsi, [rsp + 0x3f]
lea rbx, [rsp + 0x40]
lea r12, [0x205790b0]
nop dword [rax + rax]
mov eax, r15d
sub eax, dword [0x20579100]
lea ecx, [r14 - 1]
add eax, 0x538dbcab
mov edx, eax
xor edx, 0xac724355
and eax, 0x2c724355
lea eax, [rdx + rax*2]
mov edx, dword [0x205791d0]
mov r8d, ebp
xor r8d, 0xdbe498fe
mov r9d, ebp
not r9d
and r9d, ebp
xor r9d, r8d
mov r8d, edx
xor r8d, r8d
not r8d
and r8d, r9d
xor r8d, edx
and r9d, edx
lea edx, [r8 + r9*2]
sub edx, eax
movsxd rax, edx
add rax, qword [0x20579110]
mov rdx, rsi
mov r8, rbx
mov r9d, edi
call qword [case.0x2010e313.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r12], al
cmp r14d, 0xc
jg 0x202b7ebb
inc r14d
jmp 0x202b7e30
mov al, 0xe1
xchg byte [0x205790bd], al
lea rax, [0x205790b0]
jmp 0x202b806c
xor edi, edi
lea r14, [0x205790f0]
lea r15, [0x2047e6b0]
mov ebp, esi
xor ebp, 0x37b1668b
lea r12, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
nop word cs:[rax + rax]
movzx edx, byte [rdi + r14]
lea rcx, [r15 + rdi]
mov eax, dword [0x20579108]
add eax, esi
add eax, 0xffffbd8f
cdqe
add rax, qword [0x20579120]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r12
mov r8d, edi
mov r9, rbx
call qword [case.0x2010e313.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea eax, [rdi + 1]
cmp eax, 0xc
jg 0x202b8010
inc rdi
jmp 0x202b7f00
xor edi, edi
lea r14, [0x20579090]
mov r15d, ebp
xor r15d, 0xf31a2b08
lea rbx, [rsp + 0x3f]
mov r13d, ebp
xor r13d, 0xdbe498f9
mov r12d, ebp
xor r12d, 0xdbe498ca
nop dword [rax]
movsxd rdi, edi
movzx edx, byte [rdi + r14]
mov ecx, dword [0x205791d0]
add ecx, r15d
xor ecx, esi
mov eax, dword [0x20579104]
add eax, esi
add eax, 0xffffbd8f
cdqe
add rax, qword [0x20579118]
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov r8d, edi
mov r9, rbx
call qword [case.0x2010e313.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r14], al
mov eax, dword [0x205791d0]
add edi, r13d
add edi, eax
add eax, r12d
cmp edi, eax
jl 0x202b7f80
mov eax, ebp
not al
xor bpl, 0xec
and al, 0x13
or bpl, al
not bpl
or bpl, al
add bpl, byte [0x205791e0]
xchg byte [0x205790a4], bpl
lea rax, [0x20579090]
jmp 0x202b806c
mov al, 0xc9
xchg byte [0x205790fd], al
lea rax, [0x205790f0]
jmp 0x202b806c
xor eax, eax
lea rcx, [0x20579060]
lea rdx, [0x2047e620]
xor ebp, 0xdbe498f9
nop word [rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
mov r8d, dword [0x205791d0]
add r8d, ebp
add eax, r8d
cmp eax, 0xd
jl 0x202b8040
mov al, 0x73
xchg byte [0x2057906d], al
lea rax, [0x20579060]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret