Function at 0x1402186c0
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
mov ebp, dword [rsp + 0xa0]
test ecx, ecx
je 0x140218719
test edx, edx
je 0x140218799
movzx eax, byte [0x14051cb9c]
cmp al, 0x4a
je 0x140218956
mov cl, 0xb8
nop word [rax + rax]
mov al, 0x50
lock cmpxchg byte [0x14051cb9c], cl
je 0x1402188a5
cmp al, 0x4a
jne 0x140218700
jmp 0x140218956
mov r8d, esi
mov eax, dword [0x14051e5f8]
mov r14d, ebp
xor r14d, 0xbbe91b76
mov r9d, esi
sub r9d, r14d
sub r9d, eax
add r9d, dword [0x14051d0a8]
xor r8d, 0xf6ddd31c
mov ecx, ebp
xor ecx, 0xbbe8db82
add ecx, eax
add ecx, r9d
movsxd rax, ecx
add rax, qword [0x14051d0f0]
mov ecx, edx
mov edx, r8d
call qword [0x1404ee420]
test al, 1
je 0x140218818
movzx eax, byte [0x14051cacb]
cmp al, 0xc3
je 0x140218a3e
mov cl, 0xb9
nop
mov al, 0x2e
lock cmpxchg byte [0x14051cacb], cl
je 0x1402189ac
cmp al, 0xc3
jne 0x140218780
jmp 0x140218a3e
movzx eax, byte [0x14051c6f0]
cmp al, 0xc5
je 0x1402189a0
mov r14b, 0xda
mov edi, esi
xor edi, 0xe92a87e1
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x14051c6f0], r14b
mov ebx, eax
sete dl
mov eax, dword [0x14051d090]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0e0]
mov ecx, ebx
mov r8d, edi
call qword [0x1404ee420]
test al, 1
jne 0x140218962
movzx eax, byte [0x14051e608]
mov ecx, ebp
xor cl, 0xc2
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
cmp bl, cl
jne 0x1402187c0
jmp 0x1402189a0
mov edx, ebp
xor edx, 0x9fb38bed
add edx, dword [0x14051e5f8]
xor edx, esi
mov eax, dword [0x14051d0ac]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0e8]
lea rcx, [rsp + 0x30]
call qword [0x1404ee420]
cmp byte [rsp + 0x30], 0xd5
je 0x140218ac9
mov edi, esi
xor edi, 0x568cdd73
lea rbx, [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x14051d09c]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0c8]
mov rcx, rbx
mov edx, edi
call qword [0x1404ee420]
test al, 1
jne 0x140218a4a
cmp byte [rsp + 0x30], 0xd5
jne 0x140218870
jmp 0x140218ac9
xor edi, edi
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x8d2add02
mov ebx, esi
and ebx, 0x72d522fd
or ebx, ecx
lea r14, [rsp + 0x30]
and eax, 0x11a32cbe
mov ebp, esi
and ebp, 0xee5cd341
or ebp, eax
lea r15, [rsp + 0x2f]
lea r12, [0x14051cb90]
nop dword [rax]
mov eax, dword [0x14051d0a0]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0d0]
mov ecx, edi
mov rdx, r14
mov r8d, ebx
call qword [0x1404ee420]
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x14051d098]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0d8]
mov dword [rsp + 0x20], ebp
mov edx, edi
mov r8, r15
mov r9, r14
call qword [0x1404ee420]
movzx eax, byte [rsp + 0x2f]
mov rcx, qword [rsp + 0x30]
add al, byte [rcx]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 0xb
jg 0x14021894e
inc rdi
jmp 0x1402188e0
mov al, 0x4a
xchg byte [0x14051cb9c], al
lea rax, [0x14051cb90]
jmp 0x140218ad0
xor eax, eax
lea rcx, [0x14051c6e0]
lea rdx, [0x140431520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x140218998
inc rax
jmp 0x140218980
mov al, 0xc5
xchg byte [0x14051c6f0], al
lea rax, [0x14051c6e0]
jmp 0x140218ad0
xor edi, edi
lea r15, [0x14051cab0]
lea r12, [0x1404318c0]
xor ebp, 0xbbe8db83
mov ebx, esi
xor ebx, 0x8ed95b01
nop word [rax + rax]
movsxd rdi, edi
movzx eax, byte [rdi + r12]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rdi + r15]
xor cl, al
mov byte [rdi + r15], cl
mov eax, dword [0x14051e5f8]
add eax, ebp
add edi, eax
mov eax, dword [0x14051d0b0]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0c0]
mov ecx, edi
mov edx, ebx
call qword [0x1404ee420]
test al, 1
je 0x1402189d0
add r14d, dword [0x14051e5f8]
mov ecx, esi
sub esi, r14d
add esi, dword [0x14051d0a4]
xor ecx, 0x8d8af571
movsxd rax, esi
add rax, qword [0x14051d100]
call qword [0x1404ee420]
lea rax, [0x14051cab0]
jmp 0x140218ad0
xor edi, edi
lea r15, [0x14051cce0]
mov ebx, esi
xor ebx, 0x4ba94f85
lea r14, [rsp + 0x30]
mov r12d, ebp
xor r12d, 0xbbe8dbb7
nop word [rax + rax]
movzx r13d, byte [rdi + r15]
mov eax, dword [0x14051d094]
add eax, esi
add eax, 0xffff4034
cdqe
add rax, qword [0x14051d0f8]
mov ecx, edi
mov rdx, r14
mov r8d, ebx
call qword [0x1404ee420]
xor r13b, byte [rsp + 0x30]
mov byte [rdi + r15], r13b
lea eax, [rdi + 1]
mov ecx, dword [0x14051e5f8]
add ecx, r12d
cmp eax, ecx
jge 0x140218ab7
inc rdi
jmp 0x140218a70
xor bpl, 0xf2
add bpl, byte [0x14051e608]
xchg byte [0x14051cced], bpl
lea rax, [0x14051cce0]
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret