Function at 0x1403f0960
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, 0xac65a43e
add eax, dword [0x1405bc3b8]
cmp ecx, eax
jne 0x1403f0a12
test edx, edx
je 0x1403f0a69
movzx eax, byte [0x1405bb3e5]
cmp al, 0x4a
je 0x1403f0bf0
mov cl, 0x52
lea rdx, [fcn.1403f0960]
lea r8d, [rdx + rdx]
add r8d, 0x36e0
mov r9d, r8d
not r9d
mov r10d, 0xac65a43f
mov r11b, 1
jmp 0x1403f09d2
movzx ebx, byte [0x1405bc3bc]
add bl, 0xf6
cmp al, bl
je 0x1403f0bf0
mov al, 0xc6
lock cmpxchg byte [0x1405bb3e5], cl
je 0x1403f0b81
nop word cs:[rax + rax]
test r9d, r8d
jne 0x1403f0a0b
mov esi, dword [0x1405bc3b8]
add esi, r10d
lea edi, [rdx + rdx]
add edi, 0x200
test edi, esi
je 0x1403f09c0
test r11b, r11b
je 0x1403f09f0
jmp 0x1403f09f5
xor eax, eax
mov cl, 1
nop word cs:[rax + rax]
test al, al
jne 0x1403f0a28
test al, al
je 0x1403f0a2e
test cl, cl
je 0x1403f0a20
jmp 0x1403f0a24
test edx, edx
je 0x1403f0a99
movzx eax, byte [0x1405bb622]
movzx ecx, byte [0x1405bc3bc]
add cl, 0xae
cmp al, cl
je 0x1403f0c04
mov cl, 5
nop dword [rax]
mov al, 0x67
lock cmpxchg byte [0x1405bb622], cl
je 0x1403f0bb8
cmp al, 2
jne 0x1403f0a50
jmp 0x1403f0c04
movzx eax, byte [0x1405bad64]
cmp al, 0xc2
je 0x1403f0d07
mov cl, 0x80
nop word [rax + rax]
mov al, 0x75
lock cmpxchg byte [0x1405bad64], cl
je 0x1403f0c10
cmp al, 0xc2
jne 0x1403f0a80
jmp 0x1403f0d07
movzx eax, byte [0x1405bb3a7]
cmp al, 0x43
je 0x1403f0d45
xor r8d, r8d
mov r9b, 0x74
mov r10d, 0xac65a43e
jmp 0x1403f0ac9
cmp cl, 0x43
je 0x1403f0d45
test r8b, r8b
jne 0x1403f0b10
mov al, 0x99
lock cmpxchg byte [0x1405bb3a7], r9b
mov ecx, eax
sete al
mov edx, dword [0x1405d4030]
lea r11d, [rdx - 1]
imul r11d, edx
and r11d, 1
mov edx, dword [0x1405bc3b8]
add edx, r10d
cmp r11d, edx
jne 0x1403f0b10
test al, al
jne 0x1403f0c48
test r8b, r8b
jne 0x1403f0b50
jmp 0x1403f0b30
mov al, 0x99
lock cmpxchg byte [0x1405bb3a7], r9b
mov eax, dword [0x1405d4034]
cmp eax, 0x28
jge 0x1403f0ac9
jmp 0x1403f0ace
mov eax, dword [0x1405d4030]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
mov eax, dword [0x1405bc3b8]
add eax, r10d
cmp edx, eax
je 0x1403f0ac0
mov edx, dword [0x1405d4030]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1405bc3b8]
mov r11d, edx
xor r11d, 0xac65a440
and edx, 0x2c65a440
lea r11d, [r11 + rdx*2]
xor edx, edx
div r11d
test edx, edx
jne 0x1403f0b50
jmp 0x1403f0b30
xor eax, eax
lea rcx, [0x1405bb3e0]
lea rdx, [0x1404b1050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 4
jg 0x1403f0be8
inc rax
jmp 0x1403f0ba0
xor eax, eax
lea rcx, [0x1405bb620]
lea rdx, [0x1404b1260]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 1
jg 0x1403f0bfc
inc rax
jmp 0x1403f0bd0
mov al, 0x4a
xchg byte [0x1405bb3e5], al
lea rax, [0x1405bb3e0]
jmp 0x1403f0d0e
mov al, 2
xchg byte [0x1405bb622], al
lea rax, [0x1405bb620]
jmp 0x1403f0d0e
xor eax, eax
lea rcx, [0x1405bad60]
lea rdx, [0x1404b0a10]
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, 3
jg 0x1403f0cb0
inc rax
jmp 0x1403f0c20
mov eax, dword [0x1405d4030]
xor eax, eax
test al, al
jne 0x1403f0c50
xor eax, eax
lea rcx, [0x1405bb3a0]
lea rdx, [0x1404b1010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
not r10b
mov r11d, r10d
xor r11b, r9b
not r9b
mov ebx, r8d
and bl, r9b
or bl, r11b
not bl
xor r9b, r10b
and r9b, r8b
or r9b, bl
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x1403f0cc7
inc rax
jmp 0x1403f0c70
mov eax, dword [0x1405d4034]
mov ecx, 0xac65a453
add ecx, dword [0x1405bc3b8]
cmp eax, ecx
jl 0x1403f0cd4
jmp 0x1403f0cfd
mov eax, dword [0x1405d4034]
cmp eax, 0x5f
jge 0x1403f0d30
jmp 0x1403f0d12
movzx eax, byte [0x1405bc3bc]
mov ecx, eax
xor cl, 0x6e
and al, 0x6e
add al, al
add al, cl
xchg byte [0x1405bad64], al
mov eax, dword [0x1405d4030]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403f0d07
mov al, 0xc2
xchg byte [0x1405bad64], al
jmp 0x1403f0cd4
lea rax, [0x1405bad60]
pop rbx
pop rdi
pop rsi
ret
mov al, 0x43
xchg byte [0x1405bb3a7], al
mov eax, dword [0x1405d4034]
cmp eax, 0x56
jl 0x1403f0d45
nop word cs:[rax + rax]
mov al, 0x43
xchg byte [0x1405bb3a7], al
mov eax, dword [0x1405d4034]
cmp eax, 0x43
jge 0x1403f0d30
jmp 0x1403f0d12
lea rax, [0x1405bb3a0]
jmp 0x1403f0d0e