Function at 0x14048cd10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, dword [rsp + 0x40]
test ecx, ecx
je 0x14048cd59
test edx, edx
je 0x14048cdb9
movzx eax, byte [0x14067b678]
cmp al, 5
je 0x14048cf21
mov cl, 0xf6
nop word cs:[rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x14067b678], cl
je 0x14048ce39
cmp al, 5
jne 0x14048cd40
jmp 0x14048cf21
test edx, edx
je 0x14048cde9
movzx eax, byte [0x14067b532]
mov ecx, r8d
xor cl, 0xd9
add cl, byte [0x14067c4b4]
cmp al, cl
je 0x14048cf97
mov cl, 0x45
nop
mov al, 0x6c
lock cmpxchg byte [0x14067b532], cl
je 0x14048cf2d
mov edx, r8d
not dl
mov r9d, r8d
xor r9b, 0x26
and dl, 0xd9
or r9b, dl
not r9b
or r9b, dl
add r9b, byte [0x14067c4b4]
cmp al, r9b
jne 0x14048cd80
jmp 0x14048cf97
movzx eax, byte [0x14067b051]
cmp al, 0xb
je 0x14048cfe0
mov cl, 0x93
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x14067b051], cl
je 0x14048cfa3
cmp al, 0xb
jne 0x14048cdd0
jmp 0x14048cfe0
movzx eax, byte [0x14067b103]
cmp al, 0x98
je 0x14048d039
mov cl, 0x43
nop word [rax + rax]
mov al, 0xd1
lock cmpxchg byte [0x14067b103], cl
je 0x14048cfe9
mov edx, r8d
not dl
mov r9d, r8d
xor r9b, 0xf2
and dl, 0xd
or r9b, dl
not r9b
or r9b, dl
add r9b, byte [0x14067c4b4]
cmp al, r9b
jne 0x14048ce00
jmp 0x14048d039
xor eax, eax
lea rcx, [0x14067b660]
lea rdx, [0x14055caa0]
mov r9d, r8d
xor r9d, 0x5f7a8c09
xor r8d, 0xa08573f6
nop word [rax + rax]
cdqe
movzx r10d, byte [rax + rcx]
movzx r11d, byte [rax + rdx]
mov ebx, r11d
not bl
mov esi, ebx
and sil, r10b
not r10b
mov edi, r11d
and dil, r10b
or dil, sil
mov esi, edi
not sil
xor dil, r11b
and sil, bl
or sil, dil
not sil
mov ebx, r11d
xor bl, r10b
and bl, r11b
or bl, r10b
not bl
or bl, sil
mov byte [rax + rcx], bl
mov r11d, dword [0x14067c4b0]
mov esi, r11d
not esi
mov r10d, r8d
xor r10d, r11d
mov edi, r9d
and edi, esi
or edi, r10d
not edi
mov r10d, r9d
xor r10d, r11d
and r10d, r9d
or r10d, edi
and esi, r8d
and r11d, r9d
or r11d, esi
mov esi, r11d
not esi
xor r11d, r9d
and esi, r8d
or esi, r11d
not esi
add esi, esi
mov r11d, r10d
not r11d
mov edi, esi
not edi
mov ebx, r10d
and ebx, edi
and edi, r11d
and r11d, esi
or ebx, r11d
xor esi, r10d
or edi, esi
not edi
lea r10d, [rbx + rdi*2]
add eax, r10d
cmp eax, 0x18
jl 0x14048ce60
mov al, 5
xchg byte [0x14067b678], al
lea rax, [0x14067b660]
jmp 0x14048d040
xor edx, edx
lea rax, [0x14067b530]
lea rcx, [0x14055c990]
xor r8d, 0x5f7a8c09
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r9d, byte [rdx + rax]
movzx r10d, byte [rdx + rcx]
mov r11d, r10d
xor r11b, r9b
xor r11b, r9b
and r11b, r10b
xor r11b, r9b
mov byte [rdx + rax], r11b
mov r9d, dword [0x14067c4b0]
add r9d, r8d
xor edx, r9d
mov r10d, edx
not r10d
and r10d, r9d
lea edx, [rdx + r10*2]
cmp edx, 2
jl 0x14048cf50
mov al, 0x4c
xchg byte [0x14067b532], al
lea rax, [0x14067b530]
jmp 0x14048d040
xor eax, eax
lea rcx, [0x14067b030]
lea rdx, [0x14055c4d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x20
jg 0x14048cfd8
inc rax
jmp 0x14048cfc0
mov al, 0xb
xchg byte [0x14067b051], al
lea rax, [0x14067b030]
jmp 0x14048d040
xor eax, eax
lea rcx, [0x14067b0f0]
lea rdx, [0x14055c590]
xor r8d, 0x5f7a8c7b
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rax + rcx]
xor r10b, r9b
mov byte [rax + rcx], r10b
lea r9d, [rax + 1]
mov r10d, dword [0x14067c4b0]
add r10d, r8d
cmp r9d, r10d
jge 0x14048d031
inc rax
jmp 0x14048d000
mov al, 0x98
xchg byte [0x14067b103], al
lea rax, [0x14067b0f0]
pop rbx
pop rdi
pop rsi
ret