Function at 0x2026cdd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov esi, r9d
mov ebp, dword [rsp + 0xa0]
test ecx, ecx
je 0x2026ce29
test edx, edx
je 0x2026ce69
movzx eax, byte [0x2056a00d]
cmp al, 0x1a
je 0x2026cff8
mov cl, 0x52
nop word cs:[rax + rax]
mov al, 0x36
lock cmpxchg byte [0x2056a00d], cl
je 0x2026cf99
cmp al, 0x1a
jne 0x2026ce10
jmp 0x2026cff8
test edx, edx
je 0x2026cf54
movzx eax, byte [0x20569cf2]
cmp al, 0xc8
je 0x2026d07b
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x20569cf2], cl
je 0x2026d004
cmp al, 0xc8
jne 0x2026ce50
jmp 0x2026d07b
movzx eax, byte [0x20569de0]
cmp al, 0xc4
je 0x2026cf48
movzx ecx, byte [0x2056aa9c]
mov edx, ebp
not dl
mov r8d, edx
and r8b, 0xbe
mov eax, ebp
and al, 0x41
or al, r8b
mov r8d, eax
xor r8b, cl
and al, cl
add al, al
mov r9d, r8d
xor r9b, al
and al, r8b
add al, al
add al, r9b
and dl, 0x44
mov r8d, ebp
and r8b, 0xbb
or r8b, dl
add r8b, cl
lock cmpxchg byte [0x20569de0], r8b
jne 0x2026ce70
xor r8d, r8d
lea rax, [0x20569dd0]
lea rcx, [0x20479f00]
mov r9d, ebp
not r9d
and r9d, 0x3044cca2
mov edx, ebp
xor edx, 0xcfbb335d
or edx, r9d
not edx
or edx, r9d
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x2056aa98]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0x10
jl 0x2026cf00
movzx eax, byte [0x2056aa9c]
xor bpl, 0x28
mov ecx, ebp
xor cl, al
and bpl, al
add bpl, bpl
add bpl, cl
xchg byte [0x20569de0], bpl
lea rax, [0x20569dd0]
jmp 0x2026d10b
mov edx, esi
xor edx, 0xf600c6
mov r8d, ebp
xor r8d, 0x9d057b4e
lea rcx, [rsp + 0x32]
call fcn.2026c910
cmp byte [rsp + 0x32], 0x53
je 0x2026d104
mov cl, 0x8d
nop dword [rax]
mov al, 0x2f
lock cmpxchg byte [0x20569fa3], cl
je 0x2026d087
cmp al, 0x53
jne 0x2026cf80
jmp 0x2026d104
xor edi, edi
lea rbx, [0x2056a000]
lea r14, [0x2047a100]
xor esi, 0x2f6f468d
mov r15d, ebp
xor r15d, 0xbb3cf908
nop dword [rax]
movzx ecx, byte [rdi + rbx]
movzx edx, byte [rdi + r14]
mov eax, dword [0x2056aa98]
add eax, r15d
xor eax, ebp
mov dword [rsp + 0x20], eax
mov r8d, edi
mov r9d, esi
call fcn.2026c810
lea eax, [rdi + 1]
cmp eax, 0xc
jg 0x2026cff0
inc rdi
jmp 0x2026cfc0
mov al, 0x1a
xchg byte [0x2056a00d], al
lea rax, [0x2056a000]
jmp 0x2026d10b
xor edi, edi
lea r15, [0x20569cf0]
xor esi, 0x3361c01f
xor ebp, 0x2ad5b382
lea rbx, [rsp + 0x33]
lea r14, [rsp + 0x38]
lea r12, [0x20479e40]
nop word [rax + rax]
lea rcx, [r15 + rdi]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], esi
mov edx, edi
mov r8, rbx
mov r9, r14
call fcn.2026e080
movzx eax, byte [rsp + 0x33]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + r12]
mov edx, eax
xor dl, cl
and al, cl
add al, al
add al, dl
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 1
jg 0x2026d073
inc rdi
jmp 0x2026d030
mov al, 0xc8
xchg byte [0x20569cf2], al
lea rax, [0x20569cf0]
jmp 0x2026d10b
xor ecx, ecx
lea rbx, [0x20569fa0]
lea r14, [0x2047a0a0]
mov r15d, esi
xor r15d, 0x4235913a
mov r12d, ebp
xor r12d, 0x18431c3e
lea rdi, [rsp + 0x34]
movsxd r8, ecx
movzx edx, byte [r8 + rbx]
lea rcx, [r14 + r8]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9, rdi
call fcn.2026cd90
mov ecx, dword [rsp + 0x34]
test al, 1
je 0x2026d0b0
mov edx, ebp
not edx
mov eax, edx
and eax, 0x490f15d7
mov ecx, ebp
and ecx, 0xb6f0ea28
or ecx, eax
add ecx, dword [0x2056aa98]
xor esi, 0xd72e33a
xor edx, ebp
and edx, ecx
xor edx, ebp
mov ecx, esi
call fcn.2026d130
lea rax, [0x20569fa0]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret