Function at 0x1401c7b60
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test ecx, ecx
je 0x1401c7c2f
mov eax, dword [0x140564704]
cmp eax, 0x29
nop dword [rax]
mov eax, dword [0x140564700]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401c7b80
test edx, edx
je 0x1401c7cd0
movzx eax, byte [0x140513ef3]
cmp al, 0x7a
je 0x1401c7e03
mov cl, 0x13
mov edx, 0xc93720b0
lea rax, [fcn.1401c7b60]
lea r8d, [rax + rax]
add r8d, 0x3e20
jmp 0x1401c7bd8
cmp al, 0x7a
je 0x1401c7e03
mov al, 0x88
lock cmpxchg byte [0x140513ef3], cl
je 0x1401c7da4
mov r9d, dword [0x140564700]
lea r10d, [r9 + 1]
imul r10d, r9d
test r10b, 1
jne 0x1401c7c20
nop dword [rax]
mov r9d, dword [0x140513fb8]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
not r10d
test r10d, r9d
je 0x1401c7bd0
nop dword [rax + rax]
mov r9d, dword [0x140564704]
cmp r9d, 0x50
jge 0x1401c7c20
jmp 0x1401c7c00
test edx, edx
je 0x1401c7d13
movzx eax, byte [0x140513eba]
nop
cmp al, 2
je 0x1401c7f15
movzx ecx, byte [0x140513fbc]
lea eax, [rcx + 0x2d]
add cl, 0xc5
lock cmpxchg byte [0x140513eba], cl
jne 0x1401c7c40
nop
mov eax, dword [0x140564704]
cmp eax, 0x59
jle 0x1401c7c76
mov eax, dword [0x140564704]
cmp eax, 0x1f
jge 0x1401c7c60
mov eax, dword [0x140564700]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401c7c6b
xor edx, edx
lea rax, [0x140513eb0]
lea rcx, [0x14042dca0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x140513fb8]
add edx, r8d
add edx, 0xc93720b0
cmp edx, 0xa
jl 0x1401c7ca0
xor eax, eax
test al, al
jne 0x1401c7ec0
jmp 0x1401c7eb7
movzx eax, byte [0x140513e35]
cmp al, 0xd8
je 0x1401c7e49
mov cl, 0x15
nop word cs:[rax + rax]
mov al, 0x33
lock cmpxchg byte [0x140513e35], cl
je 0x1401c7e0f
movzx edx, byte [0x140513fbc]
add dl, 0xba
cmp al, dl
jne 0x1401c7cf0
jmp 0x1401c7e49
movzx eax, byte [0x140513de2]
cmp al, 6
je 0x1401c7ea7
mov dil, 0x56
mov ebp, 0xc93720cc
lea rsi, [0x1401c7f20]
jmp 0x1401c7d4a
add al, 0xe8
cmp bl, al
je 0x1401c7ea7
mov al, 0xcc
lock cmpxchg byte [0x140513de2], dil
je 0x1401c7e52
mov ebx, eax
mov eax, dword [0x140564700]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401c7d89
nop
movzx eax, byte [0x140513fbc]
mov ecx, dword [0x140564704]
mov edx, dword [0x140513fb8]
add edx, ebp
cmp ecx, edx
jl 0x1401c7d40
mov ecx, 0x33
call fcn.1403c3d24
mov qword [0x1405646f8], rax
mov rcx, rsi
call fcn.1403e45e0
jmp 0x1401c7d70
xor edx, edx
lea rax, [0x140513ed0]
lea rcx, [0x14042dcc0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x23
jl 0x1401c7dc0
mov eax, dword [0x140564704]
nop word cs:[rax + rax]
mov eax, dword [0x140564704]
cmp eax, 0x20
jg 0x1401c7df0
mov al, 0x7a
xchg byte [0x140513ef3], al
lea rax, [0x140513ed0]
jmp 0x1401c7eae
xor edx, edx
lea rax, [0x140513e20]
lea rcx, [0x14042dc20]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x140513fb8]
add edx, r8d
add edx, 0xc93720b0
cmp edx, 0x15
jl 0x1401c7e20
mov al, 0xd8
xchg byte [0x140513e35], al
lea rax, [0x140513e20]
jmp 0x1401c7eae
xor eax, eax
lea rcx, [0x140513de0]
lea rdx, [0x14042dbf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 1
jg 0x1401c7e98
inc rax
jmp 0x1401c7e70
movzx eax, byte [0x140513fbc]
add al, 0xe8
xchg byte [0x140513de2], al
lea rax, [0x140513de0]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x1401c7ed3
nop dword [rax]
mov eax, dword [0x140564700]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401c7ec0
jmp 0x1401c7eb7
mov eax, dword [0x140564704]
cmp eax, 0x25
jge 0x1401c7f00
movzx eax, byte [0x140513fbc]
add al, 0xe4
xchg byte [0x140513eba], al
mov eax, dword [0x140564704]
cmp eax, 0x3d
jl 0x1401c7f15
nop dword [rax + rax]
mov al, 2
xchg byte [0x140513eba], al
mov eax, dword [0x140564704]
cmp eax, 0x60
jge 0x1401c7f00
jmp 0x1401c7ede
lea rax, [0x140513eb0]
jmp 0x1401c7eae