Function at 0x140214710
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov esi, r9d
test ecx, ecx
je 0x140214769
mov eax, 0x6f76d62d
add eax, dword [0x140512ee0]
cmp edx, eax
jne 0x140214822
movzx eax, byte [0x14051258d]
cmp al, 0x12
je 0x1402148fb
mov cl, 0x90
nop dword [rax + rax]
mov al, 0x53
lock cmpxchg byte [0x14051258d], cl
je 0x1402148a9
cmp al, 0x12
jne 0x140214750
jmp 0x1402148fb
test edx, edx
je 0x140214878
movzx eax, byte [0x1405120e4]
nop dword [rax + rax]
cmp al, 0x5e
je 0x140214816
movzx ecx, byte [0x140512ee4]
lea eax, [rcx - 0x56]
add cl, 0xa2
lock cmpxchg byte [0x1405120e4], cl
jne 0x140214780
xor ecx, ecx
lea rbx, [0x1405120d0]
lea r14, [0x140430660]
mov ebp, 0x3e15fe95
lea rdi, [rsp + 0x30]
nop dword [rax]
movsxd r8, ecx
movzx ecx, byte [r8 + rbx]
xor cl, byte [r8 + r14]
lea rdx, [rbx + r8]
mov eax, dword [0x140512ee0]
add eax, ebp
mov r9d, eax
xor r9d, eax
not r9d
and r9d, esi
xor r9d, eax
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x28], 0x1392e9ef
mov r9, rdi
call fcn.140215c60
mov ecx, dword [rsp + 0x30]
test al, 1
je 0x1402147c0
xor esi, 0xc5a8e78f
mov ecx, esi
mov edx, 0x83ced7c1
call fcn.1402159f0
lea rax, [0x1405120d0]
jmp 0x140214a30
movzx eax, byte [0x140512504]
cmp al, 0x58
je 0x1402149ca
mov bl, 0x19
mov r15d, esi
not r15d
mov edi, esi
xor edi, 0x26fd9fc3
mov eax, r15d
and eax, 0xd902603c
or edi, eax
not edi
or edi, eax
nop
mov al, 0x39
lock cmpxchg byte [0x140512504], bl
je 0x140214907
mov ecx, eax
mov edx, edi
mov r8d, 0xdb453348
call fcn.140216660
test al, 1
je 0x140214850
jmp 0x1402149ca
movzx eax, byte [0x14051267c]
cmp al, 0xac
je 0x140214a29
mov cl, 0x68
nop dword [rax]
mov al, 0x4a
lock cmpxchg byte [0x14051267c], cl
je 0x1402149d3
cmp al, 0xac
jne 0x140214890
jmp 0x140214a29
xor edx, edx
lea rax, [0x140512580]
lea rcx, [0x140430af0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
not edx
and edx, 0x7ffffffe
or edx, r8d
not edx
lea edx, [r8 + rdx*2]
cmp edx, 0xd
jl 0x1402148c0
xor esi, 0xe1fbd242
mov ecx, esi
mov edx, 0xe96c97e5
call fcn.140214ac0
lea rax, [0x140512580]
jmp 0x140214a30
xor ecx, ecx
mov edi, esi
xor edi, 0x6170a18e
lea rbx, [rsp + 0x30]
mov ebp, esi
xor ebp, 0xb48c35ad
mov r12d, 0x94b8eba3
nop word cs:[rax + rax]
movsxd r14, ecx
mov rcx, r14
mov rdx, rbx
mov r8d, edi
mov r9d, 0xc5875e83
call fcn.140216450
movzx r13d, byte [rsp + 0x30]
mov r9d, dword [0x140512ee0]
mov eax, 0x8170ddff
add r9d, eax
mov ecx, r14d
mov rdx, rbx
mov r8d, ebp
call fcn.1402157a0
mov rax, qword [rsp + 0x30]
add r13b, byte [rax]
lea rax, [0x1405124f0]
mov byte [r14 + rax], r13b
mov r8d, dword [0x140512ee0]
add r8d, r12d
mov eax, r15d
and eax, r8d
not r8d
mov ecx, r15d
xor ecx, r8d
and ecx, r15d
xor r8d, esi
or r8d, eax
not r8d
or r8d, ecx
mov ecx, r14d
mov rdx, rbx
mov r9d, 0xa84be486
call fcn.1402154d0
mov ecx, dword [rsp + 0x30]
test al, 1
je 0x140214930
mov al, 0x58
xchg byte [0x140512504], al
lea rax, [0x1405124f0]
jmp 0x140214a30
xor eax, eax
lea rcx, [0x140512670]
lea rdx, [0x140430be0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
mov r9d, r8d
xor r9b, 0x9c
and r8b, 0x1c
add r8b, r8b
add r8b, r9b
add r8b, byte [rax + rdx]
add r8b, 0x64
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x140214a21
inc rax
jmp 0x1402149f0
mov al, 0xac
xchg byte [0x14051267c], al
lea rax, [0x140512670]
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret