Function at 0x14014a180
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x14014a1c9
test edx, edx
je 0x14014a209
test r8d, r8d
je 0x14014a249
movzx eax, byte [0x140498afb]
cmp al, 0x2e
je 0x14014a349
mov cl, 0x95
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x140498afb], cl
je 0x14014a319
cmp al, 0x2e
jne 0x14014a1b0
jmp 0x14014a349
test edx, edx
je 0x14014a279
test r8d, r8d
je 0x14014a2b9
movzx eax, byte [0x140498a42]
cmp al, 0xf4
je 0x14014a3b9
mov cl, 0x56
nop dword [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x140498a42], cl
je 0x14014a389
cmp al, 0xf4
jne 0x14014a1f0
jmp 0x14014a3b9
test r8d, r8d
je 0x14014a2e9
movzx eax, byte [0x140498b6b]
cmp al, 0xc4
je 0x14014a3f9
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x140498b6b], cl
je 0x14014a3c5
cmp al, 0xc4
jne 0x14014a230
jmp 0x14014a3f9
movzx eax, byte [0x140498b7d]
cmp al, 0x1c
je 0x14014a439
mov cl, 6
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x140498b7d], cl
je 0x14014a405
cmp al, 0x1c
jne 0x14014a260
jmp 0x14014a439
test r8d, r8d
je 0x14014a355
movzx eax, byte [0x140498994]
cmp al, 0x3f
je 0x14014a4b9
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x140498994], cl
je 0x14014a445
cmp al, 0x3f
jne 0x14014a2a0
jmp 0x14014a4b9
movzx eax, byte [0x140498b0f]
cmp al, 0xfe
je 0x14014a4f9
mov cl, 0x85
nop word [rax + rax]
mov al, 0xa
lock cmpxchg byte [0x140498b0f], cl
je 0x14014a4c5
cmp al, 0xfe
jne 0x14014a2d0
jmp 0x14014a4f9
movzx eax, byte [0x140498a9c]
cmp al, 0xa1
je 0x14014a539
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x140498a9c], cl
je 0x14014a505
cmp al, 0xa1
jne 0x14014a300
jmp 0x14014a539
xor eax, eax
lea rcx, [0x140498af0]
lea rdx, [0x1403bcae0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14014a330
mov al, 0x2e
xchg byte [0x140498afb], al
lea rax, [0x140498af0]
jmp 0x14014a5c0
movzx eax, byte [0x14049899c]
cmp al, 0x54
je 0x14014a5b9
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x14049899c], cl
je 0x14014a542
cmp al, 0x54
jne 0x14014a370
jmp 0x14014a5b9
xor eax, eax
lea rcx, [0x140498a40]
lea rdx, [0x1403bca40]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14014a3a0
mov al, 0xf4
xchg byte [0x140498a42], al
lea rax, [0x140498a40]
jmp 0x14014a5c0
xor eax, eax
lea rcx, [0x140498b60]
lea rdx, [0x1403bcb50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14014a3e0
mov al, 0xc4
xchg byte [0x140498b6b], al
lea rax, [0x140498b60]
jmp 0x14014a5c0
xor eax, eax
lea rcx, [0x140498b70]
lea rdx, [0x1403bcb60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14014a420
mov al, 0x1c
xchg byte [0x140498b7d], al
lea rax, [0x140498b70]
jmp 0x14014a5c0
cmp qword [0x1404ee7a8], 0
jne 0x14014a48f
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee7a8], rax
lea rcx, [0x140149ad0]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc7e0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014a480
mov rax, qword [0x1404ee7a8]
xor ecx, ecx
lea rdx, [0x1403bc7f0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014a4a0
mov al, 0x3f
xchg byte [0x140498994], al
mov rax, qword [0x1404ee7a8]
jmp 0x14014a5c0
xor eax, eax
lea rcx, [0x140498b00]
lea rdx, [0x1403bcaf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14014a4e0
mov al, 0xfe
xchg byte [0x140498b0f], al
lea rax, [0x140498b00]
jmp 0x14014a5c0
xor eax, eax
lea rcx, [0x140498a80]
lea rdx, [0x1403bca70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14014a520
mov al, 0xa1
xchg byte [0x140498a9c], al
lea rax, [0x140498a80]
jmp 0x14014a5c0
cmp qword [0x1404ee7e8], 0
jne 0x14014a584
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee7e8], rax
lea rcx, [0x140149bd0]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc8e0]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014a575
mov rax, qword [0x1404ee7e8]
xor ecx, ecx
lea rdx, [0x1403bc8f0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014a5a0
mov al, 0x54
xchg byte [0x14049899c], al
mov rax, qword [0x1404ee7e8]
add rsp, 0x20
pop rsi
ret