Function at 0x1400ed7e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x1400ed829
test edx, edx
je 0x1400ed869
test r8d, r8d
je 0x1400ed8a9
movzx eax, byte [0x14043aa4b]
cmp al, 0x2e
je 0x1400ed9a9
mov cl, 0x95
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x14043aa4b], cl
je 0x1400ed979
cmp al, 0x2e
jne 0x1400ed810
jmp 0x1400ed9a9
test edx, edx
je 0x1400ed8d9
test r8d, r8d
je 0x1400ed919
movzx eax, byte [0x14043a992]
cmp al, 0xf4
je 0x1400eda19
mov cl, 0x56
nop dword [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x14043a992], cl
je 0x1400ed9e9
cmp al, 0xf4
jne 0x1400ed850
jmp 0x1400eda19
test r8d, r8d
je 0x1400ed949
movzx eax, byte [0x14043aabb]
cmp al, 0xc4
je 0x1400eda59
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x14043aabb], cl
je 0x1400eda25
cmp al, 0xc4
jne 0x1400ed890
jmp 0x1400eda59
movzx eax, byte [0x14043aacd]
cmp al, 0x1c
je 0x1400eda99
mov cl, 6
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x14043aacd], cl
je 0x1400eda65
cmp al, 0x1c
jne 0x1400ed8c0
jmp 0x1400eda99
test r8d, r8d
je 0x1400ed9b5
movzx eax, byte [0x14043a8e4]
cmp al, 0x3f
je 0x1400edb19
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x14043a8e4], cl
je 0x1400edaa5
cmp al, 0x3f
jne 0x1400ed900
jmp 0x1400edb19
movzx eax, byte [0x14043aa5f]
cmp al, 0xfe
je 0x1400edb59
mov cl, 0x85
nop word [rax + rax]
mov al, 0xa
lock cmpxchg byte [0x14043aa5f], cl
je 0x1400edb25
cmp al, 0xfe
jne 0x1400ed930
jmp 0x1400edb59
movzx eax, byte [0x14043a9ec]
cmp al, 0xa1
je 0x1400edb99
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x14043a9ec], cl
je 0x1400edb65
cmp al, 0xa1
jne 0x1400ed960
jmp 0x1400edb99
xor eax, eax
lea rcx, [0x14043aa40]
lea rdx, [0x14035fac0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400ed990
mov al, 0x2e
xchg byte [0x14043aa4b], al
lea rax, [0x14043aa40]
jmp 0x1400edc20
movzx eax, byte [0x14043a8ec]
cmp al, 0x54
je 0x1400edc19
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x14043a8ec], cl
je 0x1400edba2
cmp al, 0x54
jne 0x1400ed9d0
jmp 0x1400edc19
xor eax, eax
lea rcx, [0x14043a990]
lea rdx, [0x14035fa20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1400eda00
mov al, 0xf4
xchg byte [0x14043a992], al
lea rax, [0x14043a990]
jmp 0x1400edc20
xor eax, eax
lea rcx, [0x14043aab0]
lea rdx, [0x14035fb30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400eda40
mov al, 0xc4
xchg byte [0x14043aabb], al
lea rax, [0x14043aab0]
jmp 0x1400edc20
xor eax, eax
lea rcx, [0x14043aac0]
lea rdx, [0x14035fb40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1400eda80
mov al, 0x1c
xchg byte [0x14043aacd], al
lea rax, [0x14043aac0]
jmp 0x1400edc20
cmp qword [0x140490488], 0
jne 0x1400edaef
mov ecx, 4
call fcn.1402f9c64
mov rsi, rax
mov qword [0x140490488], rax
lea rcx, [0x1400ed130]
call fcn.140319880
xor eax, eax
lea rcx, [0x14035f7c0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x1400edae0
mov rax, qword [0x140490488]
xor ecx, ecx
lea rdx, [0x14035f7d0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1400edb00
mov al, 0x3f
xchg byte [0x14043a8e4], al
mov rax, qword [0x140490488]
jmp 0x1400edc20
xor eax, eax
lea rcx, [0x14043aa50]
lea rdx, [0x14035fad0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1400edb40
mov al, 0xfe
xchg byte [0x14043aa5f], al
lea rax, [0x14043aa50]
jmp 0x1400edc20
xor eax, eax
lea rcx, [0x14043a9d0]
lea rdx, [0x14035fa50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1400edb80
mov al, 0xa1
xchg byte [0x14043a9ec], al
lea rax, [0x14043a9d0]
jmp 0x1400edc20
cmp qword [0x1404904c8], 0
jne 0x1400edbe4
mov ecx, 4
call fcn.1402f9c64
mov rsi, rax
mov qword [0x1404904c8], rax
lea rcx, [0x1400ed230]
call fcn.140319880
xor eax, eax
lea rcx, [0x14035f8c0]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x1400edbd5
mov rax, qword [0x1404904c8]
xor ecx, ecx
lea rdx, [0x14035f8d0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1400edc00
mov al, 0x54
xchg byte [0x14043a8ec], al
mov rax, qword [0x1404904c8]
add rsp, 0x20
pop rsi
ret