Function at 0x1403f5e80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, r9d
mov eax, 0xac65a43e
add eax, dword [0x1405bc3b8]
cmp ecx, eax
jne 0x1403f5f64
test edx, edx
je 0x1403f5fb8
mov ecx, esi
xor ecx, 0x6ffb02b9
mov eax, dword [0x1405bc3b8]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xc952082d
mov r9d, edx
and r9d, 0x36adf7d2
or r9d, r8d
xor eax, 0x36adf7d2
and edx, 0x4952082d
or edx, eax
not edx
lea edx, [r9 + rdx*2]
call fcn.1403f8160
test al, 1
jne 0x1403f6090
mov r14b, 0x7f
mov edi, esi
xor edi, 0xb7002527
mov eax, esi
not eax
mov ebx, esi
xor ebx, 0x9bcad615
and eax, 0x643529ea
or ebx, eax
not ebx
or ebx, eax
mov r15d, 0x8171217b
nop dword [rax]
mov al, 0xb0
lock cmpxchg byte [0x1405bada8], r14b
mov ebp, eax
sete dl
mov ecx, eax
mov r8d, edi
mov r9d, 0x8f1da02b
call fcn.140214e30
test al, 1
jne 0x1403f603b
mov r8d, dword [0x1405bc3b8]
add r8d, r15d
mov ecx, ebp
mov edx, ebx
call fcn.1403a2450
test al, 1
je 0x1403f5f20
jmp 0x1403f6090
test edx, edx
je 0x1403f5fe9
movzx eax, byte [0x1405bb755]
cmp al, 0x27
je 0x1403f6103
mov bl, 0xd3
mov edi, esi
xor edi, 0xc1ba7303
nop word cs:[rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x1405bb755], bl
je 0x1403f609c
mov ecx, eax
mov edx, edi
mov r8d, 0xf5cbdcfc
call fcn.1403f8110
test al, 1
je 0x1403f5f90
jmp 0x1403f6103
movzx eax, byte [0x1405bb632]
cmp al, 0x20
je 0x1403f61a9
mov cl, 0xc6
nop dword [rax]
mov al, 3
lock cmpxchg byte [0x1405bb632], cl
je 0x1403f610f
cmp al, 0x20
jne 0x1403f5fd0
jmp 0x1403f61a9
movzx eax, byte [0x1405bb065]
cmp al, 0xe6
je 0x1403f6242
mov edi, esi
xor edi, 0xf454e9bd
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3f]
nop word [rax + rax]
mov rcx, rbx
mov rdx, r14
mov r8d, edi
mov r9d, 0xba2551d9
call fcn.1403f8050
cmp byte [rsp + 0x41], 0
jne 0x1403f61b5
cmp byte [rsp + 0x3f], 0xe6
jne 0x1403f6010
jmp 0x1403f6242
xor edi, edi
lea rbx, [0x1405bada0]
lea r14, [0x1404b0a50]
mov ebp, 0xbf56ac04
movsxd rax, edi
movzx ecx, byte [rax + r14]
add byte [rax + rbx], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea edi, [rcx + rax*2]
mov edx, dword [0x1405bc3b8]
add edx, ebp
xor edx, esi
mov ecx, edi
mov r8d, 0xcbfc25ac
call fcn.1403f7680
test al, 1
je 0x1403f6050
movzx eax, byte [0x1405bc3bc]
add al, 0xcc
xchg byte [0x1405bada8], al
lea rax, [0x1405bada0]
jmp 0x1403f6249
mov edi, 1
mov eax, esi
not eax
mov ebx, esi
xor ebx, 0xfbc7358
mov ecx, eax
and ecx, 0xf0438ca7
or ebx, ecx
not ebx
or ebx, ecx
and eax, 0x164fcb9e
and esi, 0xe9b03461
or esi, eax
mov ebp, 0xa9e199e1
nop dword [rax]
lea ecx, [rdi - 1]
mov edx, ebx
mov r8d, 0xeb6c5ef9
call fcn.1403f7930
mov r8d, dword [0x1405bc3b8]
add r8d, ebp
mov ecx, edi
mov edx, esi
call fcn.1403f78f0
test al, 1
jne 0x1403f60fb
inc edi
jmp 0x1403f60d0
mov al, 0x27
xchg byte [0x1405bb755], al
lea rax, [0x1405bb750]
jmp 0x1403f6249
xor eax, eax
lea r14, [0x1405bb630]
lea r15, [0x1404b1270]
mov ebp, 0x8b4d7f66
lea r12, [rsp + 0x40]
lea rdi, [rsp + 0x3f]
nop
movsxd rbx, eax
movzx ecx, byte [rbx + r14]
movzx edx, byte [rbx + r15]
mov eax, dword [0x1405bc3b8]
add eax, ebp
mov r8d, eax
xor r8d, eax
not r8d
and r8d, esi
xor r8d, eax
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x30], 0x95f06161
mov r8d, ebx
mov r9, rdi
call fcn.1402ca770
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r14], al
mov ecx, dword [0x1405bc3b8]
lea eax, [rcx + rbx]
add eax, 0xac65a43f
add ecx, 0xac65a440
cmp eax, ecx
jl 0x1403f6130
xor esi, 0xfdcfbc02
mov ecx, esi
mov edx, 0x7ab03ed7
call fcn.1403f7590
lea rax, [0x1405bb630]
jmp 0x1403f6249
xor eax, eax
lea r15, [0x1405bb050]
lea r12, [0x1404b0ce0]
mov edi, esi
xor edi, 0x508f5554
lea rbx, [rsp + 0x40]
nop word cs:[rax + rax]
movsxd r14, eax
movzx eax, byte [r14 + r12]
mov ebp, eax
xor bpl, al
not bpl
and bpl, byte [r14 + r15]
xor bpl, al
mov ecx, r14d
mov rdx, rbx
mov r8d, edi
mov r9d, 0xf2948b7c
call fcn.1403f8030
mov rax, qword [rsp + 0x40]
mov byte [rax], bpl
mov eax, r14d
xor eax, 0xf914a7dd
and r14d, 0x7914a7dd
lea eax, [rax + r14*2]
add eax, 0x6eb5824
cmp eax, 0x15
jl 0x1403f61e0
xor esi, 0xa584d868
mov ecx, esi
mov edx, 0x32a3165e
call fcn.1403f7670
lea rax, [0x1405bb050]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret