Function at 0x1400a96f0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov esi, edx
mov edi, ecx
mov eax, dword [0x140563c9c]
cmp eax, 0x26
nop word cs:[rax + rax]
mov ecx, 0xfaebdc3a
mov edx, 0xaea4032f
call fcn.1400ac8c0
test al, 1
je 0x1400a9710
test edi, edi
je 0x1400a97f7
test esi, esi
je 0x1400a9879
mov ecx, 0x5f5eb993
mov edx, 0xd138ea8b
call fcn.1400ac4d0
test al, 1
jne 0x1400a99da
mov esi, 0xdab32405
mov bl, 0xbf
mov edi, 0xdab323d6
nop word cs:[rax + rax]
mov eax, dword [0x140563c9c]
mov ecx, dword [0x1404f14e8]
add ecx, esi
cmp eax, ecx
jge 0x1400a97af
nop word cs:[rax + rax]
mov al, 0x1b
lock cmpxchg byte [0x1404f0130], bl
mov ecx, eax
sete r8b
mov edx, dword [0x140563c98]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1404f14e8]
add r9d, edi
xor edx, edx
div r9d
test edx, edx
je 0x1400a97e0
mov al, 0x1b
lock cmpxchg byte [0x1404f0130], bl
sete dl
mov ecx, eax
mov r8d, 0xae0cc249
mov r9d, 0x9cf0a71d
call fcn.14008a080
jmp 0x1400a9780
test r8b, r8b
jne 0x1400a992e
cmp cl, 0x6b
jne 0x1400a9760
jmp 0x1400a99da
mov ecx, esi
mov edx, 0x55f48db8
mov r8d, 0xdd7423fc
call fcn.1400a9ce0
test al, 1
je 0x1400a98c9
movzx eax, byte [0x1404f022e]
movzx ecx, byte [0x1404f14d8]
add cl, 0xc8
cmp al, cl
je 0x1400a9a91
mov bl, 0x58
lea rsi, [rsp + 0x2e]
nop word cs:[rax + rax]
mov al, 0x4c
lock cmpxchg byte [0x1404f022e], bl
sete dl
mov dword [rsp + 0x20], 0x3d8eae8e
mov ecx, eax
mov r8, rsi
mov r9d, 0x76907e76
call fcn.1400ac800
test al, 1
jne 0x1400a9a35
cmp byte [rsp + 0x2e], 0x61
jne 0x1400a9840
jmp 0x1400a9a91
movzx eax, byte [0x1404f035d]
cmp al, 0xd6
je 0x1400a9a29
lea rsi, [rsp + 0x31]
nop dword [rax]
mov rcx, rsi
mov edx, 0xa47c6d51
mov r8d, 0xdfcaec0f
call fcn.1400ac780
test al, 1
jne 0x1400a99e6
movzx ecx, byte [rsp + 0x31]
mov edx, 0x235a3339
mov r8d, 0xafed6223
call fcn.1400ab100
test al, 1
je 0x1400a9890
jmp 0x1400a9a29
mov ecx, 0xf991729
mov edx, 0x4af6f3bc
call fcn.1400ac760
test al, 1
jne 0x1400a9bac
mov bl, 0x95
lea rsi, [rsp + 0x2f]
nop word [rax + rax]
mov al, 0x84
lock cmpxchg byte [0x1404f0313], bl
sete dil
sete dl
mov dword [rsp + 0x20], 0xa3e6591b
mov ecx, eax
mov r8, rsi
mov r9d, 0x4976a96e
call fcn.1400ac510
test dil, dil
jne 0x1400a9a9d
cmp byte [rsp + 0x2f], 0x9b
jne 0x1400a98f0
jmp 0x1400a9bac
xor ebx, ebx
lea rsi, [rsp + 0x32]
lea rdi, [rsp + 0x33]
lea r14, [0x1404f0120]
nop word cs:[rax + rax]
mov eax, dword [0x1404f14e8]
lea r9d, [rax - 0x64c5bf1d]
add eax, 0xc12421d7
mov dword [rsp + 0x20], eax
mov ecx, ebx
mov rdx, rsi
mov r8, rdi
call fcn.1400ac4f0
movzx eax, byte [rsp + 0x32]
xor al, byte [rsp + 0x33]
movsxd rcx, ebx
mov byte [rcx + r14], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea ebx, [rax + rcx*2]
cmp ebx, 0x10
jl 0x1400a9950
mov eax, dword [0x140563c98]
nop dword [rax]
mov eax, dword [0x140563c9c]
cmp eax, 0x1f
jg 0x1400a99a0
mov eax, dword [0x140563c9c]
nop word cs:[rax + rax]
mov eax, dword [0x140563c9c]
cmp eax, 0x24
jg 0x1400a99c0
mov ecx, 0xeabbc812
mov edx, 0x7f94f49c
call fcn.1400ac5a0
lea rax, [0x1404f0120]
jmp 0x1400a9bb3
xor edx, edx
lea rax, [0x1404f0350]
lea rcx, [0x140426a70]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x1404f14e8]
add edx, r8d
add edx, 0xdab323d5
cmp edx, 0xd
jl 0x1400a9a00
mov al, 0xd6
xchg byte [0x1404f035d], al
lea rax, [0x1404f0350]
jmp 0x1400a9bb3
xor eax, eax
lea rsi, [0x1404f0220]
lea rdi, [0x140426940]
mov ebx, 0xdab323d5
nop word [rax + rax]
movsxd r14, eax
lea rdx, [rsi + r14]
movzx ecx, byte [r14 + rsi]
xor cl, byte [r14 + rdi]
mov r8d, 0xf588d0d
mov r9d, 0x4a9dce4a
call fcn.1400ab0f0
mov eax, dword [0x1404f14e8]
add eax, ebx
mov ecx, r14d
xor ecx, eax
and eax, r14d
lea eax, [rcx + rax*2]
cmp eax, 0xe
jl 0x1400a9a50
mov al, 0x61
xchg byte [0x1404f022e], al
lea rax, [0x1404f0220]
jmp 0x1400a9bb3
xor esi, esi
lea rbx, [0x1404f0300]
lea rdi, [rsp + 0x30]
nop dword [rax + rax]
movzx edx, byte [rsi + rbx]
mov dword [rsp + 0x20], 0x150d1f2
mov ecx, esi
mov r8, rdi
mov r9d, 0x9b7c1bf0
call fcn.1400ac910
movzx eax, byte [rsp + 0x30]
mov byte [rsi + rbx], al
lea eax, [rsi + 1]
cmp eax, 0x12
jg 0x1400a9ae1
inc rsi
jmp 0x1400a9ab0
xor edi, edi
lea rsi, [rsp + 0x34]
nop dword [rax + rax]
test dil, dil
jne 0x1400a9b1b
mov ecx, dword [0x140563c98]
lea edx, [rcx - 1]
mov dword [rsp + 0x20], 0x32c043b
mov r8, rsi
mov r9d, 0xa1533b9b
call fcn.1400ad9a0
cmp dword [rsp + 0x34], 0
je 0x1400a9b40
mov eax, dword [0x140563c98]
mov ecx, dword [0x1404f14e8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1400a9af0
jmp 0x1400a9af5
mov eax, dword [0x140563c9c]
cmp eax, 0x14
jle 0x1400a9b99
nop dword [rax + rax]
movzx eax, byte [0x1404f14d8]
mov ecx, eax
xor cl, 2
and al, 2
add al, al
add al, cl
xchg byte [0x1404f0313], al
mov ecx, dword [0x140563c98]
mov r8d, dword [0x1404f14e8]
mov eax, ecx
sub eax, r8d
add eax, 0x254cdc2b
imul eax, ecx
lea ecx, [r8 - 0x254cdc2a]
xor edx, edx
div ecx
add r8d, 0xdab323d4
cmp edx, r8d
jne 0x1400a9b40
mov al, 0x9b
xchg byte [0x1404f0313], al
mov eax, dword [0x140563c9c]
cmp eax, 0x48
jg 0x1400a9b50
lea rax, [0x1404f0300]
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret