Function at 0x140057ca0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
mov rbp, 0xffffffffffffffff
mov rax, qword [rdx]
mov rdi, qword [rdx + 8]
mov rsi, qword [rdx + 0x10]
mov rbx, rcx
mov r8, rdx
mov rcx, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x20]
mov r14, qword [rbx]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x38], r14
mov r14, qword [rbx + 8]
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x60], r14
mov r14, qword [rbx + 0x10]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0xb8], r14
mov r14, qword [rbx + 0x18]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x70], r14
mov r14, qword [rbx + 0x20]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0xc8], r14
mov r14, qword [r8 + 0x28]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x10c], 0xa
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 1
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], r8
nop word [rax + rax]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
xor ebx, ebx
xor ecx, ecx
mov esi, 0x3b
mov r9d, 8
mov r8d, 8
nop word [rax + rax]
mov rax, rbp
mov rdx, r12
sar rax, 0x3f
and edx, 1
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x118]
mov r10, rax
xor r10, rdi
neg rdx
sub r10, rax
and r10, rdx
add r12, r10
mov r10, rax
xor r10, r8
sub r10, rax
and r10, rdx
add rbx, r10
mov r10, rax
xor r10, rcx
sub r10, rax
and rax, rdx
and r10, rdx
mov rdx, r12
xor rbp, rax
shr r12, 1
and rdx, rax
add r9, r10
sub rbp, 1
add rdi, rdx
mov rdx, rbx
and rdx, rax
and rax, r9
add rdx, r8
add rax, rcx
lea r8, [rdx + rdx]
lea rcx, [rax + rax]
sub esi, 1
jne 0x140057e10
mov r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0xb0]
movabs r10, 0x3fffffffffffffff
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov rax, r14
imul r8
sar r12, 0x3f
sar r13, 0x3f
mov rsi, rax
mov rax, r11
mov rdi, rdx
imul rcx
add rsi, rax
mov rax, r14
adc rdi, rdx
imul rbx
mov r14, rax
mov rax, r11
mov r15, rdx
mov r11, qword [rsp + 0x100]
imul r9
add r14, rax
mov rax, r13
adc r15, rdx
mov rdx, r12
and rax, rcx
and r13, r9
and rdx, r8
and r12, rbx
add rdx, rax
mov rax, r11
add r12, r13
imul rax, rsi
add rax, rdx
and rax, r10
sub rdx, rax
mov rax, r11
imul rax, r14
mov r10, rdx
movabs rdx, 0x3fffffffffffffff
mov qword [rsp + 0x48], r10
add rax, r12
and rax, rdx
sub r12, rax
mov rax, r10
imul qword [rsp + 0xd8]
mov qword [rsp + 0x28], r12
mov r10, rax
mov r11, rdx
add r10, rsi
mov rsi, qword [rsp + 0xa8]
adc r11, rdi
mov rdi, qword [rsp + 0x80]
shrd r10, r11, 0x3e
sar r11, 0x3e
mov rax, rdi
imul r8
add r10, rax
mov rax, rsi
adc r11, rdx
imul rcx
add r10, rax
mov rax, qword [rsp + 0x28]
adc r11, rdx
imul qword [rsp + 0xd8]
mov r12, r10
mov r13, r11
mov r10, rax
mov r11, rdx
mov rax, rdi
add r10, r14
adc r11, r15
imul rbx
mov r15, qword [rsp + 0xe8]
shrd r10, r11, 0x3e
sar r11, 0x3e
add r10, rax
mov rax, rsi
adc r11, rdx
imul r9
mov rsi, r10
mov rdi, r11
add rsi, rax
adc rdi, rdx
test r15, r15
je 0x14005800a
mov rax, qword [rsp + 0x48]
imul r15
add r12, rax
mov rax, qword [rsp + 0x28]
adc r13, rdx
imul r15
add rsi, rax
adc rdi, rdx
movabs rax, 0x3fffffffffffffff
mov r15, qword [rsp + 0x98]
mov r10, r12
mov r11, r13
and rax, r12
mov r14, qword [rsp + 0xa0]
shrd r10, r13, 0x3e
mov qword [rsp + 0x78], rax
sar r11, 0x3e
movabs rax, 0x3fffffffffffffff
and rax, rsi
mov qword [rsp + 0xb0], rax
mov rax, r15
imul r8
add r10, rax
mov rax, r14
adc r11, rdx
imul rcx
add r10, rax
mov rax, r15
mov r15, qword [rsp + 0xf0]
adc r11, rdx
imul rbx
shrd rsi, rdi, 0x3e
mov r12, r10
sar rdi, 0x3e
mov r13, r11
add rsi, rax
mov rax, r14
adc rdi, rdx
imul r9
add rsi, rax
adc rdi, rdx
test r15, r15
je 0x1400580b8
mov rax, qword [rsp + 0x48]
imul r15
add r12, rax
mov rax, qword [rsp + 0x28]
adc r13, rdx
imul r15
add rsi, rax
adc rdi, rdx
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0xd0]
movabs rax, 0x3fffffffffffffff
and rax, r12
shrd r12, r13, 0x3e
mov qword [rsp + 0x80], rax
sar r13, 0x3e
movabs rax, 0x3fffffffffffffff
and rax, rsi
mov qword [rsp + 0xa8], rax
mov rax, r15
imul r8
add r12, rax
mov rax, r14
adc r13, rdx
imul rcx
add r12, rax
mov rax, r15
adc r13, rdx
imul rbx
shrd rsi, rdi, 0x3e
sar rdi, 0x3e
add rsi, rax
mov rax, r14
adc rdi, rdx
imul r9
add rsi, rax
mov r14, rsi
mov rsi, qword [rsp + 0xf8]
adc rdi, rdx
mov r15, rdi
test rsi, rsi
je 0x140058163
mov rax, qword [rsp + 0x48]
imul rsi
add r12, rax
mov rax, qword [rsp + 0x28]
adc r13, rdx
imul rsi
add r14, rax
adc r15, rdx
movabs rax, 0x3fffffffffffffff
and rax, r12
shrd r12, r13, 0x3e
mov qword [rsp + 0x98], rax
mov rsi, r12
sar r13, 0x3e
movabs rax, 0x3fffffffffffffff
and rax, r14
mov rdi, r13
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
imul r8
add rsi, rax
mov rax, qword [rsp + 0x40]
adc rdi, rdx
imul rcx
add rsi, rax
mov rax, qword [rsp + 0x48]
adc rdi, rdx
imul qword [rsp + 0xe0]
add rsi, rax
mov rax, qword [rsp + 0x30]
adc rdi, rdx
shrd r14, r15, 0x3e
imul rbx
mov r10, r14
sar r15, 0x3e
mov r14, rsi
mov r11, r15
add r10, rax
mov rax, qword [rsp + 0x40]
adc r11, rdx
imul r9
add r10, rax
mov rax, qword [rsp + 0x28]
adc r11, rdx
imul qword [rsp + 0xe0]
add r10, rax
movabs rax, 0x3fffffffffffffff
adc r11, rdx
and rax, rsi
mov rsi, qword [rsp + 0x50]
shrd r14, rdi, 0x3e
mov qword [rsp + 0x90], rax
movabs rax, 0x3fffffffffffffff
and rax, r10
shrd r10, r11, 0x3e
mov qword [rsp + 0x30], r14
mov qword [rsp + 0xd0], rax
mov rax, rsi
imul r8
mov qword [rsp + 0x40], r10
mov r10, rax
mov rax, qword [rsp + 0x38]
mov r11, rdx
imul rcx
add r10, rax
mov rax, qword [rsp + 0x58]
adc r11, rdx
imul r8
shrd r10, r11, 0x3e
sar r11, 0x3e
add r10, rax
mov rax, qword [rsp + 0x60]
adc r11, rdx
imul rcx
add r10, rax
mov rax, rsi
adc r11, rdx
imul rbx
mov r12, r10
mov r13, r11
mov rsi, rax
mov rax, qword [rsp + 0x38]
mov rdi, rdx
imul r9
add rsi, rax
mov rax, qword [rsp + 0x58]
adc rdi, rdx
imul rbx
shrd rsi, rdi, 0x3e
sar rdi, 0x3e
mov r10, rax
mov rax, qword [rsp + 0x60]
mov r11, rdx
add r10, rsi
adc r11, rdi
imul r9
add r10, rax
movabs rax, 0x3fffffffffffffff
adc r11, rdx
and rax, r12
shrd r12, r13, 0x3e
mov qword [rsp + 0x50], rax
sar r13, 0x3e
mov rsi, r12
movabs rax, 0x3fffffffffffffff
and rax, r10
mov rdi, r13
mov r13, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x68]
imul r8
add rsi, rax
mov rax, r13
adc rdi, rdx
imul rcx
add rsi, rax
mov rax, qword [rsp + 0x68]
adc rdi, rdx
shrd r10, r11, 0x3e
imul rbx
sar r11, 0x3e
add r10, rax
mov rax, r13
adc r11, rdx
imul r9
add r10, rax
movabs rax, 0x3fffffffffffffff
adc r11, rdx
and rax, rsi
shrd rsi, rdi, 0x3e
mov r12, r10
mov r13, r11
mov qword [rsp + 0x58], rax
mov r11, qword [rsp + 0xc0]
sar rdi, 0x3e
movabs rax, 0x3fffffffffffffff
and rax, r10
mov qword [rsp + 0x60], rax
mov rax, r11
imul r8
add rsi, rax
mov rax, qword [rsp + 0x70]
adc rdi, rdx
imul rcx
add rsi, rax
mov rax, r11
adc rdi, rdx
imul rbx
shrd r12, r13, 0x3e
mov r10, r12
sar r13, 0x3e
mov r11, r13
add r10, rax
mov rax, qword [rsp + 0x70]
adc r11, rdx
imul r9
add r10, rax
movabs rax, 0x3fffffffffffffff
adc r11, rdx
and rax, rsi
shrd rsi, rdi, 0x3e
mov qword [rsp + 0x68], rax
sar rdi, 0x3e
movabs rax, 0x3fffffffffffffff
and rax, r10
mov qword [rsp + 0xb8], rax
mov rax, r8
mov r8, qword [rsp + 0x88]
imul r8
add rsi, rax
mov rax, rcx
mov rcx, qword [rsp + 0xc8]
adc rdi, rdx
imul rcx
add rsi, rax
mov rax, r8
adc rdi, rdx
imul rbx
shrd r10, r11, 0x3e
movabs rbx, 0x3fffffffffffffff
sar r11, 0x3e
add r10, rax
mov rax, rcx
adc r11, rdx
imul r9
add rax, r10
adc rdx, r11
and rbx, rsi
shrd rsi, rdi, 0x3e
mov qword [rsp + 0xc0], rbx
movabs rbx, 0x3fffffffffffffff
and rbx, rax
shrd rax, rdx, 0x3e
sub dword [rsp + 0x10c], 1
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0xc8], rax
jne 0x140057de8
mov rax, qword [rsp + 0x78]
mov r8, qword [rsp + 0x1a8]
mov rdx, rsi
lea rcx, [rsp + 0x120]
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x138], rax
call fcn.1400586d0
mov rax, qword [rsp + 0x140]
movdqu xmm0, xmmword [rsp + 0x120]
movdqu xmm1, xmmword [rsp + 0x130]
mov qword [rbx + 0x20], rax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret