Function at 0x14015f8b0
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
test ecx, ecx
je 0x14015f918
test edx, edx
je 0x14015f959
movzx eax, byte [0x1404deb1e]
cmp al, 0xc3
je 0x14015fa40
mov bl, 0xb4
xor esi, 0xe4a13d51
nop word cs:[rax + rax]
mov al, 0x22
lock cmpxchg byte [0x1404deb1e], bl
je 0x14015f9f9
mov ecx, eax
mov edx, esi
mov r8d, 0x9b635379
call fcn.140160330
test al, 1
je 0x14015f8f0
jmp 0x14015fa40
test edx, edx
je 0x14015f9c6
movzx eax, byte [0x1404de9b5]
movzx ecx, byte [0x1404df380]
add cl, 0x8c
cmp al, cl
je 0x14015faf4
mov cl, 0x63
nop dword [rax + rax]
mov al, 0x72
lock cmpxchg byte [0x1404de9b5], cl
je 0x14015fa4c
cmp al, 0x64
jne 0x14015f940
jmp 0x14015faf4
mov ecx, esi
xor ecx, 0x42b06e87
mov edx, 0xa87c2e99
call fcn.140160340
test al, 1
jne 0x14015fb4c
mov bpl, 0xcd
mov edi, esi
xor edi, 0x35e59c3f
mov r14d, 0x15952aa8
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x1404de82c], bpl
mov ebx, eax
sete dl
mov r9d, dword [0x1404df370]
add r9d, r14d
mov ecx, eax
mov r8d, edi
call fcn.1400fbe60
test al, 1
jne 0x14015fb00
cmp bl, 0xf
jne 0x14015f990
jmp 0x14015fb4c
movzx eax, byte [0x1404dead3]
cmp al, 0x15
je 0x14015fba6
mov cl, 0xb4
nop word [rax + rax]
mov al, 0x42
lock cmpxchg byte [0x1404dead3], cl
je 0x14015fb55
cmp al, 0x15
jne 0x14015f9e0
jmp 0x14015fba6
xor edx, edx
lea rax, [0x1404deb10]
lea rcx, [0x140403aa0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x1404df370]
add edx, r8d
add edx, 0x4b258b72
cmp edx, 0xe
jl 0x14015fa10
movzx eax, byte [0x1404df380]
add al, 0xeb
xchg byte [0x1404deb1e], al
lea rax, [0x1404deb10]
jmp 0x14015fbad
xor r12d, r12d
mov edi, esi
xor edi, 0x608f26c7
mov ebp, esi
xor ebp, 0xeafdf536
mov ebx, 0x17a3dbd
lea r14, [rsp + 0x40]
xor esi, 0xd44dd0b5
lea r15, [rsp + 0x3c]
nop word cs:[rax + rax]
mov ecx, r12d
lea rdx, [rsp + 0x3b]
mov r8d, edi
mov r9d, 0xa983440b
call fcn.140160660
movzx r13d, byte [rsp + 0x3b]
movsxd r12, r12d
mov r9d, dword [0x1404df370]
add r9d, ebx
mov rcx, r12
mov rdx, r14
mov r8d, ebp
call fcn.14015fe10
mov rax, qword [rsp + 0x40]
xor r13b, byte [rax]
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], 0x9f62eb52
mov rcx, r12
mov edx, r13d
mov r8d, r12d
mov r9, r15
call fcn.14015fdf0
mov r12d, dword [rsp + 0x3c]
test al, 1
je 0x14015fa80
movzx eax, byte [0x1404df380]
add al, 0x8c
xchg byte [0x1404de9b5], al
lea rax, [0x1404de9a0]
jmp 0x14015fbad
mov edi, 1
lea rbx, [0x1404de820]
lea r14, [0x1404037d0]
xor esi, 0x1c9f1be0
nop dword [rax]
lea eax, [rdi - 1]
cdqe
movzx ecx, byte [rax + r14]
xor byte [rax + rbx], cl
mov ecx, edi
mov edx, esi
mov r8d, 0xa867d74c
call fcn.140160ea0
test al, 1
jne 0x14015fb44
inc edi
jmp 0x14015fb20
mov al, 0xf
xchg byte [0x1404de82c], al
lea rax, [0x1404de820]
jmp 0x14015fbad
xor eax, eax
lea rbx, [0x1404deab0]
lea r14, [0x140403a40]
xor esi, 0xb01d2c5a
nop dword [rax + rax]
movsxd rdi, eax
movzx edx, byte [rdi + rbx]
add dl, byte [rdi + r14]
mov rcx, rdi
mov r8d, esi
mov r9d, 0x92fc0e6e
call fcn.140160360
mov eax, dword [0x1404df370]
add eax, edi
add eax, 0x4b258b72
cmp eax, 0x23
jl 0x14015fb70
mov al, 0x15
xchg byte [0x1404dead3], al
lea rax, [0x1404deab0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret