Function at 0x1401bece0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov eax, dword [0x14051d68c]
cmp eax, 0x51
mov eax, dword [0x14051d68c]
mov r8d, 0xa658d53c
add r8d, dword [0x1404d38c0]
cmp eax, r8d
jge 0x1401becf0
test ecx, ecx
je 0x1401bed37
xor eax, eax
sub eax, dword [0x1404d38c0]
mov ecx, eax
xor ecx, 0x59a72ad3
and eax, 0x59a72ad3
lea eax, [rcx + rax*2]
add edx, eax
jne 0x1401bed73
xor eax, eax
test al, al
jne 0x1401bf0da
jmp 0x1401bf0a9
test edx, edx
je 0x1401bedf1
movzx eax, byte [0x1404d36a6]
cmp al, 0xf8
je 0x1401bf001
mov cl, 0xfd
mov al, 0x8f
lock cmpxchg byte [0x1404d36a6], cl
je 0x1401bef6f
movzx edx, byte [0x1404d38d0]
add dl, 0x70
cmp al, dl
jne 0x1401bed50
jmp 0x1401bf001
movzx eax, byte [0x1404d3776]
cmp al, 0xcd
je 0x1401bef63
mov bl, 0xb0
xor edi, edi
lea rsi, [0x1401bf1e0]
nop dword [rax]
mov eax, dword [0x14051d68c]
cmp eax, 0x55
jg 0x1401bedad
mov al, 0x74
lock cmpxchg byte [0x1404d3776], bl
sete cl
test dil, dil
je 0x1401bede0
mov al, 0x74
lock cmpxchg byte [0x1404d3776], bl
mov ecx, 0x47
call fcn.140388cb4
mov qword [0x14051d670], rax
mov rcx, rsi
call fcn.1403a90a0
mov eax, dword [0x14051d68c]
cmp eax, 0x30
jge 0x1401bed90
jmp 0x1401bed9b
test cl, cl
jne 0x1401beea0
cmp al, 0xcd
jne 0x1401bed90
jmp 0x1401bef63
lea rsi, [0x1401bf1c0]
nop dword [rax + rax]
mov eax, dword [0x14051d688]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401bee23
movzx eax, byte [0x1404d3602]
mov ecx, dword [0x14051d68c]
cmp ecx, 0x40
jle 0x1401bee90
mov ecx, 0x4a
call fcn.140388cb4
mov qword [0x14051d668], rax
mov rcx, rsi
call fcn.1403a90a0
movzx eax, byte [0x1404d3602]
mov eax, dword [0x14051d688]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401bee00
jmp 0x1401bee11
movzx ecx, byte [0x1404d38d0]
mov edx, ecx
xor dl, 0x6a
mov eax, ecx
and al, 0x6a
add al, al
mov r8d, edx
xor r8b, al
and al, dl
add al, al
add al, r8b
add cl, 0xd8
lock cmpxchg byte [0x1404d3602], cl
je 0x1401bef7e
cmp al, 0x50
jne 0x1401bee60
lea rax, [0x1404d3600]
jmp 0x1401beff9
xor r9d, r9d
lea r10, [0x1404d3770]
lea r11, [0x1403f3980]
xor esi, esi
test r9b, r9b
jne 0x1401beeda
nop dword [rax + rax]
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
mov eax, dword [0x14051d688]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401bef30
movzx ecx, byte [rsi + r10]
movzx r8d, byte [rsi + r11]
mov eax, ecx
neg al
mul r8b
mov edx, eax
sub cl, r8b
lea r8d, [rdx + rcx]
mov eax, ecx
mul dl
mov ecx, eax
sub r8b, al
mov eax, r8d
mul cl
sub cl, al
mov edx, eax
shl dl, cl
mov ecx, edx
shl al, cl
mov r8d, edx
sub r8b, al
mov ebx, r8d
shl bl, cl
sub r8b, bl
mov eax, r8d
mul bl
add al, bl
mov byte [rsi + r10], al
jmp 0x1401beec0
lea eax, [rsi + 1]
cmp eax, 5
jg 0x1401bef50
inc rsi
test r9b, r9b
je 0x1401beec0
jmp 0x1401beeda
mov eax, dword [0x14051d68c]
cmp eax, 0xb
jg 0x1401bef50
mov al, 0xcd
xchg byte [0x1404d3776], al
lea rax, [0x1404d3770]
jmp 0x1401beff9
xor eax, eax
test al, al
je 0x1401bf00a
jmp 0x1401bf015
xor eax, eax
lea rcx, [0x1404d3600]
lea rdx, [0x1403f3840]
nop
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, 1
jg 0x1401befb8
inc rax
jmp 0x1401bef90
xor eax, eax
nop word [rax + rax]
mov ecx, dword [0x14051d68c]
cmp ecx, 0x44
jle 0x1401befe8
mov cl, 0x50
xchg byte [0x1404d3602], cl
mov ecx, dword [0x14051d688]
mov edx, 1
sub edx, ecx
imul edx, ecx
test dl, 1
jne 0x1401befc0
mov cl, 0x50
xchg byte [0x1404d3602], cl
test al, al
jne 0x1401befcb
jmp 0x1401bee94
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea rax, [0x1404d3690]
jmp 0x1401beff9
mov eax, dword [0x14051d68c]
cmp eax, 0xd
jl 0x1401bf041
mov ecx, 0xa658d52f
nop word [rax + rax]
mov edx, dword [0x14051d688]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1404d38c0]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x1401bf020
jmp 0x1401bf00a
xor r8d, r8d
lea rax, [0x1404d3690]
lea rcx, [0x1403f38c0]
mov edx, 0xa658d543
nop word [rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
xor byte [r8 + rax], r9b
mov r9d, r8d
xor r9d, 0x7ffffffe
and r9d, r8d
xor r8d, 1
add r9d, r9d
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
mov r9d, dword [0x1404d38c0]
add r9d, edx
cmp r8d, r9d
jl 0x1401bf060
mov al, 0xf8
xchg byte [0x1404d36a6], al
jmp 0x1401bf001
movzx ecx, byte [0x1404d3710]
mov edx, dword [0x14051d688]
mov r8d, dword [0x1404d38c0]
mov eax, edx
sub eax, r8d
add eax, 0x59a72ad2
imul eax, edx
add r8d, 0xa658d52f
xor edx, edx
div r8d
test edx, edx
je 0x1401bf0e3
movzx eax, byte [0x1404d3710]
jmp 0x1401bf0a9
cmp cl, 0xe8
je 0x1401bf1b0
mov r8b, 7
jmp 0x1401bf109
cmp cl, 0xe8
je 0x1401bf1b0
mov al, 0x64
lock cmpxchg byte [0x1404d3710], r8b
je 0x1401bf169
mov ecx, eax
nop dword [rax + rax]
mov eax, dword [0x14051d68c]
cmp eax, 0x4c
jg 0x1401bf13c
mov eax, dword [0x14051d688]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401bf100
mov edx, dword [0x14051d688]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1404d38c0]
lea r10d, [r9 - 0x59a72ad1]
xor edx, edx
div r10d
add r9d, 0xa658d52d
cmp edx, r9d
jne 0x1401bf120
jmp 0x1401bf12b
xor eax, eax
lea rcx, [0x1404d3700]
lea rdx, [0x1403f3930]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x1401bf198
inc rax
jmp 0x1401bf180
movzx eax, byte [0x1404d38d0]
mov ecx, eax
xor cl, 0x60
and al, 0x60
add al, al
add al, cl
xchg byte [0x1404d3710], al
lea rax, [0x1404d3700]
jmp 0x1401beff9