Function at 0x140054790
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa58
movaps xmmword [rsp + 0xa40], xmm7
movaps xmmword [rsp + 0xa30], xmm6
mov rsi, r8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [0x14019b038]
xor rax, rsp
mov qword [rsp + 0xa28], rax
lea rcx, [rsp + 0x320]
mov r8d, 0x708
mov dl, 0xaa
call fcn.1400a02f0
xor r12d, r12d
movabs r13, 0xaaaaaaaaaaaaaaaa
movaps xmm6, xmmword [0x14016b5d0]
lea rbx, [rsp + 0x200]
lea r14, [rsp + 0x160]
lea r15, [0x140187238]
mov qword [rsp + 0x220], r13
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
mov qword [rsp + 0x180], r13
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x160], xmm6
mov rcx, rbx
mov rdx, rsi
call fcn.140055240
lea rdx, [rsi + 0x20]
mov rcx, r14
call fcn.140055240
mov rax, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x208]
add rax, qword [rsp + 0x160]
add rdx, qword [rsp + 0x168]
mov r8, qword [rsp + 0x210]
add r8, qword [rsp + 0x170]
mov r9, qword [rsp + 0x218]
add r9, qword [rsp + 0x178]
mov r10, qword [rsp + 0x220]
add r10, qword [rsp + 0x180]
lea rcx, [rsp + r12]
add rcx, 0x348
mov qword [rcx - 0x28], rax
mov qword [rcx - 0x20], rdx
mov qword [rcx - 0x18], r8
mov qword [rcx - 0x10], r9
mov qword [rcx - 8], r10
mov rdx, r14
mov r8, rbx
call fcn.140090320
lea rdi, [rsp + r12]
add rdi, 0x370
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call fcn.1400562f0
mov rcx, rdi
mov rdx, rdi
mov r8, r15
call fcn.1400562f0
add r12, 0x78
add rsi, 0x40
cmp r12, 0x708
jne 0x140054812
xorps xmm7, xmm7
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 0x20], xmm7
movups xmmword [rcx + 0x40], xmm7
movups xmmword [rcx + 0x30], xmm7
movups xmmword [rcx + 0x10], xmm7
movups xmmword [rcx], xmm7
mov eax, 1
mov qword [rcx + 0x28], rax
lea rdx, [rcx + 0x50]
mov qword [rsp + 0x60], rdx
movups xmmword [rcx + 0x58], xmm7
movups xmmword [rcx + 0x68], xmm7
mov qword [rcx + 0x50], rax
movups xmmword [rcx + 0x78], xmm7
movups xmmword [rcx + 0x88], xmm7
mov qword [rcx + 0x98], 0
mov ecx, 0x3f
mov eax, ecx
shr eax, 3
mov r10, qword [rsp + 0x68]
movzx edx, byte [r10 + rax]
mov dword [rsp + 0x5c], ecx
and cl, 7
movzx ecx, cl
xor r8d, r8d
bt edx, ecx
setb r8b
movzx edx, byte [r10 + rax + 8]
shr edx, cl
movzx r9d, byte [r10 + rax + 0x10]
shr r9d, cl
and edx, 1
lea edx, [r8 + rdx*2]
and r9d, 1
movzx eax, byte [r10 + rax + 0x18]
shr eax, cl
lea ecx, [rdx + r9*4]
and eax, 1
lea eax, [rcx + rax*8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x2d0]
mov qword [rax + 0x20], r13
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
movups xmmword [rax - 0x10], xmm7
movups xmmword [rax - 0x20], xmm7
mov qword [rsp + 0x2a8], 1
movups xmmword [rax + 0x38], xmm7
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x38], rax
lea rsi, [rsp + 0x390]
mov r8d, 0
mov ebx, 0
mov eax, 1
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
xor edi, edi
xor r14d, r14d
xor r15d, r15d
mov r12d, 1
xor r13d, r13d
xor ebp, ebp
xor edx, edx
mov ecx, 1
nop word cs:[rax + rax]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x48]
xor rcx, qword [rsp + 0x50]
dec rcx
sar rcx, 0x3f
mov rax, qword [rsi - 0x70]
xor rax, qword [rsp + 0x20]
and rax, rcx
xor rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsi - 0x68]
xor rbx, qword [rsp + 0x20]
and rbx, rcx
xor rbx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsi - 0x60]
xor rdx, qword [rsp + 0x20]
and rdx, rcx
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsi - 0x58]
xor rbp, qword [rsp + 0x20]
and rbp, rcx
xor rbp, qword [rsp + 0x20]
mov qword [rsp + 0x20], r13
mov r13, qword [rsi - 0x50]
xor r13, qword [rsp + 0x20]
and r13, rcx
xor r13, qword [rsp + 0x20]
mov qword [rsp + 0x20], r12
mov r12, qword [rsi - 0x48]
xor r12, qword [rsp + 0x20]
and r12, rcx
xor r12, qword [rsp + 0x20]
mov qword [rsp + 0x20], r15
mov r15, qword [rsi - 0x40]
xor r15, qword [rsp + 0x20]
and r15, rcx
xor r15, qword [rsp + 0x20]
mov qword [rsp + 0x20], r14
mov r14, qword [rsi - 0x38]
xor r14, qword [rsp + 0x20]
and r14, rcx
xor r14, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
mov rdi, qword [rsi - 0x30]
xor rdi, qword [rsp + 0x20]
and rdi, rcx
xor rdi, qword [rsp + 0x20]
mov qword [rsp + 0x20], r11
mov r11, qword [rsi - 0x28]
xor r11, qword [rsp + 0x20]
and r11, rcx
xor r11, qword [rsp + 0x20]
mov qword [rsp + 0x20], r10
mov r10, qword [rsi - 0x20]
xor r10, qword [rsp + 0x20]
and r10, rcx
xor r10, qword [rsp + 0x20]
mov qword [rsp + 0x20], r9
mov r9, qword [rsi - 0x18]
xor r9, qword [rsp + 0x20]
and r9, rcx
xor r9, qword [rsp + 0x20]
mov qword [rsp + 0x20], r8
mov r8, qword [rsi - 0x10]
mov rsi, qword [rsp + 0x20]
xor r8, rsi
and r8, rcx
xor r8, rsi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x40]
mov rsi, qword [rsi - 8]
xor rsi, qword [rsp + 0x20]
and rsi, rcx
xor rsi, qword [rsp + 0x20]
mov qword [rsp + 0x30], rsi
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x40]
mov rsi, qword [rsi]
xor rsi, qword [rsp + 0x20]
and rsi, rcx
mov rcx, qword [rsp + 0x48]
xor rsi, qword [rsp + 0x20]
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x40]
inc rcx
add rsi, 0x78
cmp rcx, 0x10
jne 0x140054a50
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x2b0], rbx
mov qword [rsp + 0x2b8], rdx
mov qword [rsp + 0x2c0], rbp
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2d8], r15
mov qword [rsp + 0x2e0], r14
mov qword [rsp + 0x2e8], rdi
mov qword [rsp + 0x2f0], r11
mov qword [rsp + 0x2f8], r10
mov qword [rsp + 0x300], r9
mov qword [rsp + 0x308], r8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x318], rax
mov r8d, 0xa0
lea rcx, [rsp + 0x160]
mov dl, 0xaa
call fcn.1400a02f0
mov r13, qword [rsp + 0x28]
mov rax, qword [r13 + 0x28]
mov r10, qword [r13]
mov r11, qword [r13 + 8]
lea rsi, [r10 + rax]
mov rcx, qword [r13 + 0x30]
lea rdi, [r11 + rcx]
mov rdx, qword [r13 + 0x38]
mov rbx, qword [r13 + 0x10]
lea r14, [rbx + rdx]
mov r8, qword [r13 + 0x40]
mov r15, qword [r13 + 0x18]
lea r12, [r15 + r8]
mov r9, qword [r13 + 0x48]
mov r13, qword [r13 + 0x20]
lea rbp, [r13 + r9]
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rdi
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], r12
mov qword [rsp + 0x220], rbp
movabs rsi, 0xffffffffffffe
add rax, rsi
sub rax, r10
add rax, 0xffffffffffffffdc
add rcx, rsi
sub rcx, r11
add rdx, rsi
sub rdx, rbx
add r8, rsi
sub r8, r15
add r9, rsi
sub r9, r13
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], rdx
mov qword [rsp + 0x240], r8
mov qword [rsp + 0x248], r9
mov rax, qword [rsp + 0x60]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x250]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov r8, qword [rsp + 0x28]
mov r10, qword [r8 + 0x98]
mov rax, r10
movabs r14, 0x2ac822b5a729ed
mul r14
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
mov rax, r10
movabs rsi, 0x7a9372c9c903d5
mul rsi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x158], rax
mov rax, r10
movabs r9, 0x48621a40428616
mul r9
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x150], rax
mov rax, r10
movabs rcx, 0x3ef5f8c52e700e
mul rcx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdx
mov rbx, qword [r8 + 0x90]
mov r12, r8
mov rax, rbx
mul r14
mov r13, rdx
mov rcx, rax
mov rax, rbx
mul rsi
mov r15, rdx
mov r8, rax
mov rax, rbx
mul r9
mov r9, rax
mov r11, rdx
mov rdi, qword [r12 + 0x88]
mov rax, rdi
mul r14
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x108], rax
mov rax, rdi
mul rsi
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdx
mov rsi, qword [r12 + 0x80]
mov rax, rsi
mul r14
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa0], rax
mov rax, r10
movabs r10, 0x69b9426b2f159
mul r10
mov rbp, r10
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x38], rax
mov rax, rbx
movabs r10, 0x35050762add7a
mul r10
mov r14, rdx
mov r12, rax
mov rax, rbx
mul rbp
mov r10, rbp
mov rbx, rdx
mov rbp, rax
mov rax, rdi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x140], rax
mov rax, rdi
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x100], rax
mov rax, rdi
mul r10
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xc0], rax
mov rax, rsi
movabs rdi, 0x6738cc7407977
mul rdi
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], rax
mov rax, rsi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xe0], rax
mov rax, rsi
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rax
mov rax, rsi
mul r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax + 0x78]
mov rax, rsi
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf0], rax
mov rax, rsi
mul rdi
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xa8], rax
mov rax, rsi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov rax, rsi
movabs rdx, 0x35050762add7a
mul rdx
mov rdi, rdx
mov r10, rax
mov rax, rsi
movabs rdx, 0x69b9426b2f159
mul rdx
add r9, qword [rsp + 0x118]
adc r11, qword [rsp + 0x120]
add r9, qword [rsp + 0xc8]
adc r11, qword [rsp + 0xd0]
add r9, qword [rsp + 0xa0]
adc r11, qword [rsp + 0xb0]
add r9, rax
adc r11, rdx
shld r11, r9, 0xd
movabs rsi, 0x7ffffffffffff
and r9, rsi
add rcx, qword [rsp + 0x158]
adc r13, qword [rsp + 0x30]
add r8, qword [rsp + 0x150]
adc r15, qword [rsp + 0x50]
add r8, qword [rsp + 0x108]
adc r15, qword [rsp + 0x128]
add r8, qword [rsp + 0x70]
adc r15, qword [rsp + 0x78]
add r8, r10
adc r15, rdi
add r8, r11
adc r15, 0
shld r15, r8, 0xd
and r8, rsi
add rcx, qword [rsp + 0xc0]
adc r13, qword [rsp + 0xd8]
add rcx, qword [rsp + 0x90]
adc r13, qword [rsp + 0x98]
add rcx, qword [rsp + 0x80]
adc r13, qword [rsp + 0x88]
add rcx, r15
adc r13, 0
shld r13, rcx, 0xd
and rcx, rsi
add rbp, qword [rsp + 0x48]
adc rbx, qword [rsp + 0x40]
add rbp, qword [rsp + 0x100]
adc rbx, qword [rsp + 0x110]
add rbp, qword [rsp + 0xe0]
adc rbx, qword [rsp + 0xe8]
add rbp, qword [rsp + 0xa8]
adc rbx, qword [rsp + 0xb8]
add rbp, r13
adc rbx, 0
shld rbx, rbp, 0xd
and rbp, rsi
add r12, qword [rsp + 0x38]
adc r14, qword [rsp + 0x20]
add r12, qword [rsp + 0x140]
adc r14, qword [rsp + 0x148]
add r12, qword [rsp + 0x130]
adc r14, qword [rsp + 0x138]
add r12, qword [rsp + 0xf0]
adc r14, qword [rsp + 0xf8]
add r12, rbx
adc r14, 0
shld r14, r12, 0xd
lea rax, [r14 + r14*8]
lea rax, [r14 + rax*2]
add rax, r9
mov rdx, rax
shr rdx, 0x33
add rdx, r8
mov r8, rdx
shr r8, 0x33
add r8, rcx
and rax, rsi
mov qword [rsp + 0x278], rax
and rdx, rsi
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x288], r8
mov qword [rsp + 0x290], rbp
and r12, rsi
mov qword [rsp + 0x298], r12
lea rsi, [rsp + 0x160]
mov rcx, rsi
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
lea r8, [rsp + 0x200]
call fcn.140053480
mov rcx, rdi
mov rdx, rsi
call fcn.1400524a0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0x2a8]
call fcn.1400553f0
mov rcx, rdi
mov rdx, rsi
call fcn.1400524a0
mov ecx, dword [rsp + 0x5c]
dec ecx
cmp ecx, 0x40
movabs r13, 0xaaaaaaaaaaaaaaaa
jb 0x140054963
mov rcx, qword [rsp + 0xa28]
xor rcx, rsp
call fcn.14009e1b0
movaps xmm6, xmmword [rsp + 0xa30]
movaps xmm7, xmmword [rsp + 0xa40]
add rsp, 0xa58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret