Function at 0x140057670
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
movzx ecx, byte [rcx + 0x10]
mov eax, dword [0x141dc9130]
and eax, dword [0x141dc9134]
imul eax, eax, 0xc92c8033
cmp eax, 0x673d19c9
je 0x140057690
mov rbp, qword [rsi]
xor eax, eax
nop
test al, al
jne 0x1400576b0
mov al, 1
test cl, cl
je 0x1400576e0
mov byte [rsi + 0x10], al
inc rbp
mov qword [rsi], rbp
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc9138]
xor edx, edx
div dword [0x141dc913c]
imul eax, eax, 0x9c9ae8a9
cmp eax, 0x6c1c59a1
je 0x1400576e0
mov r14, qword [rsi + 8]
mov eax, dword [r14 + 0x34]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9140]
mov edx, dword [0x141dc9144]
add ecx, edx
add ecx, 0x25af625e
and ecx, 0x850aa3a0
cmp ecx, 0x45631618
ja 0x140057710
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9148]
add ecx, dword [0x141dc914c]
or ecx, 0xbc7f6cd3
xor ecx, 0xc24f3263
cmp ecx, 0xeb834b9b
ja 0x140057740
test al, 4
jne 0x1400577c0
mov qword [rsp + 0x28], rdi
xor r15d, r15d
test rbp, rbp
lea rax, [0x141db7183]
lea r12, [0x141db7177]
cmove r12, rax
setne r15b
inc r15
mov r13, qword [r14 + 0x20]
mov eax, dword [0x141dc9150]
xor eax, dword [0x141dc9154]
and eax, 0xe4fa04cc
xor eax, 0xafc84ee9
add eax, 0x30fbf326
cmp eax, 0x5e2db515
jae 0x14005798c
jmp 0x1400579c6
mov ecx, dword [0x141dc9160]
imul ecx, dword [0x141dc9164]
xor ecx, 0x71f89da
imul ecx, ecx, 0xa33d0813
or ecx, 0x814928d
cmp ecx, 0x28a4ba97
jb 0x1400577c0
test rbp, rbp
jne 0x140057840
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
lea rdx, [0x141db7184]
mov r8d, 2
call qword [rax + 0x18]
mov ecx, eax
mov al, 1
test cl, cl
jne 0x1400576ba
mov eax, dword [r14 + 0x34]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9168]
sub ecx, dword [0x141dc916c]
or ecx, 0x632f901a
imul ecx, ecx, 0x17385024
cmp ecx, 0x925a748e
ja 0x140057820
mov byte [rsp + 0x27], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x27]
mov qword [rsp + 0x80], rcx
mov ecx, dword [r14 + 0x30]
movzx edx, byte [r14 + 0x38]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x60], ecx
mov byte [rsp + 0x68], dl
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [0x141db7140]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call rdi
test al, al
je 0x1400578e0
nop dword [rax + rax]
mov eax, dword [0x141dc9188]
xor eax, dword [0x141dc918c]
xor eax, 0x41171503
and eax, 0xc5371527
cmp eax, 0xdf660808
je 0x1400578b0
mov al, 1
jmp 0x1400576ba
mov eax, dword [0x141dc9170]
and eax, dword [0x141dc9174]
imul eax, eax, 0xb0992f0
and eax, 0x28f90200
xor eax, 0xb45a69a6
cmp eax, 0xb4dbcd2
jb 0x1400578e0
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov eax, dword [0x141dc9178]
xor edx, edx
div dword [0x141dc917c]
imul eax, eax, 0x2c776ade
add eax, 0x80adf19b
cmp eax, 0x905e7cec
jae 0x140057941
lea rdx, [0x141db717e]
mov r8d, 2
mov rcx, rdi
call qword [r14 + 0x18]
lea rbx, [0x141db717e]
nop dword [rax + rax]
mov eax, dword [0x141dc9180]
imul eax, dword [0x141dc9184]
add eax, 0xb387c393
or eax, 0x1b7ba8b4
imul r15d, eax, 0x2f677c0a
mov r8d, 2
mov rcx, rdi
mov rdx, rbx
call qword [r14 + 0x18]
cmp r15d, 0x24693082
jb 0x140057950
jmp 0x1400576ba
mov eax, dword [0x141dc9158]
or eax, dword [0x141dc915c]
xor eax, 0x5a1720a
imul rdi, rax, 0x6c8111eb
shr rdi, 0x3e
or edi, 0xbe3567e6
mov rax, qword [r14 + 0x28]
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [rax + 0x18]
cmp edi, 0xc1026f02
jbe 0x1400579d8
mov rax, qword [r14 + 0x28]
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [rax + 0x18]
jmp 0x14005798c
mov ecx, eax
mov al, 1
test cl, cl
mov r8, qword [rsp + 0x28]
jne 0x1400576ba
mov rcx, rbx
mov rdx, r14
call r8
jmp 0x1400576ba