Function at 0x140028a10
Capabilities:
Encode data using xor

Disassembly:
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r11d, dword [0x140042b68]
xor r8d, r8d
mov edx, dword [0x140042b38]
mov r9b, 0x65
movzx edi, byte [0x140042b88]
mov bl, 0x66
mov byte [rsp + 0x98], 0xa9
lea eax, [r11 - 0xc1]
or eax, dword [0x140042a8c]
lea ebp, [r8 + 1]
or eax, 0x6f
imul eax, eax, 0x129
add dword [0x140042b2c], eax
movzx eax, dl
or al, 0x6f
sub dil, al
mov eax, dword [0x140042b5c]
cmp byte [0x140042b57], r8b
mov dword [rsp + 0x30], eax
je 0x140028a96
mov ecx, eax
mov eax, 0x65
shl eax, cl
test al, 0x81
mov eax, ebp
jne 0x140028a99
mov eax, r8d
mov esi, dword [0x140042b44]
mov ecx, 0x64
movzx r10d, byte [0x140042b65]
add esi, eax
mov eax, dword [0x140042b6c]
and eax, edx
mov dword [0x140042b44], esi
xor byte [0x140042a62], r10b
mov edx, dword [0x140042b40]
mov dword [rsp + 0x28], eax
nop dword [rax]
movzx eax, r9b
movzx r9d, dl
imul r9d, eax
and r9b, 3
add ecx, 0xffffffff
jne 0x140028ad0
movzx ecx, byte [0x140042b80]
mov r13d, esi
movzx eax, byte [0x140042b30]
movzx edx, byte [0x140042a86]
xor al, 0x7f
movzx r14d, byte [0x140042b54]
sub dl, al
movzx r15d, byte [0x140042a63]
test r11d, r11d
movzx esi, byte [0x140042b81]
setne al
and r13d, 3
xor r14b, al
lea eax, [rcx + 0x6f]
xor al, 0x6f
add cl, al
movzx eax, byte [0x140042b66]
add al, r13b
mov byte [0x140042b80], cl
or al, 0x34
mov ecx, 0x1177
xor r15b, al
nop word [rax + rax]
test r9b, r9b
setne al
xor sil, al
sub rcx, rbp
jne 0x140028b50
movzx eax, byte [0x140042b3c]
mov r12d, dword [0x140042b48]
add al, 0x7f
mov byte [0x140042b57], al
test r12d, r12d
je 0x140028b83
lea eax, [r13 + 0x32]
test al, 0x7f
mov eax, ebp
jne 0x140028b86
mov eax, r8d
sub dl, al
movzx ecx, r9b
mov eax, dword [0x140042a88]
and eax, ebp
mov byte [rsp + 0x90], dl
mov dword [rsp + 0x2c], eax
mov dword [0x140042a88], eax
lea eax, [r11 + r11*2]
mov dword [rsp + 0x20], ecx
lea ecx, [rcx + rax*2]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
je 0x140028c19
sub ecx, ebp
je 0x140028c02
sub ecx, ebp
je 0x140028be5
cmp ecx, ebp
je 0x140028c19
cmp r11d, 0x6f
mov eax, r8d
sete al
and dword [0x140042b2c], eax
jmp 0x140028c19
movsx eax, r15b
add eax, 0x29
test al, 0x7c
jne 0x140028bfd
mov eax, r11d
xor eax, r13d
jne 0x140028bfd
mov r15d, r8d
jmp 0x140028c20
mov r15d, ebp
jmp 0x140028c20
movzx eax, byte [0x140042b84]
and al, 0x34
mov byte [rsp + 0x98], 0x2b
or byte [0x140042b56], al
mov r15d, dword [0x140042b60]
movzx eax, byte [0x140042b80]
imul ecx, eax, 0x132
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
movzx edx, sil
sub ecx, eax
mov eax, 0x6f
mov dword [rsp + 0x24], ecx
movzx ecx, cl
sub eax, ecx
movzx ecx, al
mov eax, dword [0x140042a8c]
shl edx, cl
movsx ecx, byte [0x140042b56]
and eax, edx
mov edx, 0x227
mov dword [rsp + 0x38], eax
shr edx, cl
or edx, dword [0x140042b44]
or edx, ebp
mov dword [rsp + 0x34], edx
mov dword [0x140042b78], edx
cmp r13d, 0x7f
jne 0x140028ca6
cmp dword [0x140042b84], 0x134
lea ebx, [rsi + 0x1f]
sete al
or byte [0x140042b67], al
movzx eax, byte [0x140042b83]
and al, bpl
jmp 0x140028cad
movzx eax, byte [0x140042b83]
movzx ecx, byte [rsp + 0x98]
imul ecx, edx
mov byte [rsp + 0xa0], al
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea eax, [rdx + rdx*4]
sub ecx, eax
cmp dword [0x140042b84], r8d
mov dword [rsp + 0xa8], ecx
jne 0x140028cea
mov byte [0x140042a63], r8b
test r12d, r12d
je 0x140028cf1
mov byte [0x140042a63], bpl
movzx eax, byte [rsp + 0x98]
test byte [rsp + 0x90], al
jne 0x140028d1c
test al, al
jne 0x140028d1c
movzx eax, byte [rsp + 0xa8]
movsx ecx, byte [0x140042a62]
cmp eax, ecx
mov eax, r8d
jne 0x140028d1e
mov eax, ebp
sub r15d, eax
mov eax, 0xcccccccd
mul dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
mov ecx, edx
mov dword [0x140042b60], r15d
movsx edx, byte [0x140042b55]
xor eax, edx
shr ecx, 2
add ecx, dword [0x140042b2c]
mov dword [0x140042b6c], eax
movzx eax, byte [0x140042b80]
shr al, 1
and byte [0x140042b82], al
movzx eax, r10b
and eax, r13d
add dword [0x140042b28], eax
cmp dword [rsp + 0x30], r8d
jne 0x140028d7f
mov byte [rsp + 0xa8], r8b
test dil, dil
je 0x140028d87
mov byte [rsp + 0xa8], bpl
movsx eax, byte [0x140042a63]
mov r11d, dword [rsp + 0x24]
imul r15d, eax, 0x132
mov eax, 0xaaaaaaab
mul r15d
shr edx, 1
lea eax, [rdx + rdx*2]
movzx edx, r13b
and dl, byte [rsp + 0x98]
sub r15d, eax
xor dl, byte [0x140042b7c]
mov eax, 0x87
sub al, byte [0x140042b44]
or dl, al
mov dword [rsp + 0x28], r15d
mov r15d, r8d
movsx eax, dil
add eax, ecx
movzx ecx, r11b
mov r11d, dword [0x140042b68]
cmp eax, ecx
movzx eax, byte [rsp + 0x90]
mov ecx, 0x274
sete r15b
and eax, 0xffffff87
xor r15d, eax
nop word [rax + rax]
cmp byte [0x140042b67], r8b
setne al
or r10b, dl
and r14b, al
or r11d, r15d
sub rcx, rbp
jne 0x140028e00
mov eax, dword [rsp + 0x34]
movzx ecx, byte [0x140042b66]
xor al, bpl
movzx edx, byte [0x140042b64]
and sil, al
mov r15d, dword [rsp + 0x2c]
mov eax, 0xffffff87
shl eax, cl
mov ecx, r13d
test eax, eax
mov dword [0x140042b68], r11d
movzx r11d, byte [rsp + 0x98]
sete al
mov byte [0x140042b81], sil
mov esi, dword [0x140042a64]
sub dl, al
imul r11d, r12d
mov eax, esi
shl eax, cl
mov byte [0x140042b54], r14b
mov byte [0x140042b64], dl
shr r11d, 2
test r13d, eax
jne 0x140028e91
movzx eax, bl
movzx ecx, r15b
sar al, cl
test al, al
mov eax, r8d
je 0x140028e93
mov eax, ebp
mov ecx, dword [rsp + 0x24]
xor esi, eax
mov eax, dword [rsp + 0x38]
movzx ecx, cl
sar eax, cl
sub dword [0x140042b30], eax
movsx eax, byte [0x140042b56]
xor eax, 0x266
mov dword [0x140042a64], esi
mov esi, dword [0x140042b28]
mov dword [0x140042b58], eax
movzx eax, byte [rsp + 0x98]
mov ecx, eax
mov r13d, eax
movzx eax, byte [rsp + 0xa0]
shl r14b, cl
or al, r14b
mov byte [0x140042b83], al
cmp esi, 0x132
jne 0x140028f32
test bl, r10b
je 0x140028f09
movsx eax, byte [0x140042b55]
cmp r11d, eax
mov eax, ebp
sete cl
test byte [rsp + 0x28], cl
jne 0x140028f0c
mov eax, r8d
and byte [0x140042b66], al
mov r14d, dword [0x140042b30]
mov eax, r14d
mov ecx, dword [rsp + 0x20]
movsx edx, dl
shr eax, cl
xor edx, 6
or edx, eax
and dword [0x140042b84], edx
jmp 0x140028f39
mov r14d, dword [0x140042b30]
movzx edx, byte [rsp + 0xa8]
mov ecx, 0x2c
nop word [rax + rax]
test dl, dl
setne al
and dil, al
sub rcx, rbp
jne 0x140028f50
mov byte [0x140042b88], dil
test esi, esi
je 0x140028f77
mov eax, dword [rsp + 0x20]
mov ecx, r11d
shl eax, cl
test eax, eax
mov eax, ebp
jne 0x140028f7a
mov eax, r8d
movzx ecx, byte [rsp + 0x90]
or cl, al
movsx esi, bl
mov eax, dword [0x140042b58]
add eax, 0xffffff4b
mov byte [0x140042a86], cl
and dword [0x140042b7c], eax
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, dword [rsp + 0x28]
sub esi, eax
movzx ecx, dl
movzx eax, byte [0x140042b56]
sub cl, r9b
add sil, byte [0x140042b55]
sar al, cl
test al, al
jne 0x140028fdd
test dword [0x140042b44], r11d
jne 0x140028fdd
xor dil, dil
jmp 0x140028fe1
movzx edi, bpl
mov ecx, dword [rsp + 0x30]
or ecx, ebp
mov byte [0x140042a87], dil
cmp byte [0x140042b56], r8b
mov dword [0x140042b5c], ecx
je 0x140029016
movzx eax, dl
xor eax, 0x134
je 0x140029016
cmp r13d, dword [0x140042b38]
mov dword [0x140042b34], ebp
je 0x14002901d
mov dword [0x140042b34], r8d
mov edx, dword [rsp + 0x24]
mov r11d, r8d
movzx eax, dl
lea edx, [r9 + r12]
cmp dword [0x140042a64], eax
mov eax, r14d
sete r11b
and ecx, 0x134
mov dword [0x140042b40], ecx
xor dl, sil
mov ecx, r13d
mov dword [0x140042b4c], r11d
shl eax, cl
neg r15b
mov dword [0x140042b3c], eax
and r15b, 3
mov ecx, 0xf5
and r10b, dl
test r14d, r14d
jne 0x14002907c
movsx eax, bl
mov dword [0x140042a8c], r8d
cmp r13d, eax
jne 0x140029082
mov dword [0x140042a8c], ebp
movzx ebx, r15b
sub rcx, rbp
jne 0x140029065
mov eax, dword [0x140042b2c]
mov ecx, dword [rsp + 0x20]
mov byte [0x140042b65], r10b
lea ecx, [rcx + rax*2]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x14002910e
sub edx, ebp
je 0x1400290fc
sub edx, ebp
je 0x1400290dd
cmp edx, ebp
jne 0x140029139
movsx ecx, byte [0x140042b67]
movzx eax, byte [rsp + 0x28]
sub ecx, eax
or r12d, ecx
mov dword [0x140042b48], r12d
jmp 0x140029139
movzx ecx, r10b
movsx eax, bl
or ecx, eax
je 0x1400290ed
test dil, dil
jne 0x1400290f0
mov ebp, r8d
sub r12d, ebp
mov dword [0x140042b48], r12d
jmp 0x140029139
mov eax, dword [0x140042b38]
mov edx, 0xffffff87
and eax, edx
sub r11d, eax
jmp 0x140029132
movsx ecx, bl
mov edx, 0xffffff87
sub ecx, dword [0x140042b84]
movsx eax, sil
sub edx, eax
cmp edx, ecx
sete r8b
or r8d, dword [0x140042b58]
or r11d, r8d
mov dword [0x140042b4c], r11d
call fcn.140027df0
movzx ecx, byte [rsp + 0x24]
movsx eax, bl
add ax, cx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret