Function at 0x1401cd3c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x1401cd419
test edx, edx
je 0x1401cd469
test r8d, r8d
je 0x1401cd4a9
movzx eax, byte [0x14047c828]
cmp al, 7
je 0x1401cd5d9
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x14047c828], cl
je 0x1401cd5a9
cmp al, 7
jne 0x1401cd400
jmp 0x1401cd5d9
test edx, edx
je 0x1401cd4e9
test r8d, r8d
je 0x1401cd529
test r9d, r9d
je 0x1401cd5e5
movzx eax, byte [0x14047c763]
cmp al, 0xd2
je 0x1401cd779
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x19
lock cmpxchg byte [0x14047c763], cl
je 0x1401cd749
cmp al, 0xd2
jne 0x1401cd450
jmp 0x1401cd779
test r8d, r8d
je 0x1401cd569
test r9d, r9d
je 0x1401cd619
movzx eax, byte [0x14047c80d]
cmp al, 0x51
je 0x1401cd7b9
mov cl, 0xfe
nop dword [rax]
mov al, 0x6a
lock cmpxchg byte [0x14047c80d], cl
je 0x1401cd785
cmp al, 0x51
jne 0x1401cd490
jmp 0x1401cd7b9
test r9d, r9d
je 0x1401cd649
movzx eax, byte [0x14047c66d]
cmp al, 0x1f
je 0x1401cd7f9
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x14047c66d], cl
je 0x1401cd7c5
cmp al, 0x1f
jne 0x1401cd4d0
jmp 0x1401cd7f9
test r8d, r8d
je 0x1401cd679
test r9d, r9d
je 0x1401cd6b9
movzx eax, byte [0x14047c4fd]
cmp al, 0xff
je 0x1401cd859
mov cl, 0xe9
nop dword [rax]
mov al, 0xaf
lock cmpxchg byte [0x14047c4fd], cl
je 0x1401cd82f
cmp al, 0xff
jne 0x1401cd510
jmp 0x1401cd859
test r9d, r9d
je 0x1401cd6e9
movzx eax, byte [0x14047bf99]
cmp al, 0x45
je 0x1401cd8f9
mov cl, 0x57
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x14047bf99], cl
je 0x1401cd865
cmp al, 0x45
jne 0x1401cd550
jmp 0x1401cd8f9
test r9d, r9d
je 0x1401cd719
movzx eax, byte [0x14047c4ad]
cmp al, 0xba
je 0x1401cd939
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x14047c4ad], cl
je 0x1401cd905
cmp al, 0xba
jne 0x1401cd590
jmp 0x1401cd939
xor eax, eax
lea rcx, [0x14047c810]
lea rdx, [0x140396750]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401cd5c0
mov al, 7
xchg byte [0x14047c828], al
lea rax, [0x14047c810]
jmp 0x1401cdb92
movzx eax, byte [0x14047c67f]
cmp al, 0xc9
je 0x1401cd979
mov cl, 0x51
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x14047c67f], cl
je 0x1401cd945
cmp al, 0xc9
jne 0x1401cd600
jmp 0x1401cd979
movzx eax, byte [0x14047be19]
cmp al, 0x3d
je 0x1401cda19
mov cl, 0xb0
nop word [rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x14047be19], cl
je 0x1401cd985
cmp al, 0x3d
jne 0x1401cd630
jmp 0x1401cda19
movzx eax, byte [0x14047c5ad]
cmp al, 0xc9
je 0x1401cda59
mov cl, 3
nop word [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x14047c5ad], cl
je 0x1401cda25
cmp al, 0xc9
jne 0x1401cd660
jmp 0x1401cda59
test r9d, r9d
je 0x1401cd805
movzx eax, byte [0x14047c441]
cmp al, 0x5c
je 0x1401cda99
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x14047c441], cl
je 0x1401cda65
cmp al, 0x5c
jne 0x1401cd6a0
jmp 0x1401cda99
movzx eax, byte [0x14047c77d]
cmp al, 0x8b
je 0x1401cdad9
mov cl, 0xef
nop word [rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x14047c77d], cl
je 0x1401cdaa5
cmp al, 0x8b
jne 0x1401cd6d0
jmp 0x1401cdad9
movzx eax, byte [0x14047c8ae]
cmp al, 0xe2
je 0x1401cdb19
mov cl, 0x94
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14047c8ae], cl
je 0x1401cdae5
cmp al, 0xe2
jne 0x1401cd700
jmp 0x1401cdb19
movzx eax, byte [0x14047c69a]
cmp al, 0x73
je 0x1401cdb59
mov cl, 0x5e
nop word [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14047c69a], cl
je 0x1401cdb22
cmp al, 0x73
jne 0x1401cd730
jmp 0x1401cdb59
xor eax, eax
lea rcx, [0x14047c750]
lea rdx, [0x1403966c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x1401cd760
mov al, 0xd2
xchg byte [0x14047c763], al
lea rax, [0x14047c750]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c800]
lea rdx, [0x140396740]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cd7a0
mov al, 0x51
xchg byte [0x14047c80d], al
lea rax, [0x14047c800]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c660]
lea rdx, [0x1403965d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cd7e0
mov al, 0x1f
xchg byte [0x14047c66d], al
lea rax, [0x14047c660]
jmp 0x1401cdb92
movzx eax, byte [0x14047c2fd]
cmp al, 0x38
je 0x1401cdb8b
mov cl, 0xe8
mov al, 0xaa
lock cmpxchg byte [0x14047c2fd], cl
je 0x1401cdb62
cmp al, 0x38
jne 0x1401cd816
jmp 0x1401cdb8b
xor eax, eax
lea rcx, [0x14047c4f0]
lea rdx, [0x140396460]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cd840
mov al, 0xff
xchg byte [0x14047c4fd], al
lea rax, [0x14047c4f0]
jmp 0x1401cdb92
cmp qword [0x1404bf610], 0
jne 0x1401cd8cb
mov eax, esi
xor eax, 0x4c4f5b26
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xc
xor r9d, r9d
call fcn.1401ca7b0
mov rdi, rax
mov qword [0x1404bf610], rax
xor esi, 0xd06f8a7b
lea rcx, [0x1401ca730]
mov edx, esi
call fcn.1401099f0
lea rax, [0x140395e90]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xa
jle 0x1401cd8bc
mov rax, qword [0x1404bf610]
xor ecx, ecx
lea rdx, [0x140395ea0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xb
jl 0x1401cd8e0
mov al, 0x45
xchg byte [0x14047bf99], al
mov rax, qword [0x1404bf610]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c4a0]
lea rdx, [0x140396410]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cd920
mov al, 0xba
xchg byte [0x14047c4ad], al
lea rax, [0x14047c4a0]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c670]
lea rdx, [0x1403965e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401cd960
mov al, 0xc9
xchg byte [0x14047c67f], al
lea rax, [0x14047c670]
jmp 0x1401cdb92
cmp qword [0x1404bf5d8], 0
jne 0x1401cd9eb
mov eax, esi
xor eax, 0xd7f045e
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.1401ca7b0
mov rdi, rax
mov qword [0x1404bf5d8], rax
xor esi, 0x915fd503
lea rcx, [0x1401ca650]
mov edx, esi
call fcn.1401099f0
lea rax, [0x140395bd0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401cd9dc
mov rax, qword [0x1404bf5d8]
xor ecx, ecx
lea rdx, [0x140395be0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401cda00
mov al, 0x3d
xchg byte [0x14047be19], al
mov rax, qword [0x1404bf5d8]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c5a0]
lea rdx, [0x140396510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cda40
mov al, 0xc9
xchg byte [0x14047c5ad], al
lea rax, [0x14047c5a0]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c430]
lea rdx, [0x1403963a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401cda80
mov al, 0x5c
xchg byte [0x14047c441], al
lea rax, [0x14047c430]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c770]
lea rdx, [0x1403966e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cdac0
mov al, 0x8b
xchg byte [0x14047c77d], al
lea rax, [0x14047c770]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c8a0]
lea rdx, [0x1403967e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401cdb00
mov al, 0xe2
xchg byte [0x14047c8ae], al
lea rax, [0x14047c8a0]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c690]
lea rdx, [0x140396600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401cdb40
mov al, 0x73
xchg byte [0x14047c69a], al
lea rax, [0x14047c690]
jmp 0x1401cdb92
xor eax, eax
lea rcx, [0x14047c2f0]
lea rdx, [0x140396270]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cdb72
mov al, 0x38
xchg byte [0x14047c2fd], al
lea rax, [0x14047c2f0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret