Function at 0x1401ec520
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x1401ec579
test edx, edx
je 0x1401ec5b9
test r8d, r8d
je 0x1401ec5f9
test r9d, r9d
je 0x1401ec679
movzx eax, byte [0x14043fab5]
cmp al, 0x32
je 0x1401ec7d9
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x14043fab5], cl
je 0x1401ec7a9
cmp al, 0x32
jne 0x1401ec560
jmp 0x1401ec7d9
test edx, edx
je 0x1401ec639
test r8d, r8d
je 0x1401ec6a9
movzx eax, byte [0x14043f9e5]
cmp al, 0x63
je 0x1401ec819
mov cl, 0x73
nop dword [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x14043f9e5], cl
je 0x1401ec7e5
cmp al, 0x63
jne 0x1401ec5a0
jmp 0x1401ec819
test r8d, r8d
je 0x1401ec6d9
test r9d, r9d
je 0x1401ec719
movzx eax, byte [0x14043f9c2]
cmp al, 0x7d
je 0x1401ec889
mov cl, 0x39
nop dword [rax]
mov al, 0xb7
lock cmpxchg byte [0x14043f9c2], cl
je 0x1401ec859
cmp al, 0x7d
jne 0x1401ec5e0
jmp 0x1401ec889
test r9d, r9d
je 0x1401ec749
movzx eax, byte [0x14043fb73]
cmp al, 0x6e
je 0x1401ec8c9
mov cl, 0xc4
nop word cs:[rax + rax]
mov al, 0x80
lock cmpxchg byte [0x14043fb73], cl
je 0x1401ec895
cmp al, 0x6e
jne 0x1401ec620
jmp 0x1401ec8c9
test r8d, r8d
je 0x1401ec779
movzx eax, byte [0x14043fad6]
cmp al, 0x4d
je 0x1401ec949
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x14043fad6], cl
je 0x1401ec915
cmp al, 0x4d
jne 0x1401ec660
jmp 0x1401ec949
movzx eax, byte [0x14043fb65]
cmp al, 0xee
je 0x1401ec909
mov cl, 0x2c
nop word [rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x14043fb65], cl
je 0x1401ec8d5
cmp al, 0xee
jne 0x1401ec690
jmp 0x1401ec909
movzx eax, byte [0x14043fa99]
cmp al, 0x39
je 0x1401ec989
mov cl, 0x13
nop word [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x14043fa99], cl
je 0x1401ec955
cmp al, 0x39
jne 0x1401ec6c0
jmp 0x1401ec989
test r9d, r9d
je 0x1401ec825
movzx eax, byte [0x14043fa50]
cmp al, 0xb4
je 0x1401ec9c9
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x14043fa50], cl
je 0x1401ec995
cmp al, 0xb4
jne 0x1401ec700
jmp 0x1401ec9c9
movzx eax, byte [0x14043fb5c]
cmp al, 0x29
je 0x1401eca09
mov cl, 0x84
nop word [rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x14043fb5c], cl
je 0x1401ec9d5
cmp al, 0x29
jne 0x1401ec730
jmp 0x1401eca09
movzx eax, byte [0x14043fa8a]
cmp al, 0x3f
je 0x1401ecaa9
mov esi, dword [rsp + 0x60]
mov cl, 0xa3
nop
mov al, 0x38
lock cmpxchg byte [0x14043fa8a], cl
je 0x1401eca15
cmp al, 0x3f
jne 0x1401ec760
jmp 0x1401ecaa9
movzx eax, byte [0x14043fbf6]
cmp al, 0xae
je 0x1401ecae9
mov cl, 0x82
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x14043fbf6], cl
je 0x1401ecab2
cmp al, 0xae
jne 0x1401ec790
jmp 0x1401ecae9
xor eax, eax
lea rcx, [0x14043faa0]
lea rdx, [0x14035ff60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401ec7c0
mov al, 0x32
xchg byte [0x14043fab5], al
lea rax, [0x14043faa0]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043f9d0]
lea rdx, [0x14035fe70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401ec800
mov al, 0x63
xchg byte [0x14043f9e5], al
lea rax, [0x14043f9d0]
jmp 0x1401ecb30
movzx eax, byte [0x14043fb09]
cmp al, 0x8d
je 0x1401ecb29
mov cl, 0xb7
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x14043fb09], cl
je 0x1401ecaf2
cmp al, 0x8d
jne 0x1401ec840
jmp 0x1401ecb29
xor eax, eax
lea rcx, [0x14043f9c0]
lea rdx, [0x14035fe60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401ec870
mov al, 0x7d
xchg byte [0x14043f9c2], al
lea rax, [0x14043f9c0]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fb70]
lea rdx, [0x140360030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401ec8b0
mov al, 0x6e
xchg byte [0x14043fb73], al
lea rax, [0x14043fb70]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fb60]
lea rdx, [0x140360020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401ec8f0
mov al, 0xee
xchg byte [0x14043fb65], al
lea rax, [0x14043fb60]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fac0]
lea rdx, [0x14035ff80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401ec930
mov al, 0x4d
xchg byte [0x14043fad6], al
lea rax, [0x14043fac0]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fa90]
lea rdx, [0x14035ff50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401ec970
mov al, 0x39
xchg byte [0x14043fa99], al
lea rax, [0x14043fa90]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fa40]
lea rdx, [0x14035fed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401ec9b0
mov al, 0xb4
xchg byte [0x14043fa50], al
lea rax, [0x14043fa40]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fb40]
lea rdx, [0x140360000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1401ec9f0
mov al, 0x29
xchg byte [0x14043fb5c], al
lea rax, [0x14043fb40]
jmp 0x1401ecb30
cmp qword [0x1404788d0], 0
jne 0x1401eca71
mov r9d, esi
xor r9d, 0x48f11605
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.1401ec4f0
mov rdi, rax
mov qword [0x1404788d0], rax
xor esi, 0x145fd285
lea rcx, [0x1401ec4d0]
mov edx, esi
call fcn.1400f8f30
lea rax, [0x14035ff30]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401eca62
mov rax, qword [0x1404788d0]
xor ecx, ecx
lea rdx, [0x14035ff40]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401eca90
mov al, 0x3f
xchg byte [0x14043fa8a], al
mov rax, qword [0x1404788d0]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fbd0]
lea rdx, [0x140360090]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1401ecad0
mov al, 0xae
xchg byte [0x14043fbf6], al
lea rax, [0x14043fbd0]
jmp 0x1401ecb30
xor eax, eax
lea rcx, [0x14043fb00]
lea rdx, [0x14035ffc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401ecb10
mov al, 0x8d
xchg byte [0x14043fb09], al
lea rax, [0x14043fb00]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret