Function at 0x1401ecb40
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x1401ecb99
test edx, edx
je 0x1401ecbd9
test r8d, r8d
je 0x1401ecc19
test r9d, r9d
je 0x1401ecc99
movzx eax, byte [0x14043fa33]
cmp al, 0xd3
je 0x1401ece19
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x14043fa33], cl
je 0x1401ecde9
cmp al, 0xd3
jne 0x1401ecb80
jmp 0x1401ece19
test edx, edx
je 0x1401ecc59
test r8d, r8d
je 0x1401eccc9
movzx eax, byte [0x14043fa66]
cmp al, 0x8b
je 0x1401ece59
mov cl, 0x33
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x14043fa66], cl
je 0x1401ece25
cmp al, 0x8b
jne 0x1401ecbc0
jmp 0x1401ece59
test r8d, r8d
je 0x1401ecd09
test r9d, r9d
je 0x1401ecd49
movzx eax, byte [0x14043fa89]
cmp al, 0xed
je 0x1401ecf89
mov esi, dword [rsp + 0x60]
mov cl, 0xdb
mov al, 0xd6
lock cmpxchg byte [0x14043fa89], cl
je 0x1401ecef9
cmp al, 0xed
jne 0x1401ecc00
jmp 0x1401ecf89
test r9d, r9d
je 0x1401ecd79
movzx eax, byte [0x14043faf5]
cmp al, 0x85
je 0x1401ecfc9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x14043faf5], cl
je 0x1401ecf95
cmp al, 0x85
jne 0x1401ecc40
jmp 0x1401ecfc9
test r8d, r8d
je 0x1401ecda9
test r9d, r9d
je 0x1401ece65
movzx eax, byte [0x14043fa02]
cmp al, 0x2b
je 0x1401ed069
mov cl, 0xe6
nop dword [rax]
mov al, 0x91
lock cmpxchg byte [0x14043fa02], cl
je 0x1401ed03f
cmp al, 0x2b
jne 0x1401ecc80
jmp 0x1401ed069
movzx eax, byte [0x14043fbcf]
cmp al, 0xad
je 0x1401ed009
mov cl, 0xce
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x14043fbcf], cl
je 0x1401ecfd5
cmp al, 0xad
jne 0x1401eccb0
jmp 0x1401ed009
test r9d, r9d
je 0x1401ece99
movzx eax, byte [0x14043fb26]
cmp al, 0xa8
je 0x1401ed0a9
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x47
lock cmpxchg byte [0x14043fb26], cl
je 0x1401ed075
cmp al, 0xa8
jne 0x1401eccf0
jmp 0x1401ed0a9
test r9d, r9d
je 0x1401ecec9
movzx eax, byte [0x14043fa88]
cmp al, 0x57
je 0x1401ed0e9
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x14043fa88], cl
je 0x1401ed0b5
cmp al, 0x57
jne 0x1401ecd30
jmp 0x1401ed0e9
movzx eax, byte [0x14043fa20]
cmp al, 0x8f
je 0x1401ed129
mov cl, 0xdc
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x14043fa20], cl
je 0x1401ed0f5
cmp al, 0x8f
jne 0x1401ecd60
jmp 0x1401ed129
movzx eax, byte [0x14043fc12]
cmp al, 0x6e
je 0x1401ed169
mov cl, 0xaa
nop word [rax + rax]
mov al, 0xee
lock cmpxchg byte [0x14043fc12], cl
je 0x1401ed135
cmp al, 0x6e
jne 0x1401ecd90
jmp 0x1401ed169
test r9d, r9d
je 0x1401ed015
movzx eax, byte [0x14043fbbb]
cmp al, 0x34
je 0x1401ed1a9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x14043fbbb], cl
je 0x1401ed175
cmp al, 0x34
jne 0x1401ecdd0
jmp 0x1401ed1a9
xor eax, eax
lea rcx, [0x14043fa30]
lea rdx, [0x14035fec0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401ece00
mov al, 0xd3
xchg byte [0x14043fa33], al
lea rax, [0x14043fa30]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fa60]
lea rdx, [0x14035fee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1401ece40
mov al, 0x8b
xchg byte [0x14043fa66], al
lea rax, [0x14043fa60]
jmp 0x1401ed2a2
movzx eax, byte [0x14043fc02]
cmp al, 0xc5
je 0x1401ed1e9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x14043fc02], cl
je 0x1401ed1b5
cmp al, 0xc5
jne 0x1401ece80
jmp 0x1401ed1e9
movzx eax, byte [0x14043fba3]
cmp al, 0x36
je 0x1401ed229
mov cl, 0x4c
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x14043fba3], cl
je 0x1401ed1f5
cmp al, 0x36
jne 0x1401eceb0
jmp 0x1401ed229
movzx eax, byte [0x14043fb33]
cmp al, 0x76
je 0x1401ed269
mov cl, 0x86
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x14043fb33], cl
je 0x1401ed232
cmp al, 0x76
jne 0x1401ecee0
jmp 0x1401ed269
cmp qword [0x1404788c8], 0
jne 0x1401ecf5f
mov r9d, esi
xor r9d, 0x11660451
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.1401ec4f0
mov rdi, rax
mov qword [0x1404788c8], rax
xor esi, 0x4dc8c0d1
lea rcx, [0x1401ec4b0]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x14035ff10]
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401ecf50
mov rax, qword [0x1404788c8]
xor ecx, ecx
lea rdx, [0x14035ff20]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401ecf70
mov al, 0xed
xchg byte [0x14043fa89], al
mov rax, qword [0x1404788c8]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fae0]
lea rdx, [0x14035ffa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401ecfb0
mov al, 0x85
xchg byte [0x14043faf5], al
lea rax, [0x14043fae0]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fbc0]
lea rdx, [0x140360080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401ecff0
mov al, 0xad
xchg byte [0x14043fbcf], al
lea rax, [0x14043fbc0]
jmp 0x1401ed2a2
movzx eax, byte [0x14043fc2b]
cmp al, 0xa6
je 0x1401ed29b
mov cl, 0x7c
mov al, 0xee
lock cmpxchg byte [0x14043fc2b], cl
je 0x1401ed272
cmp al, 0xa6
jne 0x1401ed026
jmp 0x1401ed29b
xor eax, eax
lea rcx, [0x14043f9f0]
lea rdx, [0x14035fe90]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401ed050
mov al, 0x2b
xchg byte [0x14043fa02], al
lea rax, [0x14043f9f0]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fb10]
lea rdx, [0x14035ffd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401ed090
mov al, 0xa8
xchg byte [0x14043fb26], al
lea rax, [0x14043fb10]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fa70]
lea rdx, [0x14035fef0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401ed0d0
mov al, 0x57
xchg byte [0x14043fa88], al
lea rax, [0x14043fa70]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fa10]
lea rdx, [0x14035feb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401ed110
mov al, 0x8f
xchg byte [0x14043fa20], al
lea rax, [0x14043fa10]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fc10]
lea rdx, [0x1403600d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401ed150
mov al, 0x6e
xchg byte [0x14043fc12], al
lea rax, [0x14043fc10]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fbb0]
lea rdx, [0x140360070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ed190
mov al, 0x34
xchg byte [0x14043fbbb], al
lea rax, [0x14043fbb0]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fc00]
lea rdx, [0x1403600c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401ed1d0
mov al, 0xc5
xchg byte [0x14043fc02], al
lea rax, [0x14043fc00]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fb80]
lea rdx, [0x140360040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401ed210
mov al, 0x36
xchg byte [0x14043fba3], al
lea rax, [0x14043fb80]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fb30]
lea rdx, [0x14035fff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401ed250
mov al, 0x76
xchg byte [0x14043fb33], al
lea rax, [0x14043fb30]
jmp 0x1401ed2a2
xor eax, eax
lea rcx, [0x14043fc20]
lea rdx, [0x1403600e0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ed282
mov al, 0xa6
xchg byte [0x14043fc2b], al
lea rax, [0x14043fc20]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret