Function at 0x140198950
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1401989a9
mov ecx, edx
mov edx, 0xeb03f27d
mov r8d, 0x784a1adf
call fcn.1400712d0
test al, 1
je 0x140198a10
movzx eax, byte [0x140502899]
cmp al, 0xeb
je 0x140198ae8
mov cl, 0x2e
nop dword [rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x140502899], cl
je 0x140198a99
cmp al, 0xeb
jne 0x140198990
jmp 0x140198ae8
test edx, edx
je 0x140198a57
movzx eax, byte [0x14050295d]
cmp al, 0x75
je 0x140198be8
lea rsi, [rsp + 0x40]
lea rdi, [rsp + 0x3f]
nop word [rax + rax]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x8f8ca27a
mov r9d, 0xe72b6fc4
call fcn.14019aaf0
cmp byte [rsp + 0x41], 0
jne 0x140198b74
movzx ecx, byte [rsp + 0x3f]
mov edx, 0x9a20cbae
mov r8d, 0x1548ae0d
call fcn.140199310
test al, 1
je 0x1401989d0
jmp 0x140198be8
movzx eax, byte [0x1405029f5]
cmp al, 0x5b
je 0x140198b68
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, 0x898e2feb
mov r8d, 0xec5586e2
call fcn.140198e10
test al, 1
jne 0x140198af4
cmp byte [rsp + 0x40], 0x5b
jne 0x140198a30
jmp 0x140198b68
lea rcx, [rsp + 0x40]
mov edx, 0xe9d5a170
mov r8d, 0xacd61a42
call fcn.140198d20
cmp byte [rsp + 0x40], 0x84
je 0x140198c5a
mov cl, 0x1d
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x14050297d], cl
je 0x140198bf1
cmp al, 0x84
jne 0x140198a80
jmp 0x140198c5a
xor r8d, r8d
lea rax, [0x140502890]
lea rcx, [0x1404267b0]
mov edx, 0x76a2eb09
nop
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x1405054f8]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 9
jl 0x140198ab0
mov ecx, 0x70f5ca80
mov edx, 0x9fdb76a4
call fcn.140198e00
lea rax, [0x140502890]
jmp 0x140198c61
xor edi, edi
lea rsi, [rsp + 0x40]
nop dword [rax + rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0xa147fd2a
mov r9d, 0x406c36f2
call fcn.140198e90
movzx ebx, byte [rsp + 0x40]
movsxd rdi, edi
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xbf239692
mov r9d, 0x8b5257f5
call fcn.14019aac0
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 0x4d0ed324
mov dword [rsp + 0x20], 0x7c369957
mov ecx, ebx
mov r8d, edi
mov r9, rsi
call fcn.1401992e0
mov edi, dword [rsp + 0x40]
cmp edi, 0x15
jl 0x140198b00
mov al, 0x5b
xchg byte [0x1405029f5], al
lea rax, [0x1405029e0]
jmp 0x140198c61
xor edi, edi
lea rsi, [rsp + 0x40]
lea rbx, [0x140426870]
lea r14, [0x140502950]
nop dword [rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0x81517fb0
mov r9d, 0xc8065800
call fcn.14019aa90
movzx eax, byte [rsp + 0x40]
movsxd rcx, edi
movzx edx, byte [rcx + rbx]
mov r8d, eax
xor r8b, dl
not al
not dl
and dl, al
or dl, r8b
not dl
add dl, dl
add dl, r8b
mov byte [rcx + r14], dl
mov eax, dword [0x1405054f8]
lea edi, [rax + rcx]
add edi, 0x76a2eb09
cmp edi, 0xd
jl 0x140198b90
mov al, 0x75
xchg byte [0x14050295d], al
lea rax, [0x140502950]
jmp 0x140198c61
xor edi, edi
lea rsi, [rsp + 0x40]
nop dword [rax + rax]
movsxd rdi, edi
mov rcx, rdi
mov edx, edi
mov r8d, 0xc7831f4e
mov r9d, 0x835923e5
call fcn.140198c80
mov r9d, dword [0x1405054f8]
lea r8d, [r9 - 0x25ab0809]
add r9d, 0xda267f10
mov ecx, edi
mov rdx, rsi
call fcn.1400ff100
mov edi, dword [rsp + 0x40]
mov ecx, edi
mov edx, 0x1e6bb55d
mov r8d, 0x19b7d54d
call fcn.140198eb0
test al, 1
je 0x140198c00
mov al, 0x84
xchg byte [0x14050297d], al
lea rax, [0x140502970]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret