Function at 0x14014ae10
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x14014ae59
test edx, edx
je 0x14014aea9
test r8d, r8d
je 0x14014aee9
movzx eax, byte [0x140498b36]
cmp al, 0x3c
je 0x14014aff9
mov cl, 3
nop dword [rax + rax]
mov al, 0x2e
lock cmpxchg byte [0x140498b36], cl
je 0x14014afc9
cmp al, 0x3c
jne 0x14014ae40
jmp 0x14014aff9
test edx, edx
je 0x14014af19
test r8d, r8d
je 0x14014af59
test r9d, r9d
je 0x14014b005
movzx eax, byte [0x14049899b]
cmp al, 0x8a
je 0x14014b249
mov cl, 0xf6
nop word cs:[rax + rax]
mov al, 0x4b
lock cmpxchg byte [0x14049899b], cl
je 0x14014b1d9
cmp al, 0x8a
jne 0x14014ae90
jmp 0x14014b249
test r8d, r8d
je 0x14014af99
movzx eax, byte [0x140498996]
cmp al, 0x6f
je 0x14014b0e9
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x140498996], cl
je 0x14014b079
cmp al, 0x6f
jne 0x14014aed0
jmp 0x14014b0e9
movzx eax, byte [0x1404989a2]
cmp al, 0x4d
je 0x14014b169
mov cl, 0xcc
nop word [rax + rax]
mov al, 0x27
lock cmpxchg byte [0x1404989a2], cl
je 0x14014b0f5
cmp al, 0x4d
jne 0x14014af00
jmp 0x14014b169
test r8d, r8d
je 0x14014b039
test r9d, r9d
je 0x14014b175
movzx eax, byte [0x140498a7f]
cmp al, 0x5c
je 0x14014b329
mov cl, 0xea
nop dword [rax]
mov al, 0x4f
lock cmpxchg byte [0x140498a7f], cl
je 0x14014b2ff
cmp al, 0x5c
jne 0x14014af40
jmp 0x14014b329
test r9d, r9d
je 0x14014b1a9
movzx eax, byte [0x140498998]
cmp al, 0xf6
je 0x14014b3a9
mov cl, 0x77
nop word cs:[rax + rax]
mov al, 0x69
lock cmpxchg byte [0x140498998], cl
je 0x14014b335
cmp al, 0xf6
jne 0x14014af80
jmp 0x14014b3a9
movzx eax, byte [0x14049899f]
cmp al, 1
je 0x14014b2c9
mov cl, 0x3e
nop word [rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x14049899f], cl
je 0x14014b255
cmp al, 1
jne 0x14014afb0
jmp 0x14014b2c9
xor eax, eax
lea rcx, [0x140498b10]
lea rdx, [0x1403bcb00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14014afe0
mov al, 0x3c
xchg byte [0x140498b36], al
lea rax, [0x140498b10]
jmp 0x14014b4e2
movzx eax, byte [0x140498bcb]
cmp al, 0xb6
je 0x14014b3e9
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x140498bcb], cl
je 0x14014b3b5
cmp al, 0xb6
jne 0x14014b020
jmp 0x14014b3e9
test r9d, r9d
je 0x14014b2d5
movzx eax, byte [0x140498b42]
cmp al, 0x7c
je 0x14014b429
mov cl, 0x65
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x140498b42], cl
je 0x14014b3f5
cmp al, 0x7c
jne 0x14014b060
jmp 0x14014b429
cmp qword [0x1404ee7b8], 0
jne 0x14014b0bf
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee7b8], rax
lea rcx, [0x140149b10]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc820]
nop dword [rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014b0b0
mov rax, qword [0x1404ee7b8]
xor ecx, ecx
lea rdx, [0x1403bc830]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014b0d0
mov al, 0x6f
xchg byte [0x140498996], al
mov rax, qword [0x1404ee7b8]
jmp 0x14014b4e2
cmp qword [0x1404ee818], 0
jne 0x14014b13f
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee818], rax
lea rcx, [0x140149c90]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc9a0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014b130
mov rax, qword [0x1404ee818]
xor ecx, ecx
lea rdx, [0x1403bc9b0]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014b150
mov al, 0x4d
xchg byte [0x1404989a2], al
mov rax, qword [0x1404ee818]
jmp 0x14014b4e2
movzx eax, byte [0x140498b99]
cmp al, 0x99
je 0x14014b469
mov cl, 0x55
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x140498b99], cl
je 0x14014b435
cmp al, 0x99
jne 0x14014b190
jmp 0x14014b469
movzx eax, byte [0x140498ae3]
cmp al, 0xea
je 0x14014b4a9
mov cl, 7
nop word [rax + rax]
mov al, 0x42
lock cmpxchg byte [0x140498ae3], cl
je 0x14014b472
cmp al, 0xea
jne 0x14014b1c0
jmp 0x14014b4a9
cmp qword [0x1404ee7e0], 0
jne 0x14014b21f
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee7e0], rax
lea rcx, [0x140149bb0]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc8c0]
nop dword [rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014b210
mov rax, qword [0x1404ee7e0]
xor ecx, ecx
lea rdx, [0x1403bc8d0]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014b230
mov al, 0x8a
xchg byte [0x14049899b], al
mov rax, qword [0x1404ee7e0]
jmp 0x14014b4e2
cmp qword [0x1404ee800], 0
jne 0x14014b29f
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee800], rax
lea rcx, [0x140149c30]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc940]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014b290
mov rax, qword [0x1404ee800]
xor ecx, ecx
lea rdx, [0x1403bc950]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014b2b0
mov al, 1
xchg byte [0x14049899f], al
mov rax, qword [0x1404ee800]
jmp 0x14014b4e2
movzx eax, byte [0x140498a28]
cmp al, 0xe9
je 0x14014b4db
mov cl, 0x5f
mov al, 0x7e
lock cmpxchg byte [0x140498a28], cl
je 0x14014b4b2
cmp al, 0xe9
jne 0x14014b2e6
jmp 0x14014b4db
xor eax, eax
lea rcx, [0x140498a70]
lea rdx, [0x1403bca60]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14014b310
mov al, 0x5c
xchg byte [0x140498a7f], al
lea rax, [0x140498a70]
jmp 0x14014b4e2
cmp qword [0x1404ee7c8], 0
jne 0x14014b377
mov ecx, 4
call fcn.14035b68c
mov rsi, rax
mov qword [0x1404ee7c8], rax
lea rcx, [0x140149b50]
call fcn.1403769c0
xor eax, eax
lea rcx, [0x1403bc860]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x14014b368
mov rax, qword [0x1404ee7c8]
xor ecx, ecx
lea rdx, [0x1403bc870]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x14014b390
mov al, 0xf6
xchg byte [0x140498998], al
mov rax, qword [0x1404ee7c8]
jmp 0x14014b4e2
xor eax, eax
lea rcx, [0x140498bc0]
lea rdx, [0x1403bcbb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14014b3d0
mov al, 0xb6
xchg byte [0x140498bcb], al
lea rax, [0x140498bc0]
jmp 0x14014b4e2
xor eax, eax
lea rcx, [0x140498b40]
lea rdx, [0x1403bcb30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14014b410
mov al, 0x7c
xchg byte [0x140498b42], al
lea rax, [0x140498b40]
jmp 0x14014b4e2
xor eax, eax
lea rcx, [0x140498b80]
lea rdx, [0x1403bcb70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x14014b450
mov al, 0x99
xchg byte [0x140498b99], al
lea rax, [0x140498b80]
jmp 0x14014b4e2
xor eax, eax
lea rcx, [0x140498ac0]
lea rdx, [0x1403bcab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14014b490
mov al, 0xea
xchg byte [0x140498ae3], al
lea rax, [0x140498ac0]
jmp 0x14014b4e2
xor eax, eax
lea rcx, [0x140498a10]
lea rdx, [0x1403bca10]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14014b4c2
mov al, 0xe9
xchg byte [0x140498a28], al
lea rax, [0x140498a10]
add rsp, 0x20
pop rsi
ret