Function at 0x140027e30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1e0], xmm6
mov eax, dword [0x141dc3958]
xor eax, dword [0x141dc395c]
imul eax, eax, 0xe4f7a50
add eax, 0x5472a5fb
cmp eax, 0xd12cce98
ja 0x140028194
mov eax, dword [0x141dc3960]
and eax, dword [0x141dc3964]
mov dword [rbp + 0x168], eax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x80], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x88], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x48], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x78], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x50], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x58], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x120], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x60], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x68], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x70], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0xc0], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x108], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x158], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0xc8], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x28], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x30], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x38], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x40], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r12, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x68], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x60], rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov eax, 0x60
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x48], rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x20], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x50], rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0xd0], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x70], rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0xd8], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x10], rsp
mov eax, 0x70
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x78], rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x118], rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp + 0x110], rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
sub rsp, 0x20
mov ecx, 5
call fcn.14008b610
add rsp, 0x20
lea rax, [0x141da995f]
mov qword [rdi], rax
mov rcx, qword [rdi]
movabs rax, 0x44f6c3cb1fd41a51
mov qword [r12], rax
mov rdx, qword [r12]
sub rsp, 0x20
call fcn.140018870
add rsp, 0x20
mov rsi, qword [rax]
mov r13, qword [rax + 8]
mov r12, qword [rax + 0x10]
mov r15d, dword [rax + 0x18]
movzx edi, byte [rax + 0x1c]
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
mov edx, 0x1d
xor ecx, ecx
call fcn.1400bf820
add rsp, 0x20
cmp dword [rbp + 0x168], 0x4e3a538a
jne 0x1400283e9
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
add byte [rax + 0x29], cl
invalid
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x60
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x70
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0xd0
call fcn.1400ef3b0
sub rsp, rax
sub rsp, 0x20
mov ecx, 5
call fcn.14008b610
add rsp, 0x20
lea rax, [0x141da995f]
mov qword [rbx], rax
mov rcx, qword [rbx]
movabs rax, 0x44f6c3cb1fd41a51
mov qword [rdi], rax
mov rdx, qword [rdi]
sub rsp, 0x20
call fcn.140018870
add rsp, 0x20
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov ecx, dword [rax + 0x18]
movzx eax, byte [rax + 0x1c]
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
mov edx, 0x1d
xor ecx, ecx
call fcn.1400bf820
add rsp, 0x20
jmp 0x140027e74
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0x98], r14
test rax, rax
je 0x1400287ae
mov rbx, rax
xor dil, 0x68
xor r15d, 0xed5f70cb
movabs rax, 0xcc88a9782c0b007a
xor r12, rax
movabs rax, 0x8d3ffe41ae851465
xor r13, rax
movabs rax, 0x834d7acfca72d760
xor rsi, rax
mov qword [rbx], rsi
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r12
mov dword [rbx + 0x18], r15d
mov byte [rbx + 0x1c], dil
mov eax, dword [0x141dc3978]
and eax, dword [0x141dc397c]
sub byte [rbp + 0xbb901d9], dh
insd dword [rdi], dx
fild qword [rbx - 0x3750f0b8]
shr rcx, 0x3d
add ecx, 0xf03030e6
cmp ecx, 0xd7b36143
jae 0x14002848c
sub rsp, 0x20
lea rcx, [rbp + 0x170]
mov r8d, 0x1d
mov rdx, rbx
call fcn.14009c2e0
add rsp, 0x20
lea rsi, [rbp + 0x170]
nop word cs:[rax + rax]
mov edi, dword [0x141dc3980]
and edi, dword [0x141dc3984]
or edi, 0xc9d39854
add edi, 0x824fb3a1
xor edi, 0xf04dc057
sub rsp, 0x20
mov r8d, 0x1d
mov rcx, rsi
mov rdx, rbx
call fcn.14009c2e0
add rsp, 0x20
cmp edi, 0x83a02b1c
jb 0x1400284a0
mov rax, qword [rbp + 0x170]
cmp eax, 2
jne 0x1400287d7
mov qword [rbp - 0x40], rbx
mov rcx, qword [rbp + 0x178]
mov eax, dword [0x141dc39a0]
xor edx, edx
div dword [0x141dc39a4]
nop dword [rax + rax]
mov eax, dword [0x141dc39a8]
and eax, dword [0x141dc39ac]
or eax, 0x20400076
and eax, 0xe4f904f6
add eax, 0x4b65c5c
cmp eax, 0xb9f988c7
ja 0x140028510
mov eax, ecx
and eax, 3
lea rdx, [0x141dba0bc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov eax, dword [0x141dc3968]
add eax, dword [0x141dc396c]
mov ecx, 0xd5762ac1
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x954fd936
cmp ecx, 0xff3f1bfc
jbe 0x1400287f7
jmp 0x140028811
mov eax, dword [0x141dc3988]
imul eax, dword [0x141dc398c]
add eax, 0x77569355
and eax, 0xad15205
cmp eax, 0x5a0ff71d
jbe 0x140028817
jmp 0x140028844
mov eax, dword [0x141dc3970]
add eax, dword [0x141dc3974]
or eax, 0x12305872
ud2
ud2
ud2
mov eax, dword [0x141dc3990]
and eax, dword [0x141dc3994]
imul esi, eax, 0x81c88842
add esi, 0x8aec4f26
sub rsp, 0x20
call fcn.1400bf5e0
add rsp, 0x20
cmp esi, 0x32477850
jae 0x140028860
sub rsp, 0x20
call fcn.1400bf5e0
add rsp, 0x20
jmp 0x140028817
mov eax, dword [0x141dc3998]
sub eax, dword [0x141dc399c]
imul rax, rax, 0x1fa648df
shr rax, 0x3c
cmp eax, 0x4d7990b1
je 0x140028860
jmp 0x140028815