Function at 0x140181e20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov esi, r9d
mov eax, 0x6a821266
add eax, dword [0x140611cf8]
cmp ecx, eax
jne 0x140181ea8
test edx, edx
je 0x140181ef9
mov edx, 0xab50d97f
add edx, dword [0x140611cf8]
xor edx, esi
lea rcx, [rsp + 0x40]
mov r8d, 0xe4c6ef91
call fcn.140182230
cmp byte [rsp + 0x40], 0xd3
je 0x14018200f
mov bl, 0x45
xor esi, 0x647d2807
nop word cs:[rax + rax]
mov al, 0xf0
lock cmpxchg byte [0x140611b2c], bl
je 0x140181fac
mov ecx, eax
mov edx, esi
mov r8d, 0xe45c22b4
call fcn.140182350
test al, 1
je 0x140181e80
jmp 0x14018200f
test edx, edx
je 0x140181f3e
mov edx, 0xe2a05c11
add edx, dword [0x140611cf8]
xor edx, esi
lea rcx, [rsp + 0x40]
mov r8d, 0x77200fab
call fcn.1401823c0
cmp byte [rsp + 0x40], 0xaa
je 0x14018209a
mov cl, 0x5e
nop word [rax + rax]
mov al, 0x68
lock cmpxchg byte [0x140611ab0], cl
je 0x14018201b
cmp al, 0xaa
jne 0x140181ee0
jmp 0x14018209a
movzx eax, byte [0x140611c0d]
cmp al, 0x5d
je 0x140182104
nop dword [rax + rax]
movzx ecx, byte [0x140611ce8]
lea eax, [rcx - 0x3d]
add cl, 0x15
lock cmpxchg byte [0x140611c0d], cl
je 0x1401820a6
movzx ecx, byte [0x140611ce8]
add cl, 0x62
cmp al, cl
jne 0x140181f10
jmp 0x140182104
mov ecx, esi
xor ecx, 0x8db9272
mov edx, 0x6aa0821a
call fcn.1401821c0
test al, 1
jne 0x14018216d
mov edi, esi
xor edi, 0x64bb9048
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3f]
nop word [rax + rax]
mov eax, dword [0x140611cf8]
mov ecx, eax
xor ecx, 0x81db66ec
and eax, 0x1db66ec
lea r9d, [rcx + rax*2]
mov rcx, rbx
mov rdx, r14
mov r8d, edi
call fcn.140182370
cmp byte [rsp + 0x41], 0
jne 0x14018210d
cmp byte [rsp + 0x3f], 0xc
jne 0x140181f70
jmp 0x14018216d
xor edx, edx
lea rax, [0x140611b10]
lea rcx, [0x140532090]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
mov r11d, r10d
xor r11b, r9b
not r9b
and r8b, r9b
or r8b, r11b
not r8b
xor r10b, r9b
and r10b, r9b
or r10b, r8b
mov byte [rdx + rax], r10b
mov r8d, dword [0x140611cf8]
add edx, r8d
add edx, 0x6a821267
cmp edx, 0x1c
jl 0x140181fc0
mov al, 0xd3
xchg byte [0x140611b2c], al
lea rax, [0x140611b10]
jmp 0x140182174
xor edx, edx
lea rax, [0x140611aa0]
lea rcx, [0x140532030]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
mov r11d, r9d
not r11b
xor r8b, r11b
xor r11b, r10b
and r11b, r9b
and r10b, r9b
or r10b, r8b
not r10b
or r10b, r11b
mov byte [rdx + rax], r10b
mov r8d, dword [0x140611cf8]
add edx, r8d
add edx, 0x6a821267
cmp edx, 0x10
jl 0x140182030
xor esi, 0xa8efef0b
mov eax, dword [0x140611cf8]
mov ecx, eax
xor ecx, 0x4bcca773
and eax, 0x4bcca773
lea edx, [rcx + rax*2]
mov ecx, esi
call fcn.1401823d0
lea rax, [0x140611aa0]
jmp 0x140182174
xor ecx, ecx
lea rbx, [0x140611c00]
lea r14, [0x140532180]
xor esi, 0xc730989d
lea rdi, [rsp + 0x40]
nop word cs:[rax + rax]
movsxd r8, ecx
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
add cl, byte [r8 + r14]
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], 0x420187e4
mov r9, rdi
call fcn.140182260
mov ecx, dword [rsp + 0x40]
test al, 1
je 0x1401820d0
mov al, 0x5d
xchg byte [0x140611c0d], al
lea rax, [0x140611c00]
jmp 0x140182174
xor edi, edi
xor esi, 0xf4f2beb
lea rbx, [rsp + 0x3f]
lea r14, [rsp + 0x40]
lea r15, [0x140611b80]
nop word cs:[rax + rax]
mov dword [rsp + 0x20], 0x4b43f1d7
mov ecx, edi
mov rdx, rbx
mov r8, r14
mov r9d, esi
call fcn.1401823a0
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
add al, byte [rcx]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 0xa
jg 0x140182165
inc rdi
jmp 0x140182130
mov al, 0xc
xchg byte [0x140611b8b], al
lea rax, [0x140611b80]
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret