Function at 0x1400faf40
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x14053158c]
cmp eax, 0x31
nop dword [rax]
mov eax, 0x9cb39ba4
add eax, dword [0x1404d3e94]
mov r8d, dword [0x14053158c]
cmp r8d, 0x40
jg 0x1400faf50
cmp ecx, eax
jne 0x1400fafa9
test edx, edx
je 0x1400fb0de
movzx eax, byte [0x1404c8550]
cmp al, 9
je 0x1400fb2f0
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0x25
lock cmpxchg byte [0x1404c8550], cl
je 0x1400fb156
cmp al, 9
jne 0x1400faf90
jmp 0x1400fb2f0
mov eax, dword [0x14053158c]
cmp eax, 0x30
nop word cs:[rax + rax]
cmp dword [0x1404d3e94], 0x634c645c
jne 0x1400fafc0
test edx, edx
je 0x1400fb082
movzx eax, byte [0x1404c86c6]
cmp al, 0x1a
je 0x1400fb47f
mov cl, 0xe7
mov dl, 1
nop word [rax + rax]
mov eax, dword [0x1404d3e94]
mov r8d, eax
xor r8d, 0x9cb39ba4
and eax, 0x1cb39ba4
add eax, eax
add eax, r8d
jne 0x1400fb040
nop dword [rax]
mov al, 0x47
lock cmpxchg byte [0x1404c86c6], cl
sete r8b
mov r9d, dword [0x140531588]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1400fb050
nop word cs:[rax + rax]
mov al, 0x47
lock cmpxchg byte [0x1404c86c6], cl
test dl, dl
je 0x1400fb040
jmp 0x1400fb010
test r8b, r8b
jne 0x1400fb20f
cmp al, 0x1a
jne 0x1400faff0
jmp 0x1400fb47f
movzx eax, byte [0x1404c8666]
mov eax, dword [0x14053158c]
cmp eax, 0x3b
jl 0x1400fb093
mov eax, dword [0x140531588]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400fb070
movzx eax, byte [0x1404c8666]
mov ecx, dword [0x14053158c]
cmp ecx, 0x25
jg 0x1400fb070
cmp al, 0x5f
je 0x1400fb387
nop dword [rax]
movzx ecx, byte [0x1404d3e90]
lea eax, [rcx + 0x6c]
add cl, 0x4a
lock cmpxchg byte [0x1404c8666], cl
je 0x1400fb341
movzx ecx, byte [0x1404d3e90]
add cl, 0xa
cmp al, cl
jne 0x1400fb0b0
jmp 0x1400fb387
movzx eax, byte [0x1404c874b]
cmp al, 0x73
je 0x1400fb45c
mov cl, 0xbc
mov dl, 1
jmp 0x1400fb108
cmp al, 0x73
je 0x1400fb45c
mov al, 0x71
lock cmpxchg byte [0x1404c874b], cl
je 0x1400fb393
mov r8d, dword [0x1404d3e94]
mov r9d, r8d
xor r9d, 0x9cb39ba4
and r8d, 0x1cb39ba4
lea r8d, [r9 + r8*2]
cmp dword [0x1405315a0], r8d
jne 0x1400fb150
nop dword [rax]
mov r8d, dword [0x14053158c]
cmp r8d, 0x40
jl 0x1400fb100
nop dword [rax]
test dl, dl
je 0x1400fb150
jmp 0x1400fb140
mov r8d, 0x9cb39ba5
xor r9d, r9d
lea r10, [0x1404c8540]
lea r11, [0x140400970]
xor esi, esi
test r9b, r9b
jne 0x1400fb1b7
nop word cs:[rax + rax]
movzx eax, byte [rsi + r11]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsi + r10]
xor cl, al
mov byte [rsi + r10], cl
mov eax, dword [0x14053158c]
cmp eax, 0x1d
jg 0x1400fb1b7
lea eax, [rsi + 1]
cmp eax, 0xf
jg 0x1400fb2e8
dec r8d
inc rsi
test r9b, r9b
je 0x1400fb180
movzx eax, byte [rsi + r10]
movzx edx, byte [rsi + r11]
sub al, dl
mul dl
mov ecx, eax
mov ebx, eax
xor bl, 0xd
and al, 0xd
add al, al
add al, bl
sub al, dl
add al, 0xf3
mul dl
mov edx, eax
sub dl, cl
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov ecx, edx
sub cl, al
mov eax, ecx
neg al
xor al, dl
lea edi, [rcx - 1]
not dl
and dl, dil
or dl, al
not dl
add dl, dl
add dl, al
xor dl, cl
mov byte [rsi + r10], dl
jmp 0x1400fb180
xor r8d, r8d
lea r9, [0x1404c86c0]
lea r10, [0x140400ad0]
jmp 0x1400fb23d
inc r8d
cmp r8d, 6
jge 0x1400fb32d
mov eax, dword [0x140531588]
lea ecx, [rax + 1]
imul ecx, eax
movsxd r11, r8d
test cl, 1
jne 0x1400fb290
nop word cs:[rax + rax]
movzx eax, byte [r11 + r10]
xor byte [r11 + r9], al
mov eax, dword [0x14053158c]
mov ecx, dword [0x1404d3e94]
mov edx, ecx
xor edx, 0x9cb39bc8
and ecx, 0x1cb39bc8
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1400fb230
nop word [rax + rax]
movzx eax, byte [r11 + r9]
movzx edx, byte [r11 + r10]
sub al, dl
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
mov ebx, eax
sub bl, cl
mov ecx, eax
shl bl, cl
mov eax, ebx
sub al, dl
mul dl
mov ecx, eax
mov eax, ebx
sub al, cl
mul cl
mov ecx, eax
mov eax, ebx
sub al, cl
mul cl
xor al, bl
mov byte [r11 + r9], al
mov eax, dword [0x14053158c]
cmp eax, 0x59
jge 0x1400fb290
jmp 0x1400fb260
mov al, 9
xchg byte [0x1404c8550], al
mov al, 1
nop word cs:[rax + rax]
mov ecx, dword [0x140531588]
mov edx, ecx
not edx
imul edx, ecx
test dl, 1
jne 0x1400fb31b
cmp byte [0x1405315a4], 0
je 0x1400fb321
test al, al
je 0x1400fb300
jmp 0x1400fb312
lea rax, [0x1404c8540]
jmp 0x1400fb463
mov eax, dword [0x14053158c]
cmp eax, 0x32
jl 0x1400fb467
jmp 0x1400fb475
xor edx, edx
lea rax, [0x1404c8650]
lea rcx, [0x140400a70]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x16
jl 0x1400fb360
mov al, 0x5f
xchg byte [0x1404c8666], al
lea rax, [0x1404c8650]
jmp 0x1400fb463
mov eax, dword [0x140531588]
lea ecx, [rax + 1]
jmp 0x1400fb3a9
mov eax, dword [0x140531588]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400fb3a0
mov ecx, dword [0x140531588]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404d3e94]
mov r8d, ecx
neg r8d
add ecx, 0x9cb39ba6
xor edx, edx
div ecx
mov eax, r8d
xor eax, 0x634c645c
and r8d, 0x634c645c
lea eax, [rax + r8*2]
add eax, edx
jne 0x1400fb3a0
xor eax, eax
lea rcx, [0x1404c8740]
lea rdx, [0x140400b50]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xa
jg 0x1400fb418
inc rax
jmp 0x1400fb400
mov eax, 0x9cb39bb7
xor ecx, ecx
nop
mov edx, dword [0x14053158c]
mov r8d, dword [0x1404d3e94]
add r8d, eax
cmp edx, r8d
jge 0x1400fb439
test cl, cl
je 0x1400fb454
mov edx, dword [0x140531588]
mov r8d, 0xa01b8331
sub r8d, edx
imul r8d, edx
test r8b, 1
jne 0x1400fb420
jmp 0x1400fb435
mov al, 0x73
xchg byte [0x1404c874b], al
lea rax, [0x1404c8740]
pop rbx
pop rdi
pop rsi
ret
mov al, 0x1a
xchg byte [0x1404c86c6], al
xor eax, eax
test al, al
je 0x1400fb47f
mov al, 0x1a
xchg byte [0x1404c86c6], al
jmp 0x1400fb467
mov ecx, dword [0x140531588]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404d3e94]
lea r8d, [rcx - 0x634c645a]
xor edx, edx
div r8d
add ecx, 0x9cb39ba4
cmp edx, ecx
jne 0x1400fb4ad
mov al, 1
test al, al
jne 0x1400fb4b6
mov al, 1
nop
test al, al
je 0x1400fb4b0
jmp 0x1400fb4a7
lea rax, [0x1404c86c0]
jmp 0x1400fb463