Function at 0x1401f8160
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x1401f81b9
test edx, edx
je 0x1401f8209
test r8d, r8d
je 0x1401f8249
test r9d, r9d
je 0x1401f82c9
movzx eax, byte [0x1404ac1fd]
cmp al, 0x8b
je 0x1401f8479
mov cl, 0x3d
nop word cs:[rax + rax]
mov al, 0x18
lock cmpxchg byte [0x1404ac1fd], cl
je 0x1401f8449
cmp al, 0x8b
jne 0x1401f81a0
jmp 0x1401f8479
test edx, edx
je 0x1401f8289
test r8d, r8d
je 0x1401f82f9
test r9d, r9d
je 0x1401f8379
movzx eax, byte [0x1404ac00d]
cmp al, 0xad
je 0x1401f8549
mov cl, 0xfe
nop word cs:[rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x1404ac00d], cl
je 0x1401f8519
cmp al, 0xad
jne 0x1401f81f0
jmp 0x1401f8549
test r8d, r8d
je 0x1401f8339
test r9d, r9d
je 0x1401f83a9
movzx eax, byte [0x1404ef070]
cmp al, 0xf
je 0x1401f8589
mov cl, 0x3f
nop dword [rax]
xor eax, eax
lock cmpxchg byte [0x1404ef070], cl
je 0x1401f8555
cmp al, 0xf
jne 0x1401f8230
jmp 0x1401f8589
test r9d, r9d
je 0x1401f83d9
movzx eax, byte [0x1404ab786]
cmp al, 0x9e
je 0x1401f85c9
mov cl, 0x80
nop word cs:[rax + rax]
mov al, 0xe0
lock cmpxchg byte [0x1404ab786], cl
je 0x1401f8595
cmp al, 0x9e
jne 0x1401f8270
jmp 0x1401f85c9
test r8d, r8d
je 0x1401f8409
test r9d, r9d
je 0x1401f8485
movzx eax, byte [0x1404ab9e4]
cmp al, 0xee
je 0x1401f86d9
mov esi, dword [rsp + 0x70]
mov cl, 0xcb
mov al, 0xb5
lock cmpxchg byte [0x1404ab9e4], cl
je 0x1401f863f
cmp al, 0xee
jne 0x1401f82b0
jmp 0x1401f86d9
movzx eax, byte [0x1404ac03a]
cmp al, 0x91
je 0x1401f8609
mov cl, 0x90
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x1404ac03a], cl
je 0x1401f85d5
cmp al, 0x91
jne 0x1401f82e0
jmp 0x1401f8609
test r9d, r9d
je 0x1401f84b9
movzx eax, byte [0x1404ac11d]
cmp al, 0xd0
je 0x1401f8719
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x1404ac11d], cl
je 0x1401f86e5
cmp al, 0xd0
jne 0x1401f8320
jmp 0x1401f8719
test r9d, r9d
je 0x1401f84e9
movzx eax, byte [0x1404ac10e]
cmp al, 0xd1
je 0x1401f8759
mov cl, 0xd7
nop word cs:[rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x1404ac10e], cl
je 0x1401f8725
cmp al, 0xd1
jne 0x1401f8360
jmp 0x1401f8759
movzx eax, byte [0x1404ab9c5]
cmp al, 0x32
je 0x1401f8799
mov cl, 0xc2
nop word [rax + rax]
mov al, 0x25
lock cmpxchg byte [0x1404ab9c5], cl
je 0x1401f8765
cmp al, 0x32
jne 0x1401f8390
jmp 0x1401f8799
movzx eax, byte [0x1404abbd4]
cmp al, 0xa5
je 0x1401f87d9
mov cl, 0x76
nop word [rax + rax]
mov al, 0x13
lock cmpxchg byte [0x1404abbd4], cl
je 0x1401f87a5
cmp al, 0xa5
jne 0x1401f83c0
jmp 0x1401f87d9
movzx eax, byte [0x1404ac0a1]
cmp al, 0x7b
je 0x1401f8819
mov cl, 0xc0
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x1404ac0a1], cl
je 0x1401f87e5
cmp al, 0x7b
jne 0x1401f83f0
jmp 0x1401f8819
test r9d, r9d
je 0x1401f8615
movzx eax, byte [0x1404ac0dd]
cmp al, 0xa6
je 0x1401f8859
mov cl, 0x16
nop word cs:[rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x1404ac0dd], cl
je 0x1401f8825
cmp al, 0xa6
jne 0x1401f8430
jmp 0x1401f8859
xor eax, eax
lea rcx, [0x1404ac1f0]
lea rdx, [0x1403c46f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8460
mov al, 0x8b
xchg byte [0x1404ac1fd], al
lea rax, [0x1404ac1f0]
jmp 0x1401f8952
movzx eax, byte [0x1404ac15d]
cmp al, 0x4b
je 0x1401f8899
mov cl, 0xc2
nop word cs:[rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x1404ac15d], cl
je 0x1401f8865
cmp al, 0x4b
jne 0x1401f84a0
jmp 0x1401f8899
movzx eax, byte [0x1404ac05c]
cmp al, 0xe
je 0x1401f88d9
mov cl, 0xee
nop word [rax + rax]
mov al, 0x83
lock cmpxchg byte [0x1404ac05c], cl
je 0x1401f88a5
cmp al, 0xe
jne 0x1401f84d0
jmp 0x1401f88d9
movzx eax, byte [0x1404abd11]
cmp al, 0x42
je 0x1401f8919
mov cl, 0x87
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x1404abd11], cl
je 0x1401f88e2
cmp al, 0x42
jne 0x1401f8500
jmp 0x1401f8919
xor eax, eax
lea rcx, [0x1404ac000]
lea rdx, [0x1403c4510]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8530
mov al, 0xad
xchg byte [0x1404ac00d], al
lea rax, [0x1404ac000]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404abec0]
lea rdx, [0x1403c43d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8570
mov al, 0xf
xchg byte [0x1404ef070], al
lea rax, [0x1404abec0]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ab770]
lea rdx, [0x1403c3ae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401f85b0
mov al, 0x9e
xchg byte [0x1404ab786], al
lea rax, [0x1404ab770]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac030]
lea rdx, [0x1403c4540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401f85f0
mov al, 0x91
xchg byte [0x1404ac03a], al
lea rax, [0x1404ac030]
jmp 0x1401f8952
movzx eax, byte [0x1404abbad]
cmp al, 0xe1
je 0x1401f894b
mov cl, 0x12
mov al, 0xb2
lock cmpxchg byte [0x1404abbad], cl
je 0x1401f8922
cmp al, 0xe1
jne 0x1401f8626
jmp 0x1401f894b
cmp qword [0x1404ef028], 0
jne 0x1401f86a5
mov eax, esi
xor eax, 0xae05e404
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x16
xor r9d, r9d
call fcn.1401f7d00
mov rdi, rax
mov qword [0x1404ef028], rax
xor esi, 0x32253559
lea rcx, [0x1401f7be0]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403c3d80]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x14
jle 0x1401f8696
mov rax, qword [0x1404ef028]
xor ecx, ecx
lea rdx, [0x1403c3da0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x15
jl 0x1401f86c0
mov al, 0xee
xchg byte [0x1404ab9e4], al
mov rax, qword [0x1404ef028]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac110]
lea rdx, [0x1403c4620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8700
mov al, 0xd0
xchg byte [0x1404ac11d], al
lea rax, [0x1404ac110]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac100]
lea rdx, [0x1403c4610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401f8740
mov al, 0xd1
xchg byte [0x1404ac10e], al
lea rax, [0x1404ac100]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ab9b0]
lea rdx, [0x1403c3d40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f8780
mov al, 0x32
xchg byte [0x1404ab9c5], al
lea rax, [0x1404ab9b0]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404abbb0]
lea rdx, [0x1403c40d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x1401f87c0
mov al, 0xa5
xchg byte [0x1404abbd4], al
lea rax, [0x1404abbb0]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac090]
lea rdx, [0x1403c45a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401f8800
mov al, 0x7b
xchg byte [0x1404ac0a1], al
lea rax, [0x1404ac090]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac0d0]
lea rdx, [0x1403c45e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8840
mov al, 0xa6
xchg byte [0x1404ac0dd], al
lea rax, [0x1404ac0d0]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac150]
lea rdx, [0x1403c4660]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f8880
mov al, 0x4b
xchg byte [0x1404ac15d], al
lea rax, [0x1404ac150]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404ac050]
lea rdx, [0x1403c4560]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1401f88c0
mov al, 0xe
xchg byte [0x1404ac05c], al
lea rax, [0x1404ac050]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404abd00]
lea rdx, [0x1403c4220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401f8900
mov al, 0x42
xchg byte [0x1404abd11], al
lea rax, [0x1404abd00]
jmp 0x1401f8952
xor eax, eax
lea rcx, [0x1404abb80]
lea rdx, [0x1403c40a0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2d
jl 0x1401f8932
mov al, 0xe1
xchg byte [0x1404abbad], al
lea rax, [0x1404abb80]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret