Function at 0x1401f9540
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x1401f9589
test edx, edx
je 0x1401f95d9
test r8d, r8d
je 0x1401f9619
movzx eax, byte [0x14045896c]
cmp al, 0xe9
je 0x1401f9739
mov cl, 0x75
nop dword [rax]
mov al, 0xe0
lock cmpxchg byte [0x14045896c], cl
je 0x1401f9709
cmp al, 0xe9
jne 0x1401f9570
jmp 0x1401f9739
test edx, edx
je 0x1401f9649
test r8d, r8d
je 0x1401f9689
test r9d, r9d
je 0x1401f9745
movzx eax, byte [0x1404589cb]
cmp al, 0x37
je 0x1401f98e9
mov cl, 0xef
nop word cs:[rax + rax]
mov al, 0x93
lock cmpxchg byte [0x1404589cb], cl
je 0x1401f98b9
cmp al, 0x37
jne 0x1401f95c0
jmp 0x1401f98e9
test r8d, r8d
je 0x1401f96c9
test r9d, r9d
je 0x1401f9779
movzx eax, byte [0x140458885]
cmp al, 0x7d
je 0x1401f9929
mov cl, 0x18
nop dword [rax]
mov al, 0x96
lock cmpxchg byte [0x140458885], cl
je 0x1401f98f5
cmp al, 0x7d
jne 0x1401f9600
jmp 0x1401f9929
movzx eax, byte [0x140458983]
cmp al, 0xa8
je 0x1401f9819
mov cl, 0x20
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x140458983], cl
je 0x1401f97e9
cmp al, 0xa8
jne 0x1401f9630
jmp 0x1401f9819
test r8d, r8d
je 0x1401f97a9
test r9d, r9d
je 0x1401f9825
movzx eax, byte [0x140458a5c]
cmp al, 0x4a
je 0x1401f9999
mov cl, 0xae
nop dword [rax]
mov al, 0x77
lock cmpxchg byte [0x140458a5c], cl
je 0x1401f9963
cmp al, 0x4a
jne 0x1401f9670
jmp 0x1401f9999
test r9d, r9d
je 0x1401f9859
movzx eax, byte [0x140458a3b]
cmp al, 0x4e
je 0x1401f99d9
mov cl, 0xc5
nop word cs:[rax + rax]
mov al, 0xb
lock cmpxchg byte [0x140458a3b], cl
je 0x1401f99a5
cmp al, 0x4e
jne 0x1401f96b0
jmp 0x1401f99d9
test r9d, r9d
je 0x1401f9889
movzx eax, byte [0x140458a12]
cmp al, 0xaa
je 0x1401f9a19
mov cl, 0xe9
nop word cs:[rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x140458a12], cl
je 0x1401f99e5
cmp al, 0xaa
jne 0x1401f96f0
jmp 0x1401f9a19
xor eax, eax
lea rcx, [0x140458950]
lea rdx, [0x14036d230]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1401f9720
mov al, 0xe9
xchg byte [0x14045896c], al
lea rax, [0x140458950]
jmp 0x1401f9c34
movzx eax, byte [0x140458802]
cmp al, 0x31
je 0x1401f9a59
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x140458802], cl
je 0x1401f9a25
cmp al, 0x31
jne 0x1401f9760
jmp 0x1401f9a59
movzx eax, byte [0x1404589b3]
cmp al, 0x65
je 0x1401f9a99
mov cl, 0xc6
nop word [rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x1404589b3], cl
je 0x1401f9a65
cmp al, 0x65
jne 0x1401f9790
jmp 0x1401f9a99
test r9d, r9d
je 0x1401f9935
movzx eax, byte [0x1404587d3]
cmp al, 0xa2
je 0x1401f9ad9
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x1404587d3], cl
je 0x1401f9aa5
cmp al, 0xa2
jne 0x1401f97d0
jmp 0x1401f9ad9
xor eax, eax
lea rcx, [0x140458980]
lea rdx, [0x14036d260]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f9800
mov al, 0xa8
xchg byte [0x140458983], al
lea rax, [0x140458980]
jmp 0x1401f9c34
movzx eax, byte [0x1404588f6]
cmp al, 0x42
je 0x1401f9b19
mov cl, 0x2b
nop word cs:[rax + rax]
mov al, 0xe2
lock cmpxchg byte [0x1404588f6], cl
je 0x1401f9ae5
cmp al, 0x42
jne 0x1401f9840
jmp 0x1401f9b19
movzx eax, byte [0x1404587ca]
cmp al, 0x69
je 0x1401f9b59
mov cl, 0x33
nop word [rax + rax]
mov al, 0xda
lock cmpxchg byte [0x1404587ca], cl
je 0x1401f9b25
cmp al, 0x69
jne 0x1401f9870
jmp 0x1401f9b59
movzx eax, byte [0x140458933]
cmp al, 0xe0
je 0x1401f9b99
mov cl, 0x55
nop word [rax + rax]
mov al, 0xc7
lock cmpxchg byte [0x140458933], cl
je 0x1401f9b65
cmp al, 0xe0
jne 0x1401f98a0
jmp 0x1401f9b99
xor eax, eax
lea rcx, [0x1404589c0]
lea rdx, [0x14036d2a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401f98d0
mov al, 0x37
xchg byte [0x1404589cb], al
lea rax, [0x1404589c0]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x140458870]
lea rdx, [0x14036d120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401f9910
mov al, 0x7d
xchg byte [0x140458885], al
lea rax, [0x140458870]
jmp 0x1401f9c34
movzx eax, byte [0x140458948]
cmp al, 0x3f
je 0x1401f9c2d
mov esi, dword [rsp + 0x60]
mov cl, 0x19
mov al, 0x57
lock cmpxchg byte [0x140458948], cl
je 0x1401f9ba5
cmp al, 0x3f
jne 0x1401f994a
jmp 0x1401f9c2d
xor eax, eax
lea rcx, [0x140458a50]
lea rdx, [0x14036d330]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x1401f9980
mov al, 0x4a
xchg byte [0x140458a5c], al
lea rax, [0x140458a50]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x140458a30]
lea rdx, [0x14036d310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401f99c0
mov al, 0x4e
xchg byte [0x140458a3b], al
lea rax, [0x140458a30]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x140458a10]
lea rdx, [0x14036d2f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401f9a00
mov al, 0xaa
xchg byte [0x140458a12], al
lea rax, [0x140458a10]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x1404587f0]
lea rdx, [0x14036d0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401f9a40
mov al, 0x31
xchg byte [0x140458802], al
lea rax, [0x1404587f0]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x140458990]
lea rdx, [0x14036d270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401f9a80
mov al, 0x65
xchg byte [0x1404589b3], al
lea rax, [0x140458990]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x1404587d0]
lea rdx, [0x14036d090]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f9ac0
mov al, 0xa2
xchg byte [0x1404587d3], al
lea rax, [0x1404587d0]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x1404588e0]
lea rdx, [0x14036d190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401f9b00
mov al, 0x42
xchg byte [0x1404588f6], al
lea rax, [0x1404588e0]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x1404587c0]
lea rdx, [0x14036d080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401f9b40
mov al, 0x69
xchg byte [0x1404587ca], al
lea rax, [0x1404587c0]
jmp 0x1401f9c34
xor eax, eax
lea rcx, [0x140458930]
lea rdx, [0x14036d1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f9b80
mov al, 0xe0
xchg byte [0x140458933], al
lea rax, [0x140458930]
jmp 0x1401f9c34
cmp qword [0x1404918d0], 0
jne 0x1401f9c04
mov r9d, esi
xor r9d, 0x5a3f60cb
mov ecx, 1
mov edx, 1
mov r8d, 4
call fcn.1401f8d20
mov rdi, rax
mov qword [0x1404918d0], rax
xor esi, 0xe4c45713
lea rcx, [0x1401f8cf0]
mov edx, esi
call fcn.1400db710
xor eax, eax
lea rcx, [0x14036d210]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 2
jle 0x1401f9bf5
mov rax, qword [0x1404918d0]
xor ecx, ecx
lea rdx, [0x14036d220]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f9c14
mov al, 0x3f
xchg byte [0x140458948], al
mov rax, qword [0x1404918d0]
add rsp, 0x28
pop rdi
pop rsi
ret