Function at 0x1403f5b30
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
mov eax, 0xac65a43e
mov r8d, dword [0x1405bc3b8]
add r8d, eax
cmp ecx, r8d
jne 0x1403f5c37
add eax, dword [0x1405bc3b8]
cmp edx, eax
jne 0x1403f5c69
movzx eax, byte [0x1405baefa]
nop
cmp al, 1
je 0x1403f5c2b
movzx ecx, byte [0x1405bc3bc]
mov eax, ecx
not al
mov edx, ecx
xor dl, 1
and al, 0xfe
or dl, al
not dl
or dl, al
mov eax, ecx
and al, 0x7e
add al, al
add al, dl
add cl, 0xda
mov edx, ecx
xor dl, 0xb9
and cl, 0x39
add cl, cl
add cl, dl
lock cmpxchg byte [0x1405baefa], cl
jne 0x1403f5b60
xor edx, edx
lea rax, [0x1405baef0]
lea rcx, [0x1404b0b90]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
not r10b
not r9b
mov r11d, r10d
xor r11b, r9b
and r11b, r10b
and r9b, r8b
or r9b, r11b
mov byte [rdx + rax], r9b
mov r8d, edx
xor r8d, 1
not edx
mov r9d, edx
and r9d, 0x7ffffffe
or r9d, r8d
not r9d
add r9d, r9d
and edx, r9d
not r9d
mov r10d, r8d
and r10d, r9d
or r10d, edx
xor r9d, r8d
and r9d, r8d
lea edx, [r10 + r9*2]
cmp edx, 0xa
jl 0x1403f5bc0
mov al, 1
xchg byte [0x1405baefa], al
lea rax, [0x1405baef0]
jmp 0x1403f5e47
test edx, edx
je 0x1403f5c99
movzx eax, byte [0x1405bb642]
cmp al, 0x56
je 0x1403f5d98
mov cl, 0xce
nop dword [rax]
mov al, 0xc9
lock cmpxchg byte [0x1405bb642], cl
je 0x1403f5d3d
cmp al, 0x56
jne 0x1403f5c50
jmp 0x1403f5d98
movzx eax, byte [0x1405bb4f0]
cmp al, 0xe5
je 0x1403f5e2f
mov cl, 0x25
nop word [rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x1405bb4f0], cl
je 0x1403f5da4
cmp al, 0xe5
jne 0x1403f5c80
jmp 0x1403f5e2f
movzx eax, byte [0x1405bb380]
cmp al, 0xd9
je 0x1403f5e40
movzx ecx, byte [0x1405bc3bc]
lea eax, [rcx - 0x67]
mov edx, ecx
xor dl, 0x87
and cl, 7
add cl, cl
add cl, dl
lock cmpxchg byte [0x1405bb380], cl
jne 0x1403f5ca0
xor eax, eax
lea rcx, [0x1405bb370]
lea rdx, [0x1404b0ff0]
mov r8d, 0xac65a44e
nop
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r10d
not r11b
mov ebx, r10d
xor bl, r9b
and bl, r10b
mov esi, r11d
xor sil, r10b
and sil, r9b
xor sil, r10b
and sil, r11b
mov r9d, esi
xor r9b, sil
not r9b
and r9b, bl
and bl, sil
xor r9b, sil
or r9b, bl
mov byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x1405bc3b8]
add r10d, r8d
cmp r9d, r10d
jge 0x1403f5e38
inc rax
jmp 0x1403f5ce0
xor edx, edx
lea rax, [0x1405bb640]
lea rcx, [0x1404b1280]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1405bc3b8]
mov r9d, r8d
xor r9d, 0x637864b2
mov r10d, r8d
and r10d, 0x637864b2
lea r9d, [r9 + r10*2]
add edx, r9d
add edx, 0x48ed3f8d
add r8d, 0xac65a440
cmp edx, r8d
jl 0x1403f5d50
mov al, 0x56
xchg byte [0x1405bb642], al
lea rax, [0x1405bb640]
jmp 0x1403f5e47
xor edx, edx
lea rax, [0x1405bb4e0]
lea rcx, [0x1404b1130]
nop word cs:[rax + rax]
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, dword [0x1405bc3b8]
mov r9d, 0x8f7917a8
sub r9d, edx
mov edx, 0x539a5bc1
sub edx, r8d
mov r10d, r9d
xor r10d, edx
and edx, r9d
lea edx, [r10 + rdx*2]
neg edx
mov r9d, edx
xor r9d, 0x8f7917a8
and edx, 0xf7917a8
lea edx, [r9 + rdx*2]
add r8d, 0xac65a44e
cmp edx, r8d
jl 0x1403f5dc0
mov al, 0xe5
xchg byte [0x1405bb4f0], al
lea rax, [0x1405bb4e0]
jmp 0x1403f5e47
mov al, 0xd9
xchg byte [0x1405bb380], al
lea rax, [0x1405bb370]
pop rbx
pop rsi
ret