Function at 0x140193aa0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov edi, r9d
mov esi, dword [rsp + 0x90]
test ecx, ecx
je 0x140193b72
test edx, edx
je 0x140193c2c
movzx eax, byte [0x14052c933]
cmp al, 0x2c
je 0x140193d0b
mov eax, esi
not eax
mov ecx, esi
xor ecx, 0x6aea7bf1
and ecx, eax
and eax, 0xe2fdfcea
mov ebp, esi
and ebp, 0x1d020315
or ebp, eax
mov r14d, esi
and r14d, 0x9515840e
or r14d, ecx
lea rbx, [rsp + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [0x14052f5f8]
mov eax, esi
xor al, 0x3f
add al, cl
mov edx, esi
xor dl, 0xbd
add dl, cl
lock cmpxchg byte [0x14052c933], dl
sete dl
mov ecx, dword [0x14052f5e8]
add ecx, ebp
mov r9d, ecx
xor r9d, ecx
not r9d
and r9d, edi
xor r9d, ecx
mov dword [rsp + 0x20], r14d
mov ecx, eax
mov r8, rbx
call fcn.140193e00
test al, 1
jne 0x140193ca9
mov eax, esi
xor al, 0xec
add al, byte [0x14052f5f8]
cmp byte [rsp + 0x28], al
jne 0x140193b10
jmp 0x140193d0b
test edx, edx
je 0x140193c76
movzx eax, byte [0x14052ca3b]
nop word cs:[rax + rax]
cmp al, 0x51
je 0x140193c20
movzx ecx, byte [0x14052f5f8]
mov eax, esi
xor al, 0x52
add al, cl
mov edx, esi
xor dl, 0xa4
add dl, cl
lock cmpxchg byte [0x14052ca3b], dl
jne 0x140193b90
xor eax, eax
lea r15, [0x14052ca20]
mov ecx, edi
not ecx
xor edi, 0x56bfd9d
and ecx, 0xfa940262
or edi, ecx
not edi
or edi, ecx
xor esi, 0xd1d790fd
lea rbx, [rsp + 0x28]
movsxd r14, eax
movzx ebp, byte [r14 + r15]
mov ecx, r14d
mov rdx, rbx
mov r8d, edi
mov r9d, esi
call fcn.1401956a0
mov rax, qword [rsp + 0x28]
add bpl, byte [rax]
mov byte [r14 + r15], bpl
mov eax, r14d
xor eax, 1
and r14d, 1
lea eax, [rax + r14*2]
cmp eax, 0x1b
jl 0x140193be0
mov al, 0x51
xchg byte [0x14052ca3b], al
lea rax, [0x14052ca20]
jmp 0x140193de7
movzx eax, byte [0x14052c9b2]
cmp al, 0xa1
je 0x140193da4
mov r14b, 0x6b
mov ebx, edi
xor ebx, 0x2d55963d
mov ebp, esi
xor ebp, 0x81542e6
nop
mov al, 0x32
lock cmpxchg byte [0x14052c9b2], r14b
je 0x140193d17
mov ecx, eax
mov edx, ebx
mov r8d, ebp
call fcn.140195550
test al, 1
je 0x140193c50
jmp 0x140193da4
movzx eax, byte [0x14052cab4]
cmp al, 0x9c
je 0x140193de0
mov cl, 0xc2
nop word [rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x14052cab4], cl
je 0x140193dad
cmp al, 0x9c
jne 0x140193c90
jmp 0x140193de0
xor edx, edx
lea rax, [0x14052c930]
lea rcx, [0x14044fdc0]
xor esi, 0xee097058
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x14052f5e8]
add r8d, esi
mov r9d, edx
xor r9d, r8d
not edx
not r8d
and r8d, edx
or r8d, r9d
not r8d
lea edx, [r9 + r8*2]
cmp edx, 3
jl 0x140193cc0
mov al, 0x2c
xchg byte [0x14052c933], al
lea rax, [0x14052c930]
jmp 0x140193de7
xor ebx, ebx
xor edi, 0x9303477e
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x12a4e6fb
mov ebp, esi
and ebp, 0xed5b1904
or ebp, ecx
lea r14, [rsp + 0x28]
lea r15, [0x14044fe30]
lea r12, [0x14052c9a0]
and eax, 0xee09704b
and esi, 0x11f68fb4
or esi, eax
nop word cs:[rax + rax]
mov ecx, ebx
mov rdx, r14
mov r8d, edi
mov r9d, ebp
call fcn.140193eb0
mov rax, qword [rsp + 0x28]
movzx ecx, byte [rbx + r15]
mov edx, ecx
xor dl, cl
not dl
and dl, byte [rax]
xor dl, cl
mov byte [rbx + r12], dl
lea eax, [rbx + 1]
mov ecx, dword [0x14052f5e8]
add ecx, esi
cmp eax, ecx
jge 0x140193d9c
inc rbx
jmp 0x140193d60
mov al, 0xa1
xchg byte [0x14052c9b2], al
lea rax, [0x14052c9a0]
jmp 0x140193de7
xor eax, eax
lea rcx, [0x14052caa0]
lea rdx, [0x14044ff30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x13
jg 0x140193dd8
inc rax
jmp 0x140193dc0
mov al, 0x9c
xchg byte [0x14052cab4], al
lea rax, [0x14052caa0]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret