Function at 0x203ec7c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov esi, r9d
mov eax, 0xb70b5091
add eax, dword [0x205a2354]
cmp ecx, eax
jne 0x203ec858
mov eax, 0x6ca8d1c2
add eax, dword [0x205a2354]
xor eax, esi
mov ecx, edx
mov edx, eax
mov r8d, 0xdd95258b
call fcn.203ecb60
test al, 1
je 0x203ec8af
movzx eax, byte [0x205a2263]
movzx ecx, byte [0x205a2350]
add cl, 0x20
cmp al, cl
je 0x203ecab1
mov bl, 0x78
xor esi, 0x2a13c00
nop word [rax + rax]
mov al, 0x39
lock cmpxchg byte [0x205a2263], bl
je 0x203ec9ac
mov ecx, eax
mov edx, esi
mov r8d, 0x3bd0800d
call fcn.203ecb30
test al, 1
je 0x203ec830
jmp 0x203ecab1
test edx, edx
je 0x203ec8f8
mov ecx, esi
xor ecx, 0x1c62cd70
mov edx, 0x5f480937
call fcn.203ecb40
test al, 1
jne 0x203ec9a0
mov cl, 0x9a
nop dword [rax]
mov al, 0x64
lock cmpxchg byte [0x205a2293], cl
je 0x203ec944
movzx edx, byte [0x205a2350]
mov r8d, edx
xor r8b, 0x2b
and dl, 0x2b
add dl, dl
add dl, r8b
cmp al, dl
jne 0x203ec880
jmp 0x203ec9a0
movzx eax, byte [0x205a223b]
cmp al, 0xac
je 0x203eca99
mov bl, 0x80
mov edi, esi
xor edi, 0x4a3edf4a
nop dword [rax + rax]
mov al, 0xc7
lock cmpxchg byte [0x205a223b], bl
je 0x203ec9dc
mov ecx, eax
mov edx, edi
mov r8d, 0xfb39302d
call fcn.20364260
test al, 1
je 0x203ec8d0
jmp 0x203eca99
movzx eax, byte [0x205a22af]
cmp al, 0x43
je 0x203ecb0c
mov edi, esi
xor edi, 0x2525aa8a
lea rbx, [rsp + 0x20]
nop word cs:[rax + rax]
mov rcx, rbx
mov edx, edi
mov r8d, 0xbfce45a1
call fcn.203ecbf0
test al, 1
jne 0x203ecaba
cmp byte [rsp + 0x20], 0x43
jne 0x203ec920
jmp 0x203ecb0c
xor edi, edi
xor esi, 0xbeff13fc
lea rbx, [rsp + 0x20]
lea r14, [0x20495210]
lea r15, [0x205a2270]
nop
mov rcx, rdi
mov rdx, rbx
mov r8d, esi
mov r9d, 0x80243683
call fcn.203ecb80
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax]
add al, byte [rdi + r14]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 0x22
jg 0x203ec991
inc rdi
jmp 0x203ec960
movzx eax, byte [0x205a2350]
add al, 0x2b
xchg byte [0x205a2293], al
lea rax, [0x205a2270]
jmp 0x203ecb13
xor eax, eax
lea rcx, [0x205a2260]
lea rdx, [0x20495200]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x203ecaa2
inc rax
jmp 0x203ec9c0
xor eax, eax
lea r12, [0x205a2220]
mov edi, esi
xor edi, 0x646e15d8
lea rbx, [rsp + 0x20]
mov ebp, esi
xor ebp, 0xd87ea716
mov r14d, esi
xor r14d, 0x9b26531f
nop word cs:[rax + rax]
movsxd r15, eax
lea rcx, [r12 + r15]
mov rdx, rbx
mov r8d, edi
mov r9d, 0xdbebddcc
call fcn.203ecb90
movzx r13d, byte [rsp + 0x20]
mov ecx, r15d
mov rdx, rbx
mov r8d, ebp
mov r9d, 0xf636156f
call fcn.20135500
mov rax, qword [rsp + 0x20]
lea rcx, [0x204951c0]
movzx eax, byte [rax + rcx]
mov ecx, eax
xor cl, al
not cl
and cl, r13b
xor cl, al
mov byte [r15 + r12], cl
mov ecx, r15d
mov rdx, rbx
mov r8d, r14d
mov r9d, 0xb55dbca6
call fcn.2012a2f0
mov eax, dword [rsp + 0x20]
cmp eax, 0x1b
jl 0x203eca10
mov edx, dword [0x205a2354]
lea eax, [rdx - 0x4c9a838f]
xor esi, eax
add edx, 0x639c6c7d
mov ecx, esi
call fcn.203ecc20
lea rax, [0x205a2220]
jmp 0x203ecb13
movzx eax, byte [0x205a2350]
add al, 0x20
xchg byte [0x205a2263], al
lea rax, [0x205a2260]
jmp 0x203ecb13
mov edi, 1
lea rbx, [0x205a22a0]
lea r14, [0x20495240]
xor esi, 0x22d792
nop word cs:[rax + rax]
lea eax, [rdi - 1]
cdqe
movzx ecx, byte [rax + r14]
xor byte [rax + rbx], cl
mov ecx, edi
mov edx, esi
mov r8d, 0xd0dfa4a
call fcn.203ecbe0
test al, 1
jne 0x203ecb04
inc edi
jmp 0x203ecae0
mov al, 0x43
xchg byte [0x205a22af], al
lea rax, [0x205a22a0]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret