Function at 0x1401f8d60
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x1401f8db9
test edx, edx
je 0x1401f8e09
test r8d, r8d
je 0x1401f8e49
test r9d, r9d
je 0x1401f8ec9
movzx eax, byte [0x1404588d9]
cmp al, 0x21
je 0x1401f9079
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0x64
lock cmpxchg byte [0x1404588d9], cl
je 0x1401f9049
cmp al, 0x21
jne 0x1401f8da0
jmp 0x1401f9079
test edx, edx
je 0x1401f8e89
test r8d, r8d
je 0x1401f8ef9
test r9d, r9d
je 0x1401f8f79
movzx eax, byte [0x140458825]
cmp al, 0xda
je 0x1401f9149
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x140458825], cl
je 0x1401f9119
cmp al, 0xda
jne 0x1401f8df0
jmp 0x1401f9149
test r8d, r8d
je 0x1401f8f39
test r9d, r9d
je 0x1401f8fa9
movzx eax, byte [0x140458929]
cmp al, 0x5f
je 0x1401f9189
mov cl, 0xe
nop dword [rax]
mov al, 0xec
lock cmpxchg byte [0x140458929], cl
je 0x1401f9155
cmp al, 0x5f
jne 0x1401f8e30
jmp 0x1401f9189
test r9d, r9d
je 0x1401f8fd9
movzx eax, byte [0x1404588c5]
cmp al, 2
je 0x1401f91c9
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x1404588c5], cl
je 0x1401f9195
cmp al, 2
jne 0x1401f8e70
jmp 0x1401f91c9
test r8d, r8d
je 0x1401f9009
test r9d, r9d
je 0x1401f9085
movzx eax, byte [0x140458a06]
cmp al, 0x89
je 0x1401f9269
mov cl, 0x49
nop dword [rax]
mov al, 0x2e
lock cmpxchg byte [0x140458a06], cl
je 0x1401f923f
cmp al, 0x89
jne 0x1401f8eb0
jmp 0x1401f9269
movzx eax, byte [0x1404589df]
cmp al, 0xd8
je 0x1401f9209
mov cl, 0xef
nop word [rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x1404589df], cl
je 0x1401f91d5
cmp al, 0xd8
jne 0x1401f8ee0
jmp 0x1401f9209
test r9d, r9d
je 0x1401f90b9
movzx eax, byte [0x140458947]
cmp al, 0x20
je 0x1401f92f9
mov cl, 0xde
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x140458947], cl
je 0x1401f9275
cmp al, 0x20
jne 0x1401f8f20
jmp 0x1401f92f9
test r9d, r9d
je 0x1401f90e9
movzx eax, byte [0x140458868]
cmp al, 0xb4
je 0x1401f9339
mov cl, 0x94
nop word cs:[rax + rax]
mov al, 0x53
lock cmpxchg byte [0x140458868], cl
je 0x1401f9305
cmp al, 0xb4
jne 0x1401f8f60
jmp 0x1401f9339
movzx eax, byte [0x1404587e4]
cmp al, 0x87
je 0x1401f9379
mov cl, 0xfd
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x1404587e4], cl
je 0x1401f9345
cmp al, 0x87
jne 0x1401f8f90
jmp 0x1401f9379
movzx eax, byte [0x140458946]
cmp al, 0xa6
je 0x1401f93b9
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x140458946], cl
je 0x1401f9385
cmp al, 0xa6
jne 0x1401f8fc0
jmp 0x1401f93b9
movzx eax, byte [0x1404588a6]
cmp al, 0x19
je 0x1401f93f9
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x1404588a6], cl
je 0x1401f93c5
cmp al, 0x19
jne 0x1401f8ff0
jmp 0x1401f93f9
test r9d, r9d
je 0x1401f9215
cmp byte [0x140458840], 0
je 0x1401f9439
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x140458840], cl
je 0x1401f9405
test al, al
jne 0x1401f9030
jmp 0x1401f9439
xor eax, eax
lea rcx, [0x1404588d0]
lea rdx, [0x14036d180]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401f9060
mov al, 0x21
xchg byte [0x1404588d9], al
lea rax, [0x1404588d0]
jmp 0x1401f9532
movzx eax, byte [0x140458a22]
cmp al, 0x6e
je 0x1401f9479
mov cl, 0xa1
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x140458a22], cl
je 0x1401f9445
cmp al, 0x6e
jne 0x1401f90a0
jmp 0x1401f9479
movzx eax, byte [0x140458910]
cmp al, 0x2b
je 0x1401f94b9
mov cl, 0xd3
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x140458910], cl
je 0x1401f9485
cmp al, 0x2b
jne 0x1401f90d0
jmp 0x1401f94b9
movzx eax, byte [0x140458975]
cmp al, 0x2b
je 0x1401f94f9
mov cl, 0x8f
nop word [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x140458975], cl
je 0x1401f94c2
cmp al, 0x2b
jne 0x1401f9100
jmp 0x1401f94f9
xor eax, eax
lea rcx, [0x140458810]
lea rdx, [0x14036d0d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f9130
mov al, 0xda
xchg byte [0x140458825], al
lea rax, [0x140458810]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458920]
lea rdx, [0x14036d1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401f9170
mov al, 0x5f
xchg byte [0x140458929], al
lea rax, [0x140458920]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x1404588b0]
lea rdx, [0x14036d160]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f91b0
mov al, 2
xchg byte [0x1404588c5], al
lea rax, [0x1404588b0]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x1404589d0]
lea rdx, [0x14036d2b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401f91f0
mov al, 0xd8
xchg byte [0x1404589df], al
lea rax, [0x1404589d0]
jmp 0x1401f9532
movzx eax, byte [0x140458a4b]
cmp al, 9
je 0x1401f952b
mov cl, 0xcc
mov al, 0xd4
lock cmpxchg byte [0x140458a4b], cl
je 0x1401f9502
cmp al, 9
jne 0x1401f9226
jmp 0x1401f952b
xor eax, eax
lea rcx, [0x1404589e0]
lea rdx, [0x14036d2c0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1401f9250
mov al, 0x89
xchg byte [0x140458a06], al
lea rax, [0x1404589e0]
jmp 0x1401f9532
cmp qword [0x1404918c8], 0
jne 0x1401f92cd
mov ecx, 1
mov edx, 1
mov r8d, 4
mov r9d, 0x7e720511
call fcn.1401f8d20
mov rsi, rax
mov qword [0x1404918c8], rax
lea rcx, [0x1401f8cd0]
mov edx, 0xc08932c9
call fcn.1400db710
xor eax, eax
lea rcx, [0x14036d1f0]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x1401f92be
mov rax, qword [0x1404918c8]
xor ecx, ecx
lea rdx, [0x14036d200]
nop dword [rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f92e0
mov al, 0x20
xchg byte [0x140458947], al
mov rax, qword [0x1404918c8]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458850]
lea rdx, [0x14036d100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401f9320
mov al, 0xb4
xchg byte [0x140458868], al
lea rax, [0x140458850]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x1404587e0]
lea rdx, [0x14036d0a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1401f9360
mov al, 0x87
xchg byte [0x1404587e4], al
lea rax, [0x1404587e0]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458940]
lea rdx, [0x14036d1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1401f93a0
mov al, 0xa6
xchg byte [0x140458946], al
lea rax, [0x140458940]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458890]
lea rdx, [0x14036d140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401f93e0
mov al, 0x19
xchg byte [0x1404588a6], al
lea rax, [0x140458890]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458830]
lea rdx, [0x14036d0f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401f9420
xor eax, eax
xchg byte [0x140458840], al
lea rax, [0x140458830]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458a20]
lea rdx, [0x14036d300]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f9460
mov al, 0x6e
xchg byte [0x140458a22], al
lea rax, [0x140458a20]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458900]
lea rdx, [0x14036d1b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401f94a0
mov al, 0x2b
xchg byte [0x140458910], al
lea rax, [0x140458900]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458970]
lea rdx, [0x14036d250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401f94e0
mov al, 0x2b
xchg byte [0x140458975], al
lea rax, [0x140458970]
jmp 0x1401f9532
xor eax, eax
lea rcx, [0x140458a40]
lea rdx, [0x14036d320]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401f9512
mov al, 9
xchg byte [0x140458a4b], al
lea rax, [0x140458a40]
add rsp, 0x20
pop rsi
ret