Function at 0x14019bfd0
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
mov r14d, dword [rsp + 0xb0]
test ecx, ecx
je 0x14019c029
test edx, edx
je 0x14019c0a2
movzx eax, byte [0x140507f35]
cmp al, 0x75
je 0x14019c1f5
mov cl, 0xef
nop dword [rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x140507f35], cl
je 0x14019c16e
cmp al, 0x75
jne 0x14019c010
jmp 0x14019c1f5
test edx, edx
je 0x14019c0fe
movzx eax, byte [0x140507ef2]
cmp al, 0x56
je 0x14019c381
mov bl, 0x7a
mov edi, esi
xor edi, 0x43c2f2be
mov ebp, r14d
xor ebp, 0xd282a53
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x140507ef2], bl
je 0x14019c201
mov ecx, dword [0x14050a8b8]
add ecx, ebp
mov edx, esi
sub edx, ecx
add edx, dword [0x140508174]
movsxd r8, edx
add r8, qword [0x1405081a8]
mov ecx, eax
mov edx, edi
mov rax, r8
call qword [case.0x140303ece.0]
test al, 1
je 0x14019c060
jmp 0x14019c381
movzx eax, byte [0x140507daf]
cmp al, 0x1f
je 0x14019c36d
mov bl, 0xfc
mov edi, esi
xor edi, 0xd08c7a88
nop dword [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x140507daf], bl
je 0x14019c28a
mov ecx, dword [0x14050818c]
add ecx, esi
add ecx, 0xd0e4
movsxd r8, ecx
add r8, qword [0x1405081e8]
mov ecx, eax
mov edx, edi
mov rax, r8
call qword [case.0x140303ece.0]
test al, 1
je 0x14019c0c0
jmp 0x14019c36d
movzx eax, byte [0x140507f81]
cmp al, 0x3d
je 0x14019c3f5
mov bl, 0x98
mov edi, r14d
xor edi, 0x343acbf
nop dword [rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x140507f81], bl
je 0x14019c38a
mov ecx, dword [0x14050a8b8]
add ecx, edi
mov edx, ecx
xor edx, ecx
not edx
and edx, esi
xor edx, ecx
mov ecx, dword [0x14050817c]
add ecx, esi
add ecx, 0xd0e4
movsxd r8, ecx
add r8, qword [0x1405081a0]
mov ecx, eax
mov rax, r8
call qword [case.0x140303ece.0]
test al, 1
je 0x14019c120
jmp 0x14019c3f5
xor edi, edi
mov ebx, esi
xor ebx, 0x8e01b390
lea r14, [rsp + 0x3f]
lea r15, [rsp + 0x40]
lea r12, [0x140507f20]
nop dword [rax]
mov eax, dword [0x140508190]
add eax, esi
add eax, 0xd0e4
cdqe
add rax, qword [0x1405081b0]
mov ecx, edi
mov rdx, r14
mov r8, r15
mov r9d, ebx
call qword [case.0x140303ece.0]
movzx eax, byte [rsp + 0x3f]
add al, byte [rsp + 0x40]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 0x14
jg 0x14019c1d1
inc rdi
jmp 0x14019c190
mov eax, dword [0x140508194]
mov ecx, esi
xor ecx, 0x623dc647
add eax, esi
add eax, 0xd0e4
cdqe
add rax, qword [0x1405081c8]
call qword [case.0x140303ece.0]
lea rax, [0x140507f20]
jmp 0x14019c3fc
xor edi, edi
lea r15, [0x140507ef0]
mov ebp, esi
xor ebp, 0x4ddb64fc
lea r12, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
xor r14d, 0xd29f939
nop word cs:[rax + rax]
movzx edx, byte [rdi + r15]
mov eax, dword [0x140508188]
add eax, esi
add eax, 0xd0e4
cdqe
add rax, qword [0x1405081c0]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov r8d, edi
mov r9, rbx
call qword [case.0x140303ece.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r15], al
lea eax, [rdi + 1]
mov ecx, dword [0x14050a8b8]
add ecx, r14d
cmp eax, ecx
jge 0x14019c379
inc rdi
jmp 0x14019c230
xor edi, edi
mov eax, r14d
not eax
mov ecx, eax
and ecx, 0x304e1fed
mov r15d, r14d
and r15d, 0xcfb1e012
or r15d, ecx
and eax, 0xd282a53
and r14d, 0xf2d7d5ac
or r14d, eax
lea rbx, [rsp + 0x40]
lea r12, [0x140507d80]
mov ebp, esi
xor ebp, 0x8489f31f
lea r13, [0x14042d380]
mov eax, dword [0x14050a8b8]
lea r8d, [r15 + rax]
add eax, r14d
mov ecx, esi
sub ecx, eax
add ecx, dword [0x140508184]
xor r8d, esi
movsxd rax, ecx
add rax, qword [0x1405081b8]
mov ecx, edi
mov rdx, rbx
call qword [case.0x140303ece.0]
mov rcx, qword [rsp + 0x40]
add rcx, r12
mov eax, dword [0x140508178]
add eax, esi
add eax, 0xd0e4
cdqe
add rax, qword [0x1405081d8]
mov rdx, rbx
mov r8d, ebp
call qword [case.0x140303ece.0]
movzx eax, byte [rsp + 0x40]
movsxd rcx, edi
add al, byte [rcx + r13]
mov byte [rcx + r12], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea edi, [rax + rcx*2]
cmp edi, 0x2f
jl 0x14019c2d0
mov eax, dword [0x140508170]
mov ecx, esi
xor ecx, 0x31252678
add eax, esi
add eax, 0xd0e4
cdqe
add rax, qword [0x1405081e0]
call qword [case.0x140303ece.0]
lea rax, [0x140507d80]
jmp 0x14019c3fc
mov al, 0x56
xchg byte [0x140507ef2], al
lea rax, [0x140507ef0]
jmp 0x14019c3fc
mov edi, 1
lea r15, [0x140507f70]
lea r12, [0x14042d560]
mov ebx, esi
xor ebx, 0xf8020ea6
xor r14d, 0xd282a53
nop dword [rax]
lea eax, [rdi - 1]
cdqe
movzx ecx, byte [rax + r12]
add byte [rax + r15], cl
mov eax, dword [0x14050a8b8]
add eax, r14d
mov ecx, esi
sub ecx, eax
add ecx, dword [0x140508180]
movsxd rax, ecx
add rax, qword [0x1405081d0]
mov ecx, edi
mov edx, ebx
call qword [case.0x140303ece.0]
test al, 1
jne 0x14019c3ed
inc edi
jmp 0x14019c3b0
mov al, 0x3d
xchg byte [0x140507f81], al
lea rax, [0x140507f70]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret