Function at 0x1401a56f0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1401a5749
mov ecx, edx
mov edx, 0xeb03f27d
mov r8d, 0x784a1adf
call fcn.1400712d0
test al, 1
je 0x1401a57b0
movzx eax, byte [0x1405442e9]
cmp al, 0xeb
je 0x1401a5888
mov cl, 0x2e
nop dword [rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x1405442e9], cl
je 0x1401a5839
cmp al, 0xeb
jne 0x1401a5730
jmp 0x1401a5888
test edx, edx
je 0x1401a57f7
movzx eax, byte [0x1405443ad]
cmp al, 0x75
je 0x1401a5988
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.1401a7880
cmp byte [rsp + 0x41], 0
jne 0x1401a5914
movzx ecx, byte [rsp + 0x3f]
mov edx, 0x9a20cbae
mov r8d, 0x1548ae0d
call fcn.1401a60a0
test al, 1
je 0x1401a5770
jmp 0x1401a5988
movzx eax, byte [0x140544445]
cmp al, 0x5b
je 0x1401a5908
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, 0x898e2feb
mov r8d, 0xec5586e2
call fcn.1401a5bb0
test al, 1
jne 0x1401a5894
cmp byte [rsp + 0x40], 0x5b
jne 0x1401a57d0
jmp 0x1401a5908
lea rcx, [rsp + 0x40]
mov edx, 0xe9d5a170
mov r8d, 0xacd61a42
call fcn.1401a5ac0
cmp byte [rsp + 0x40], 0x84
je 0x1401a59fa
mov cl, 0x1d
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x1405443cd], cl
je 0x1401a5991
cmp al, 0x84
jne 0x1401a5820
jmp 0x1401a59fa
xor r8d, r8d
lea rax, [0x1405442e0]
lea rcx, [0x140462ee0]
mov edx, 0x76a2eb09
nop
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x140546f48]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 9
jl 0x1401a5850
mov ecx, 0x70f5ca80
mov edx, 0x9fdb76a4
call fcn.1401a5ba0
lea rax, [0x1405442e0]
jmp 0x1401a5a01
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.1401a5c30
movzx ebx, byte [rsp + 0x40]
movsxd rdi, edi
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xbf239692
mov r9d, 0x8b5257f5
call fcn.1401a7850
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.1401a6070
mov edi, dword [rsp + 0x40]
cmp edi, 0x15
jl 0x1401a58a0
mov al, 0x5b
xchg byte [0x140544445], al
lea rax, [0x140544430]
jmp 0x1401a5a01
xor edi, edi
lea rsi, [rsp + 0x40]
lea rbx, [0x140462fa0]
lea r14, [0x1405443a0]
nop dword [rax]
mov ecx, edi
mov rdx, rsi
mov r8d, 0x81517fb0
mov r9d, 0xc8065800
call fcn.1401a7820
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 [0x140546f48]
lea edi, [rax + rcx]
add edi, 0x76a2eb09
cmp edi, 0xd
jl 0x1401a5930
mov al, 0x75
xchg byte [0x1405443ad], al
lea rax, [0x1405443a0]
jmp 0x1401a5a01
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.1401a5a20
mov r9d, dword [0x140546f48]
lea r8d, [r9 - 0x25ab0809]
add r9d, 0xda267f10
mov ecx, edi
mov rdx, rsi
call fcn.1400b1f20
mov edi, dword [rsp + 0x40]
mov ecx, edi
mov edx, 0x1e6bb55d
mov r8d, 0x19b7d54d
call fcn.1400b3000
test al, 1
je 0x1401a59a0
mov al, 0x84
xchg byte [0x1405443cd], al
lea rax, [0x1405443c0]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret