Function at 0x1400ab5d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
test ecx, ecx
je 0x1400ab625
xor eax, eax
mov cl, 1
nop dword [rax + rax]
mov r8d, dword [0x14058ec94]
mov r9d, dword [0x1405109d4]
mov r10d, r9d
xor r10d, 0xd0112c1
and r9d, 0xd0112c1
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1400ab60c
test al, al
je 0x1400ab612
test cl, cl
je 0x1400ab5e0
jmp 0x1400ab608
xor eax, eax
test edx, edx
je 0x1400ab668
test al, al
jne 0x1400ab810
jmp 0x1400ab7e4
movzx eax, byte [0x14051044f]
cmp al, 0x7b
je 0x1400ab6e3
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0x39
lock cmpxchg byte [0x14051044f], cl
je 0x1400ab672
movzx edx, byte [0x1405109d0]
mov r8d, edx
xor r8b, 0x33
and dl, 0x33
add dl, dl
add dl, r8b
cmp al, dl
jne 0x1400ab640
jmp 0x1400ab6e3
test al, al
jne 0x1400ab6fc
jmp 0x1400ab6ef
xor r8d, r8d
lea rax, [0x140510440]
lea rcx, [0x140449e70]
mov edx, 0xd0112a3
nop dword [rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [r8 + rax]
xor r10b, r9b
mov byte [r8 + rax], r10b
mov r9d, dword [0x1405109d4]
add r9d, edx
xor r9d, r8d
mov r10d, r9d
not r10d
and r10d, r8d
lea r8d, [r9 + r10*2]
cmp r8d, 0xf
jl 0x1400ab690
xor eax, eax
nop
test al, al
jne 0x1400ab6d0
movzx eax, byte [0x1405109d0]
add al, 0x33
xchg byte [0x14051044f], al
lea rax, [0x140510440]
jmp 0x1400ab770
movzx eax, byte [0x140510256]
xor ecx, ecx
test cl, cl
je 0x1400ab705
movzx eax, byte [0x140510256]
jmp 0x1400ab6ef
movzx ecx, byte [0x1405109d0]
add cl, 0x5a
cmp al, cl
je 0x1400ab7db
mov cl, 0xce
nop dword [rax]
mov al, 0x77
lock cmpxchg byte [0x140510256], cl
je 0x1400ab73f
movzx edx, byte [0x1405109d0]
add dl, 0x5a
cmp al, dl
jne 0x1400ab720
jmp 0x1400ab7db
xor eax, eax
lea rcx, [0x140510240]
lea rdx, [0x140449c80]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1400ab768
inc rax
jmp 0x1400ab750
mov al, 1
test al, al
je 0x1400ab785
jmp 0x1400ab774
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x14058ec90]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1400ab7d3
mov eax, 0xd0112a3
lea rcx, [fcn.1400ab5d0]
add ecx, ecx
add ecx, 0xd20
mov edx, ecx
not edx
nop dword [rax]
mov r8d, dword [0x1405109d4]
add r8d, eax
mov r9d, edx
and r9d, r8d
not r8d
mov r10d, ecx
and r10d, r8d
or r10d, r9d
mov r9d, edx
xor r9d, r8d
not r9d
and r9d, r8d
or r9d, r10d
cmp r9d, 0xffffffff
jne 0x1400ab7a0
jmp 0x1400ab774
mov al, 0xa2
xchg byte [0x140510256], al
lea rax, [0x140510240]
jmp 0x1400ab770
movzx eax, byte [0x140510321]
mov ecx, dword [0x14058ec90]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
mov ecx, 0xd0112a2
add ecx, dword [0x1405109d4]
cmp edx, ecx
je 0x1400ab824
nop dword [rax]
movzx eax, byte [0x140510321]
mov eax, dword [0x14058ec94]
cmp eax, 0x63
jge 0x1400ab810
jmp 0x1400ab7e4
cmp al, 0xd
je 0x1400ab8f1
xor ecx, ecx
nop
mov al, 0xde
lock cmpxchg byte [0x140510321], cl
je 0x1400ab845
cmp al, 0xd
jne 0x1400ab830
jmp 0x1400ab8f1
xor edx, edx
mov r8d, 0xd0112d2
lea r9, [0x140510310]
lea r10, [0x140449d40]
mov r11b, 1
jmp 0x1400ab870
mov eax, edx
xor eax, 1
and edx, 1
lea edx, [rax + rdx*2]
cmp edx, 0x11
jge 0x1400ab8e9
mov eax, dword [0x14058ec94]
mov ecx, dword [0x1405109d4]
add ecx, r8d
movsxd rsi, edx
cmp eax, ecx
jge 0x1400ab8a0
nop word cs:[rax + rax]
movzx eax, byte [rsi + r10]
add byte [rsi + r9], al
test r11b, r11b
jne 0x1400ab860
nop
movzx ebx, byte [rsi + r9]
movzx ecx, byte [rsi + r10]
sub cl, bl
add cl, 0xa4
mov eax, ecx
xor al, 0x5c
and cl, 0x5c
add cl, cl
add cl, al
mov edi, ebx
shl dil, cl
mov eax, ebx
sub al, dil
mul dil
add al, bl
mov byte [rsi + r9], al
mov eax, dword [0x14058ec90]
mov ecx, dword [0x1405109d4]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1400ab8a0
jmp 0x1400ab890
mov al, 0xd
xchg byte [0x140510321], al
lea rax, [0x140510310]
jmp 0x1400ab770