Function at 0x1403a8ff0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
xor eax, eax
test al, al
nop word cs:[rax + rax]
xor eax, eax
test al, al
jne 0x1403a9000
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp ecx, eax
jne 0x1403a903c
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp edx, eax
jne 0x1403a90d5
mov eax, dword [0x1405926cc]
cmp eax, 0xc
jle 0x1403a92bf
jmp 0x1403a92d2
test edx, edx
je 0x1403a9154
movzx eax, byte [0x14057835d]
nop dword [rax + rax]
cmp al, 0x34
je 0x1403a90c9
movzx ecx, byte [0x1405794f4]
lea eax, [rcx + 0x2c]
add cl, 0x3e
lock cmpxchg byte [0x14057835d], cl
jne 0x1403a9050
xor edx, edx
lea rax, [0x140578350]
lea rcx, [0x140470ed0]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1405794f0]
add edx, r8d
add edx, 0xac65a43f
cmp edx, 0xd
jl 0x1403a9080
mov eax, dword [0x1405926c8]
nop word [rax + rax]
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403a90b0
mov al, 0x34
xchg byte [0x14057835d], al
lea rax, [0x140578350]
jmp 0x1403a93fd
movzx eax, byte [0x14057873f]
cmp al, 0xfe
je 0x1403a9400
mov cl, 0x16
xor edx, edx
jmp 0x1403a90fd
add r8b, 0x28
cmp al, r8b
je 0x1403a9400
mov al, 0x77
lock cmpxchg byte [0x14057873f], cl
je 0x1403a920c
nop dword [rax]
test dl, dl
jne 0x1403a913d
movzx r8d, byte [0x1405794f4]
mov r9d, dword [0x1405926c8]
mov r10d, dword [0x1405794f0]
neg r10d
add r10d, r9d
inc r10d
imul r10d, r9d
test r10b, 1
je 0x1403a90f0
mov r8d, dword [0x1405926c8]
lea r9d, [r8 + 1]
imul r9d, r8d
test r9b, 1
jne 0x1403a9110
jmp 0x1403a9114
mov eax, 0xac65a45d
nop dword [rax]
mov ecx, dword [0x1405926cc]
cmp ecx, 0xe
jg 0x1403a9187
movzx ecx, byte [0x140577eeb]
mov edx, dword [0x1405926cc]
mov r8d, dword [0x1405794f0]
add r8d, eax
cmp edx, r8d
jl 0x1403a91a1
movzx ecx, byte [0x140577eeb]
mov ecx, dword [0x1405926c8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1403a9160
jmp 0x1403a916b
cmp cl, 0x2f
je 0x1403a943e
mov cl, 0x31
xor edx, edx
nop
mov eax, dword [0x1405926c8]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1403a9200
nop word cs:[rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x140577eeb], cl
sete r8b
test dl, dl
jne 0x1403a9200
test r8b, r8b
jne 0x1403a92a5
cmp al, 0x2f
jne 0x1403a91b0
jmp 0x1403a943e
mov al, 0x2b
lock cmpxchg byte [0x140577eeb], cl
jmp 0x1403a91d0
mov eax, 1
mov edx, 0xffffffff
xor r8d, r8d
lea r9, [0x140578730]
lea r10, [0x140471260]
mov r11d, 0xac65a44d
nop dword [rax]
mov ecx, dword [0x1405926cc]
cmp ecx, 0x50
jg 0x1403a9270
nop dword [rax + rax]
movzx ecx, byte [r8 + r10]
xor byte [r8 + r9], cl
mov ecx, dword [0x1405794f0]
add ecx, r11d
mov esi, dword [0x1405926cc]
cmp esi, 0x12
jg 0x1403a9270
lea esi, [r8 + 1]
cmp esi, ecx
jge 0x1403a9291
dec eax
add edx, 2
inc r8
jmp 0x1403a9230
movzx ebx, byte [r8 + r9]
movzx ecx, byte [r8 + r10]
mov esi, ebx
shl sil, cl
mov ecx, esi
xor cl, sil
not cl
and cl, bl
xor cl, sil
mov byte [r8 + r9], cl
jmp 0x1403a9240
mov eax, dword [0x1405926cc]
cmp eax, 0x50
jg 0x1403a9420
jmp 0x1403a9409
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403a9450
jmp 0x1403a9447
movzx eax, byte [0x1405780cd]
cmp dword [0x1405794f0], 0x539a5bc2
je 0x1403a92db
movzx eax, byte [0x1405780cd]
jmp 0x1403a92bf
cmp al, 0x3c
je 0x1403a9300
mov cl, 0x49
nop word cs:[rax + rax]
mov al, 0xd1
lock cmpxchg byte [0x1405780cd], cl
je 0x1403a930c
cmp al, 0x3c
jne 0x1403a92f0
lea rax, [0x1405780c0]
jmp 0x1403a93fd
xor edx, edx
lea rax, [0x1405780c0]
lea rcx, [0x140470c50]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x1405794f0]
lea r9d, [r8 - 0x539a5bc1]
mov r10d, edx
xor r10d, r9d
and edx, r9d
lea edx, [r10 + rdx*2]
add r8d, 0xac65a44b
cmp edx, r8d
jl 0x1403a9320
mov eax, dword [0x1405926cc]
cmp eax, 0x33
jge 0x1403a9369
mov eax, dword [0x1405926cc]
cmp eax, 0x52
jl 0x1403a938e
mov eax, 0xac65a43f
lea rcx, [fcn.1403a8ff0]
add ecx, ecx
add ecx, 0x4480
nop dword [rax]
mov edx, dword [0x1405794f0]
add edx, eax
test ecx, edx
jne 0x1403a9380
jmp 0x1403a935e
lea rax, [fcn.1403a8ff0]
add eax, eax
add eax, 0x2620
mov ecx, eax
not ecx
mov dl, 1
nop word cs:[rax + rax]
mov r8d, dword [0x1405926c8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1403a93ed
movzx r8d, byte [0x1405794f4]
mov r9d, r8d
xor r9b, 0x66
and r8b, 0x66
add r8b, r8b
add r8b, r9b
xchg byte [0x1405780cd], r8b
test ecx, eax
je 0x1403a9300
mov r8b, 0x3c
xchg byte [0x1405780cd], r8b
test dl, dl
je 0x1403a93b0
jmp 0x1403a93c5
pop rbx
pop rsi
ret
lea rax, [0x140578730]
jmp 0x1403a93fd
mov eax, dword [0x1405926cc]
cmp eax, 0x49
jl 0x1403a942d
nop word cs:[rax + rax]
mov eax, dword [0x1405926cc]
cmp eax, 0x31
jge 0x1403a9420
jmp 0x1403a9409
movzx eax, byte [0x1405794f4]
add al, 0x28
xchg byte [0x14057873f], al
jmp 0x1403a9400
lea rax, [0x140577ee0]
jmp 0x1403a93fd
mov al, 1
test al, al
jne 0x1403a945d
nop dword [rax]
mov eax, dword [0x1405926cc]
cmp eax, 0x4b
jge 0x1403a9450
jmp 0x1403a9447
xor edx, edx
lea rax, [0x140577ee0]
lea rcx, [0x140470a90]
nop dword [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, 0xb
jl 0x1403a9470
mov al, 0x2f
xchg byte [0x140577eeb], al
jmp 0x1403a943e