Function at 0x1401a3280
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x1401a32c9
test edx, edx
je 0x1401a3309
test r8d, r8d
je 0x1401a3349
movzx eax, byte [0x1404a23be]
cmp al, 0xf9
je 0x1401a3449
mov cl, 0x41
nop dword [rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x1404a23be], cl
je 0x1401a3419
cmp al, 0xf9
jne 0x1401a32b0
jmp 0x1401a3449
test edx, edx
je 0x1401a3379
test r8d, r8d
je 0x1401a33b9
movzx eax, byte [0x1404a22e6]
cmp al, 8
je 0x1401a34b9
mov cl, 0x94
nop dword [rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x1404a22e6], cl
je 0x1401a3489
cmp al, 8
jne 0x1401a32f0
jmp 0x1401a34b9
test r8d, r8d
je 0x1401a33e9
movzx eax, byte [0x1404a2381]
cmp al, 0x9a
je 0x1401a34f9
mov cl, 0xb5
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x1404a2381], cl
je 0x1401a34c5
cmp al, 0x9a
jne 0x1401a3330
jmp 0x1401a34f9
movzx eax, byte [0x1404a20b0]
cmp al, 0xeb
je 0x1401a3589
mov esi, r9d
mov cl, 0x11
nop dword [rax]
mov al, 0x9f
lock cmpxchg byte [0x1404a20b0], cl
je 0x1401a3505
cmp al, 0xeb
jne 0x1401a3360
jmp 0x1401a3589
test r8d, r8d
je 0x1401a3455
movzx eax, byte [0x1404a21af]
cmp al, 0xca
je 0x1401a35c9
mov cl, 0x43
nop word cs:[rax + rax]
mov al, 0x91
lock cmpxchg byte [0x1404a21af], cl
je 0x1401a3595
cmp al, 0xca
jne 0x1401a33a0
jmp 0x1401a35c9
movzx eax, byte [0x1404a22d9]
cmp al, 0x31
je 0x1401a3609
mov cl, 0x73
nop word [rax + rax]
mov al, 0x19
lock cmpxchg byte [0x1404a22d9], cl
je 0x1401a35d5
cmp al, 0x31
jne 0x1401a33d0
jmp 0x1401a3609
movzx eax, byte [0x1404a22bd]
cmp al, 0xb7
je 0x1401a3649
mov cl, 6
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x1404a22bd], cl
je 0x1401a3612
cmp al, 0xb7
jne 0x1401a3400
jmp 0x1401a3649
xor eax, eax
lea rcx, [0x1404a23b0]
lea rdx, [0x1403bfad0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401a3430
mov al, 0xf9
xchg byte [0x1404a23be], al
lea rax, [0x1404a23b0]
jmp 0x1401a3690
movzx eax, byte [0x1404a251f]
cmp al, 0x78
je 0x1401a3689
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x1404a251f], cl
je 0x1401a3652
cmp al, 0x78
jne 0x1401a3470
jmp 0x1401a3689
xor eax, eax
lea rcx, [0x1404a22e0]
lea rdx, [0x1403bfa10]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1401a34a0
mov al, 8
xchg byte [0x1404a22e6], al
lea rax, [0x1404a22e0]
jmp 0x1401a3690
xor eax, eax
lea rcx, [0x1404a2370]
lea rdx, [0x1403bfa90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401a34e0
mov al, 0x9a
xchg byte [0x1404a2381], al
lea rax, [0x1404a2370]
jmp 0x1401a3690
cmp qword [0x1404eeb90], 0
jne 0x1401a355f
mov edx, esi
xor edx, 0xfb328f0d
mov ecx, 0x21
call fcn.14013ee20
mov rdi, rax
mov qword [0x1404eeb90], rax
xor esi, 0x181d739e
lea rcx, [0x1401a2b60]
mov edx, esi
call fcn.140137f30
xor eax, eax
lea rcx, [0x1403bf7c0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 0x1f
jle 0x1401a3550
mov rax, qword [0x1404eeb90]
xor ecx, ecx
lea rdx, [0x1403bf7e0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x20
jl 0x1401a3570
mov al, 0xeb
xchg byte [0x1404a20b0], al
mov rax, qword [0x1404eeb90]
jmp 0x1401a3690
xor eax, eax
lea rcx, [0x1404a2180]
lea rdx, [0x1403bf8b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2f
jl 0x1401a35b0
mov al, 0xca
xchg byte [0x1404a21af], al
lea rax, [0x1404a2180]
jmp 0x1401a3690
xor eax, eax
lea rcx, [0x1404a22d0]
lea rdx, [0x1403bfa00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401a35f0
mov al, 0x31
xchg byte [0x1404a22d9], al
lea rax, [0x1404a22d0]
jmp 0x1401a3690
xor eax, eax
lea rcx, [0x1404a22b0]
lea rdx, [0x1403bf9e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401a3630
mov al, 0xb7
xchg byte [0x1404a22bd], al
lea rax, [0x1404a22b0]
jmp 0x1401a3690
xor eax, eax
lea rcx, [0x1404a2510]
lea rdx, [0x1403bfc30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401a3670
mov al, 0x78
xchg byte [0x1404a251f], al
lea rax, [0x1404a2510]
add rsp, 0x28
pop rdi
pop rsi
ret