Function at 0x1400fc200
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov esi, r9d
mov r14d, dword [rsp + 0x90]
test ecx, ecx
je 0x1400fc269
mov eax, r14d
not eax
mov ecx, r14d
xor ecx, 0xd732d64d
or eax, 0x28cd29b2
and eax, ecx
add eax, dword [0x1404d3e94]
cmp edx, eax
jne 0x1400fc343
movzx eax, byte [0x1404c86b3]
cmp al, 0x90
je 0x1400fc474
mov cl, 0xd6
nop
mov al, 0x80
lock cmpxchg byte [0x1404c86b3], cl
je 0x1400fc3c9
cmp al, 0x90
jne 0x1400fc250
jmp 0x1400fc474
mov r8d, esi
xor r8d, 0x264a354
mov eax, dword [0x1404c8834]
mov ecx, esi
neg ecx
mov r9d, ecx
xor r9d, 0x536d
and ecx, 0x536d
lea ecx, [r9 + rcx*2]
sub eax, ecx
mov ebp, r14d
xor ebp, 0xd732d64d
mov ecx, dword [0x1404d3e94]
add ecx, ebp
add ecx, eax
movsxd rax, ecx
add rax, qword [0x1404c8848]
mov ecx, edx
mov edx, r8d
call qword [case.0x1401138cb.0]
test al, 1
je 0x1400fc395
movzx eax, byte [0x1404c8673]
cmp al, 0xe3
je 0x1400fc543
mov r15b, 0x23
mov edi, esi
xor edi, 0x7fdbd2f0
xor r14d, 0xd732a2f8
nop word cs:[rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x1404c8673], r15b
mov ebx, eax
sete dl
mov eax, dword [0x1404d3e94]
lea ecx, [rax + r14]
add eax, ebp
mov r8d, esi
sub r8d, ecx
add r8d, eax
add r8d, dword [0x1404c8838]
movsxd rax, r8d
add rax, qword [0x1404c8850]
mov ecx, ebx
mov r8d, edi
call qword [case.0x1401138cb.0]
test al, 1
jne 0x1400fc480
cmp bl, 0xe3
jne 0x1400fc2f0
jmp 0x1400fc543
mov eax, r14d
xor eax, 0xd732a2f8
add eax, dword [0x1404d3e94]
mov ecx, esi
sub esi, eax
add esi, dword [0x1404c8830]
xor ecx, 0xef04ac71
movsxd rax, esi
add rax, qword [0x1404c8840]
call qword [case.0x1401138cb.0]
test al, 1
jne 0x1400fc460
mov cl, 0xb9
nop dword [rax + rax]
mov al, 0xab
lock cmpxchg byte [0x1404c8713], cl
je 0x1400fc3f8
cmp al, 0x1f
jne 0x1400fc380
jmp 0x1400fc460
movzx eax, byte [0x1404c86d5]
cmp al, 0x61
je 0x1400fc532
mov cl, 0x91
nop word cs:[rax + rax]
mov al, 0xb1
lock cmpxchg byte [0x1404c86d5], cl
je 0x1400fc4bc
cmp al, 0x61
jne 0x1400fc3b0
jmp 0x1400fc532
xor eax, eax
lea rcx, [0x1404c86b0]
lea rdx, [0x140400ac0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x1400fc46c
inc rax
jmp 0x1400fc3e0
xor edx, edx
lea rax, [0x1404c86f0]
lea rcx, [0x140400b00]
xor r14d, 0xd732d62e
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
mov r8d, dword [0x1404d3e94]
add r8d, r14d
cmp edx, r8d
jl 0x1400fc410
mov al, 0x1f
xchg byte [0x1404c8713], al
lea rax, [0x1404c86f0]
jmp 0x1400fc54a
mov al, 0x90
xchg byte [0x1404c86b3], al
lea rax, [0x1404c86b0]
jmp 0x1400fc54a
xor eax, eax
lea rcx, [0x1404c8670]
lea rdx, [0x140400a90]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x1400fc53b
inc rax
jmp 0x1400fc490
xor eax, eax
lea rbx, [0x1404c86d0]
lea r15, [0x140400ae0]
xor r14d, 0x4c12b29f
lea rdi, [rsp + 0x34]
nop dword [rax + rax]
movsxd r8, eax
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
add cl, byte [r8 + r15]
mov r9d, dword [0x1404d3e94]
add r9d, r14d
xor r9d, esi
mov eax, dword [0x1404c883c]
add eax, esi
add eax, 0xffffac93
cdqe
add rax, qword [0x1404c8858]
mov dword [rsp + 0x20], r9d
mov r9, rdi
call qword [case.0x1401138cb.0]
mov eax, dword [rsp + 0x34]
cmp eax, 5
jl 0x1400fc4e0
mov al, 0x61
xchg byte [0x1404c86d5], al
lea rax, [0x1404c86d0]
jmp 0x1400fc54a
mov al, 0xe3
xchg byte [0x1404c8673], al
lea rax, [0x1404c8670]
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret