Function at 0x140255ba0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x140255bf9
test edx, edx
je 0x140255c49
test r8d, r8d
je 0x140255c89
test r9d, r9d
je 0x140255d09
movzx eax, byte [0x1404b6c19]
cmp al, 0x21
je 0x140255eb9
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0x64
lock cmpxchg byte [0x1404b6c19], cl
je 0x140255e89
cmp al, 0x21
jne 0x140255be0
jmp 0x140255eb9
test edx, edx
je 0x140255cc9
test r8d, r8d
je 0x140255d39
test r9d, r9d
je 0x140255db9
movzx eax, byte [0x1404b6b65]
cmp al, 0xda
je 0x140255f89
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x1404b6b65], cl
je 0x140255f59
cmp al, 0xda
jne 0x140255c30
jmp 0x140255f89
test r8d, r8d
je 0x140255d79
test r9d, r9d
je 0x140255de9
movzx eax, byte [0x1404b6c69]
cmp al, 0x5f
je 0x140255fc9
mov cl, 0xe
nop dword [rax]
mov al, 0xec
lock cmpxchg byte [0x1404b6c69], cl
je 0x140255f95
cmp al, 0x5f
jne 0x140255c70
jmp 0x140255fc9
test r9d, r9d
je 0x140255e19
movzx eax, byte [0x1404b6c05]
cmp al, 2
je 0x140256009
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x1404b6c05], cl
je 0x140255fd5
cmp al, 2
jne 0x140255cb0
jmp 0x140256009
test r8d, r8d
je 0x140255e49
test r9d, r9d
je 0x140255ec5
movzx eax, byte [0x1404b6d46]
cmp al, 0x89
je 0x1402560a9
mov cl, 0x49
nop dword [rax]
mov al, 0x2e
lock cmpxchg byte [0x1404b6d46], cl
je 0x14025607f
cmp al, 0x89
jne 0x140255cf0
jmp 0x1402560a9
movzx eax, byte [0x1404b6d1f]
cmp al, 0xd8
je 0x140256049
mov cl, 0xef
nop word [rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x1404b6d1f], cl
je 0x140256015
cmp al, 0xd8
jne 0x140255d20
jmp 0x140256049
test r9d, r9d
je 0x140255ef9
movzx eax, byte [0x1404b6c87]
cmp al, 0x20
je 0x140256139
mov cl, 0xde
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x1404b6c87], cl
je 0x1402560b5
cmp al, 0x20
jne 0x140255d60
jmp 0x140256139
test r9d, r9d
je 0x140255f29
movzx eax, byte [0x1404b6ba8]
cmp al, 0xb4
je 0x140256179
mov cl, 0x94
nop word cs:[rax + rax]
mov al, 0x53
lock cmpxchg byte [0x1404b6ba8], cl
je 0x140256145
cmp al, 0xb4
jne 0x140255da0
jmp 0x140256179
movzx eax, byte [0x1404b6b24]
cmp al, 0x87
je 0x1402561b9
mov cl, 0xfd
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x1404b6b24], cl
je 0x140256185
cmp al, 0x87
jne 0x140255dd0
jmp 0x1402561b9
movzx eax, byte [0x1404b6c86]
cmp al, 0xa6
je 0x1402561f9
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x1404b6c86], cl
je 0x1402561c5
cmp al, 0xa6
jne 0x140255e00
jmp 0x1402561f9
movzx eax, byte [0x1404b6be6]
cmp al, 0x19
je 0x140256239
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x1404b6be6], cl
je 0x140256205
cmp al, 0x19
jne 0x140255e30
jmp 0x140256239
test r9d, r9d
je 0x140256055
cmp byte [0x1404b6b80], 0
je 0x140256279
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x1404b6b80], cl
je 0x140256245
test al, al
jne 0x140255e70
jmp 0x140256279
xor eax, eax
lea rcx, [0x1404b6c10]
lea rdx, [0x1403ca190]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140255ea0
mov al, 0x21
xchg byte [0x1404b6c19], al
lea rax, [0x1404b6c10]
jmp 0x140256372
movzx eax, byte [0x1404b6d62]
cmp al, 0x6e
je 0x1402562b9
mov cl, 0xa1
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x1404b6d62], cl
je 0x140256285
cmp al, 0x6e
jne 0x140255ee0
jmp 0x1402562b9
movzx eax, byte [0x1404b6c50]
cmp al, 0x2b
je 0x1402562f9
mov cl, 0xd3
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x1404b6c50], cl
je 0x1402562c5
cmp al, 0x2b
jne 0x140255f10
jmp 0x1402562f9
movzx eax, byte [0x1404b6cb5]
cmp al, 0x2b
je 0x140256339
mov cl, 0x8f
nop word [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x1404b6cb5], cl
je 0x140256302
cmp al, 0x2b
jne 0x140255f40
jmp 0x140256339
xor eax, eax
lea rcx, [0x1404b6b50]
lea rdx, [0x1403ca0e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140255f70
mov al, 0xda
xchg byte [0x1404b6b65], al
lea rax, [0x1404b6b50]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6c60]
lea rdx, [0x1403ca1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140255fb0
mov al, 0x5f
xchg byte [0x1404b6c69], al
lea rax, [0x1404b6c60]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6bf0]
lea rdx, [0x1403ca170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140255ff0
mov al, 2
xchg byte [0x1404b6c05], al
lea rax, [0x1404b6bf0]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6d10]
lea rdx, [0x1403ca2c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140256030
mov al, 0xd8
xchg byte [0x1404b6d1f], al
lea rax, [0x1404b6d10]
jmp 0x140256372
movzx eax, byte [0x1404b6d8b]
cmp al, 9
je 0x14025636b
mov cl, 0xcc
mov al, 0xd4
lock cmpxchg byte [0x1404b6d8b], cl
je 0x140256342
cmp al, 9
jne 0x140256066
jmp 0x14025636b
xor eax, eax
lea rcx, [0x1404b6d20]
lea rdx, [0x1403ca2d0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140256090
mov al, 0x89
xchg byte [0x1404b6d46], al
lea rax, [0x1404b6d20]
jmp 0x140256372
cmp qword [0x1404efbe0], 0
jne 0x14025610d
mov ecx, 1
mov edx, 1
mov r8d, 4
mov r9d, 0x7e720511
call fcn.140255b60
mov rsi, rax
mov qword [0x1404efbe0], rax
lea rcx, [0x140255b10]
mov edx, 0xc08932c9
call fcn.140137f30
xor eax, eax
lea rcx, [0x1403ca200]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x1402560fe
mov rax, qword [0x1404efbe0]
xor ecx, ecx
lea rdx, [0x1403ca210]
nop dword [rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140256120
mov al, 0x20
xchg byte [0x1404b6c87], al
mov rax, qword [0x1404efbe0]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6b90]
lea rdx, [0x1403ca110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140256160
mov al, 0xb4
xchg byte [0x1404b6ba8], al
lea rax, [0x1404b6b90]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6b20]
lea rdx, [0x1403ca0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1402561a0
mov al, 0x87
xchg byte [0x1404b6b24], al
lea rax, [0x1404b6b20]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6c80]
lea rdx, [0x1403ca1f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1402561e0
mov al, 0xa6
xchg byte [0x1404b6c86], al
lea rax, [0x1404b6c80]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6bd0]
lea rdx, [0x1403ca150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140256220
mov al, 0x19
xchg byte [0x1404b6be6], al
lea rax, [0x1404b6bd0]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6b70]
lea rdx, [0x1403ca100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140256260
xor eax, eax
xchg byte [0x1404b6b80], al
lea rax, [0x1404b6b70]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6d60]
lea rdx, [0x1403ca310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402562a0
mov al, 0x6e
xchg byte [0x1404b6d62], al
lea rax, [0x1404b6d60]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6c40]
lea rdx, [0x1403ca1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1402562e0
mov al, 0x2b
xchg byte [0x1404b6c50], al
lea rax, [0x1404b6c40]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6cb0]
lea rdx, [0x1403ca260]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140256320
mov al, 0x2b
xchg byte [0x1404b6cb5], al
lea rax, [0x1404b6cb0]
jmp 0x140256372
xor eax, eax
lea rcx, [0x1404b6d80]
lea rdx, [0x1403ca330]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140256352
mov al, 9
xchg byte [0x1404b6d8b], al
lea rax, [0x1404b6d80]
add rsp, 0x20
pop rsi
ret