Function at 0x1403bf650
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, edx
test ecx, ecx
je 0x1403bf699
test r8d, r8d
je 0x1403bf70f
movzx eax, byte [0x14057c28f]
cmp al, 0x22
je 0x1403bf865
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0xcc
lock cmpxchg byte [0x14057c28f], cl
je 0x1403bf7f3
cmp al, 0x22
jne 0x1403bf680
jmp 0x1403bf865
mov ecx, 0xf74f8e84
mov r9d, 0xf74f8e86
mov r10b, 1
nop word [rax + rax]
mov eax, dword [0x1405927d4]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
mov eax, dword [0x14057c2ac]
add eax, ecx
cmp edx, eax
jne 0x1403bf6ea
mov edx, dword [0x1405927d4]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x14057c2ac]
add r11d, r9d
xor edx, edx
div r11d
test edx, edx
je 0x1403bf6f1
test r10b, r10b
je 0x1403bf6b0
jmp 0x1403bf6cb
test r8d, r8d
je 0x1403bf7b7
cmp dword [0x14057c2ac], 0x8b0717c
je 0x1403bfa66
jmp 0x1403bfa97
movzx eax, byte [0x14057c299]
cmp al, 0xc2
je 0x1403bf910
mov ecx, 0xf74f8e84
mov dl, 1
jmp 0x1403bf738
cmp al, 0xc2
je 0x1403bf910
movzx r8d, byte [0x14057c2a8]
mov r9d, r8d
xor r9b, 0x4b
mov eax, r8d
and al, 0x4b
add al, al
add al, r9b
add r8b, 0x67
lock cmpxchg byte [0x14057c299], r8b
je 0x1403bf871
mov r8d, dword [0x1405927d4]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x14057c2ac]
add r8d, ecx
cmp r9d, r8d
jne 0x1403bf7a0
nop word cs:[rax + rax]
test dl, dl
jne 0x1403bf730
nop word cs:[rax + rax]
mov r8d, dword [0x1405927d4]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1403bf7a0
jmp 0x1403bf790
movzx eax, byte [0x14057c1ad]
cmp al, 0x7d
je 0x1403bfa3a
mov cl, 0x2a
nop dword [rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x14057c1ad], cl
je 0x1403bf934
movzx edx, byte [0x14057c2a8]
add dl, 0x35
cmp al, dl
jne 0x1403bf7d0
jmp 0x1403bfa3a
xor eax, eax
lea rcx, [0x14057c280]
lea rdx, [0x140472510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xe
jg 0x1403bf830
inc rax
jmp 0x1403bf810
mov eax, dword [0x1405927d8]
cmp eax, 0x56
jle 0x1403bf84c
mov eax, dword [0x1405927d4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403bf830
mov eax, dword [0x1405927d4]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1403bf83b
mov al, 0x22
xchg byte [0x14057c28f], al
lea rax, [0x14057c280]
jmp 0x1403bfa41
xor eax, eax
lea rcx, [0x14057c290]
lea rdx, [0x140472520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1403bf8a8
inc rax
jmp 0x1403bf890
mov ecx, 0xf74f8ec2
nop dword [rax]
mov edx, dword [0x1405927d4]
mov r8d, dword [0x14057c2ac]
mov eax, edx
sub eax, r8d
add eax, 0x8b0717b
imul eax, edx
add r8d, 0xf74f8e86
xor edx, edx
div r8d
test edx, edx
jne 0x1403bf8ec
mov eax, dword [0x1405927d8]
mov edx, dword [0x14057c2ac]
add edx, ecx
cmp eax, edx
jl 0x1403bf8f9
mov eax, dword [0x1405927d8]
cmp eax, 0x5c
jge 0x1403bf8b0
jmp 0x1403bf8da
mov al, 0xc2
xchg byte [0x14057c299], al
nop word cs:[rax + rax]
mov eax, dword [0x1405927d4]
mov ecx, dword [0x14057c2ac]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1403bf910
lea rax, [0x14057c290]
jmp 0x1403bfa41
xor r8d, r8d
lea r9, [0x14057c1a0]
lea r10, [0x140472430]
xor r11d, r11d
xor esi, esi
xor edi, edi
xor ebx, ebx
nop
mov eax, dword [0x1405927d4]
mov ecx, dword [0x14057c2ac]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1403bf9a0
nop word [rax + rax]
movzx eax, byte [rbx + r10]
xor byte [rbx + r9], al
test r8b, r8b
jne 0x1403bf9a0
lea eax, [rbx + 1]
cmp eax, 0xc
jg 0x1403bf9e0
inc rbx
add edi, 2
add esi, 0xfffffffe
add r11d, 4
jmp 0x1403bf950
movzx eax, byte [rbx + r9]
movzx edx, byte [rbx + r10]
sub al, dl
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
sub dl, al
mov ecx, edx
shl al, cl
movzx ecx, byte [0x14057c2a8]
sub cl, al
add cl, dl
add cl, 0xb8
mov edx, ecx
xor dl, cl
not dl
and dl, al
xor dl, cl
mov byte [rbx + r9], dl
jmp 0x1403bf970
mov eax, dword [0x1405927d4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403bfa50
jmp 0x1403bfa45
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1403bfa0f
mov ecx, dword [0x1405927d8]
cmp ecx, 0x29
jle 0x1403bfa22
mov ecx, dword [0x1405927d4]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1403bfa00
jmp 0x1403bfa04
movzx eax, byte [0x14057c2a8]
mov ecx, eax
xor cl, 0x35
and al, 0x35
add al, al
add al, cl
xchg byte [0x14057c1ad], al
lea rax, [0x14057c1a0]
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x1405927d8]
cmp eax, 0x18
jl 0x1403bf9f3
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x1403bfa60
jmp 0x1403bfa45
movzx eax, byte [0x14057c23a]
mov ecx, dword [0x14057c2ac]
mov edx, ecx
xor edx, 0xf74f8e85
and ecx, 0x774f8e85
lea ecx, [rdx + rcx*2]
lea rdx, [fcn.1403bf650]
add edx, edx
add edx, 0x4c20
test edx, ecx
je 0x1403bfaa0
movzx eax, byte [0x14057c23a]
jmp 0x1403bfa66
cmp al, 0x21
je 0x1403bfb97
mov cl, 0xd1
nop word [rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x14057c23a], cl
je 0x1403bfac5
cmp al, 0x21
jne 0x1403bfab0
jmp 0x1403bfb97
xor edx, edx
lea r8, [0x14057c220]
lea r9, [0x1404724b0]
jmp 0x1403bfaeb
inc edx
cmp edx, 0x1a
jge 0x1403bfb8f
mov eax, dword [0x1405927d8]
movsxd r10, edx
cmp eax, 0x49
jg 0x1403bfb30
nop dword [rax]
movzx eax, byte [r10 + r9]
mov ecx, eax
xor cl, al
not cl
and cl, byte [r10 + r8]
xor cl, al
mov byte [r10 + r8], cl
cmp dword [0x14057c2ac], 0x8b0717c
je 0x1403bfae0
nop word cs:[rax + rax]
movzx eax, byte [r10 + r8]
movzx ecx, byte [r10 + r9]
shl al, cl
mov r11d, eax
shl r11b, cl
sub al, r11b
mul r11b
movzx ecx, byte [0x14057c2a8]
sub cl, al
add cl, r11b
add cl, 0xb8
mul cl
mov r11d, eax
xor r11b, cl
and al, cl
add al, al
add al, r11b
sub al, cl
mul cl
sub cl, al
xor cl, al
mov byte [r10 + r8], cl
mov eax, dword [0x1405927d4]
mov ecx, dword [0x14057c2ac]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1403bfb30
jmp 0x1403bfb00
mov al, 0x21
xchg byte [0x14057c23a], al
mov ecx, 0xf74f8e86
lea rax, [fcn.1403bf650]
lea r8d, [rax + rax]
add r8d, 0x3ae0
nop
mov edx, dword [0x1405927d4]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14057c2ac]
add r9d, ecx
xor edx, edx
div r9d
test edx, edx
jne 0x1403bfbfb
mov eax, dword [0x1405927d4]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x14057c2ac]
mov r9d, eax
xor r9d, 0xf74f8e84
and eax, 0x774f8e84
lea eax, [r9 + rax*2]
cmp edx, eax
je 0x1403bfc18
mov eax, dword [0x14057c2ac]
mov edx, eax
xor edx, 0xf74f8e85
and eax, 0x774f8e85
lea eax, [rdx + rax*2]
test r8d, eax
jne 0x1403bfbb0
jmp 0x1403bfbcf
lea rax, [0x14057c220]
jmp 0x1403bfa41