Function at 0x1400ae9b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xae8
movaps xmmword [rsp + 0xad0], xmm7
movaps xmmword [rsp + 0xac0], xmm6
mov rdi, r8
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1d0], rcx
mov rax, qword [0x140196028]
xor rax, rsp
mov qword [rsp + 0xab8], rax
movabs rsi, 0x7ffffffffffff
lea rcx, [rsp + 0x3b0]
mov r8d, 0x708
mov dl, 0xaa
call fcn.1400c0660
add rdi, 0x3c
mov r14d, 0x70
lea rax, [rsi - 0x3ffffff]
mov qword [rsp + 0x1e0], rax
lea rax, [rsi - 0x7fffff]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1c8], r14
mov qword [rsp + 0x30], rdi
mov ecx, dword [rdi - 0x20]
shl rcx, 0x14
movzx esi, byte [rdi - 0x21]
shl rsi, 0xc
movzx ebp, byte [rdi - 0x22]
shl rbp, 4
mov eax, dword [rdi - 0x26]
mov qword [rsp + 0x38], rax
movzx r11d, byte [rdi - 0x27]
shl r11, 0xf
movzx r8d, byte [rdi - 0x28]
shl r8, 7
mov r14d, dword [rdi - 0x3c]
or rsi, rcx
mov edx, dword [rdi - 0x2c]
mov r9, rdx
mov rcx, qword [rsp + 0x30]
movzx edi, byte [rcx - 0x2d]
shl rax, 0x17
shl rdi, 0x12
mov rcx, qword [rsp + 0x30]
movzx ebx, byte [rcx - 0x2e]
shl rbx, 0xa
shl r9, 0x1a
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx - 0x2f]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x30]
movzx r12d, byte [rcx - 0x30]
mov qword [rsp + 0x48], r12
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx - 0x36]
or rbp, rsi
mov r10, rcx
mov r15, qword [rsp + 0x30]
movzx r15d, byte [r15 - 0x37]
shl r15, 0x28
shl r10, 0x30
movabs r13, 0x7000000000000
mov rsi, r10
and rsi, r13
or rsi, r15
mov r10, r12
shl r10, 0x2d
or rsi, r14
mov qword [rsp + 0x110], rsi
mov r14, qword [rsp + 0x30]
movzx r14d, byte [r14 - 0x31]
shl r14, 0x25
movabs r13, 0x7e00000000000
and r10, r13
or r10, r14
mov rsi, r10
mov r14, qword [rsp + 0x30]
movzx r14d, byte [r14 - 0x32]
shl r14, 0x1d
mov r10, qword [rsp + 0x1e0]
and r9, r10
or r9, rdi
mov rdi, qword [rsp + 0x30]
movzx r15d, byte [rdi - 0x33]
shl r15, 0x15
or rsi, r14
mov rdi, qword [rsp + 0x30]
movzx edi, byte [rdi - 0x34]
shl rdi, 0xd
shr edx, 0x19
mov r14, qword [rsp + 0x1d8]
and rax, r14
or rax, r11
mov r11, qword [rsp + 0x30]
mov r11d, dword [r11]
shl r11, 0x14
or r9, rbx
mov rbx, qword [rsp + 0x30]
movzx ebx, byte [rbx - 1]
shl rbx, 0xc
or rbx, r11
or rax, r8
mov r8, qword [rsp + 0x30]
movzx r8d, byte [r8 - 2]
shl r8, 4
or r8, rbx
or rsi, r15
mov r11, qword [rsp + 0x30]
mov ebx, dword [r11 - 0xc]
mov r11, qword [rsp + 0x30]
movzx r15d, byte [r11 - 0x10]
mov r11, r15
mov r12, qword [rsp + 0x28]
lea r9, [r9 + r12*4]
mov qword [rsp + 0x50], r9
shl r11, 0x2d
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 0x11]
shl r9, 0x25
or rax, rdx
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx - 0x12]
and r11, r13
or r11, r9
mov r9, rbx
shl rdx, 0x1d
or r11, rdx
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx - 0x13]
shl rdx, 0x15
or r11, rdx
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx - 0xd]
shl rdx, 0x12
shl r9, 0x1a
and r9, r10
or r9, rdx
mov rdx, qword [rsp + 0x30]
mov r13d, dword [rdx - 6]
or rsi, rdi
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx - 0xe]
shl rdx, 0xa
or r9, rdx
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx - 0xf]
lea rdx, [r9 + rdx*4]
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 0x14]
shl r9, 0xd
or r11, r9
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 7]
shl r9, 0xf
mov rax, r13
shl rax, 0x17
and rax, r14
or rax, r9
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 8]
shl r9, 7
or rax, r9
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 0x35]
shl r9, 5
or rsi, r9
shr ebx, 0x19
or rax, rbx
mov r14, rax
mov r9, qword [rsp + 0x30]
movzx r9d, byte [r9 - 0x15]
shr ecx, 3
mov r10, qword [rsp + 0x38]
shr r10d, 0x1c
or r10, rbp
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax - 0x16]
shl r9, 5
shr r13d, 0x1c
or r13, r8
mov rdi, rax
or r11, r9
mov r8, qword [rsp + 0x30]
movzx ebx, byte [r8 - 0x17]
shr eax, 3
shr r15d, 6
or rsi, rcx
or r15, rdx
mov qword [rsp + 0x60], r13
lea rcx, [r13*8]
add rcx, r13
lea r8, [rcx*2]
add r8, r13
or r11, rax
mov rax, r8
mov r13, r10
mul r10
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rdx
shl rbx, 0x28
mov qword [rsp + 0x120], r14
lea rax, [r14 + r14*8]
lea r12, [r14 + rax*2]
mov rax, r12
mul r10
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
shl rdi, 0x30
mov qword [rsp + 0x118], r15
lea rax, [r15 + r15*8]
lea r10, [r15 + rax*2]
mov rax, r10
mul r13
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x40], r11
lea rax, [r11 + r11*8]
lea rax, [r11 + rax*2]
mul r13
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rdx
mov rax, r8
mov rbp, qword [rsp + 0x28]
mul rbp
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rdx
movabs rax, 0x7000000000000
and rdi, rax
or rdi, rbx
mov rax, r12
mul rbp
mov qword [rsp + 0x80], rax
mov r9, rdx
mov rax, r10
mul rbp
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rdx
mov r10, qword [rsp + 0x48]
shr r10d, 6
add r10, qword [rsp + 0x50]
mov rax, r8
mul r10
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x188], rdx
mov rax, r12
mul r10
mov rbx, r10
mov r15, rax
mov r11, rdx
mov rax, qword [rsp + 0x30]
mov eax, dword [rax - 0x1c]
or rdi, rax
mov rax, r8
mul rsi
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdx
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax - 0x18]
shl rcx, 0x20
or rcx, rdi
mov rax, rcx
mov qword [rsp + 0x38], r13
mul r13
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rdx
mov rax, qword [rsp + 0x30]
movzx r14d, byte [rax - 0x38]
shl r14, 0x20
add r14, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x40]
mov rax, rdi
mul rbp
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdx
mov rax, rcx
mul rbp
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x58], rdx
mov rax, rdi
mov qword [rsp + 0x1a0], rsi
sub rax, rsi
mov r10, rax
mov r8, qword [rsp + 0x118]
mov rax, r8
mov qword [rsp + 0x48], rbx
mul rbx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov rax, rdi
mul rbx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rdx
mov rax, r8
mov rdi, r8
sub rax, rbx
mov r8, rax
mov rax, rcx
mul rbx
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rdx
mov r13, qword [rsp + 0x120]
mov rax, r13
mul rsi
mov r12, rax
mov rbp, rdx
movabs rax, 0xffffffffffffe
add r10, rax
mov qword [rsp + 0x1c0], r10
add r8, rax
mov rbx, rax
mov qword [rsp + 0x110], r8
mov rax, rdi
mov r10, rdi
mul rsi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x190], rax
mov rdi, qword [rsp + 0x40]
mov rax, rdi
mul rsi
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rdx
mov rax, r13
mov r8, r13
sub r8, qword [rsp + 0x28]
mov qword [rsp + 0x50], rcx
mov rax, rcx
mul rsi
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0x128], rdx
sub rcx, r14
mov qword [rsp + 0x1b0], rcx
add r8, rbx
mov qword [rsp + 0x1b8], r8
mov rcx, qword [rsp + 0x60]
mov rax, rcx
mul r14
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rax
mov rax, r13
mul r14
mov rbx, rax
mov r13, rdx
sub rcx, qword [rsp + 0x38]
mov rax, r10
mul r14
mov r10, rdx
mov rsi, rax
mov rax, rdi
mul r14
mov qword [rsp + 0x198], r14
mov r8, rdx
mov rdi, rax
mov rax, qword [rsp + 0x50]
mul r14
mov r14, rax
movabs rax, 0xffffffffffffe
add rcx, rax
mov qword [rsp + 0x1a8], rcx
add r15, qword [rsp + 0x140]
adc r11, qword [rsp + 0x148]
add r15, qword [rsp + 0x130]
adc r11, qword [rsp + 0x138]
add r15, qword [rsp + 0x160]
adc r11, qword [rsp + 0x168]
add r14, r15
adc r11, rdx
mov rax, r11
shld r11, r14, 0xd
shr rax, 0x33
movabs rdx, 0x7ffffffffffff
and r14, rdx
mov rcx, qword [rsp + 0x80]
add rcx, qword [rsp + 0x70]
adc r9, qword [rsp + 0x78]
add rcx, qword [rsp + 0x170]
adc r9, qword [rsp + 0x188]
add rcx, rdi
adc r9, r8
add rcx, qword [rsp + 0x1e8]
adc r9, qword [rsp + 0x128]
add rcx, r11
adc r9, rax
mov rax, r9
shld r9, rcx, 0xd
shr rax, 0x33
and rcx, rdx
mov rdx, rcx
add rsi, qword [rsp + 0xd0]
adc r10, qword [rsp + 0xd8]
add rsi, qword [rsp + 0xa8]
adc r10, qword [rsp + 0xb8]
add rsi, qword [rsp + 0x150]
adc r10, qword [rsp + 0x158]
add rsi, qword [rsp + 0x178]
adc r10, qword [rsp + 0x180]
add rsi, r9
adc r10, rax
mov rax, r10
shld r10, rsi, 0xd
shr rax, 0x33
movabs rcx, 0x7ffffffffffff
and rsi, rcx
add rbx, qword [rsp + 0x190]
adc r13, qword [rsp + 0x68]
add rbx, qword [rsp + 0x100]
adc r13, qword [rsp + 0x108]
add rbx, qword [rsp + 0x98]
adc r13, qword [rsp + 0xa0]
add rbx, qword [rsp + 0xb0]
adc r13, qword [rsp + 0x58]
add rbx, r10
adc r13, rax
mov rax, r13
shld r13, rbx, 0xd
shr rax, 0x33
add r12, qword [rsp + 0xc0]
adc rbp, qword [rsp + 0xc8]
add r12, qword [rsp + 0x88]
adc rbp, qword [rsp + 0x90]
add r12, qword [rsp + 0xe0]
adc rbp, qword [rsp + 0xe8]
add r12, qword [rsp + 0xf0]
adc rbp, qword [rsp + 0xf8]
add r12, r13
adc rbp, rax
shld rbp, r12, 0xd
lea rax, [rbp*8]
add rax, rbp
lea rax, [rax*2]
add rax, rbp
add r14, rax
mov qword [rsp + 0x58], r14
mov r8, r14
shr r8, 0x33
add r8, rdx
movabs rax, 0x7ffffffffffff
and r12, rax
mov rax, r12
movabs r11, 0x2ac822b5a729ed
mul r11
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rdx
mov r14, r8
shr r14, 0x33
add r14, rsi
mov rax, r12
movabs r9, 0x7a9372c9c903d5
mul r9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
mov rax, r12
movabs rdi, 0x48621a40428616
mul rdi
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x98], rax
mov rax, r12
movabs rcx, 0x3ef5f8c52e700e
mul rcx
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rdx
movabs rax, 0x7ffffffffffff
and rbx, rax
mov rax, rbx
mul r11
mov r15, rax
mov rcx, rdx
mov rax, rbx
mul r9
mov r10, rdx
mov r13, rax
mov rax, rbx
mul rdi
mov rbp, rax
mov rdi, rdx
movabs rax, 0x7ffffffffffff
and r8, rax
mov rax, r14
mul r11
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
mov rax, r14
mul r9
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, r8
mul r11
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rax
mov rax, r12
movabs r11, 0x69b9426b2f159
mul r11
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf8], rdx
mov rax, rbx
movabs rdx, 0x35050762add7a
mul rdx
mov r9, rdx
mov r12, rax
mov rax, rbx
mul r11
mov r11, rdx
mov rsi, rax
mov rax, r14
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf0], rdx
mov rax, r14
movabs rbx, 0x35050762add7a
mul rbx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov rax, r14
movabs r14, 0x69b9426b2f159
mul r14
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rax
mov rax, r8
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
mov rax, r8
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rax
mov rax, r8
mov rdx, rbx
mul rbx
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rdx
movabs rax, 0x7ffffffffffff
mov rbx, qword [rsp + 0x58]
and rbx, rax
mov rax, r8
mul r14
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
mov rax, rbx
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xb8], rax
mov rax, rbx
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x188], rax
mov rax, rbx
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rdx
mov rax, rbx
movabs rdx, 0x35050762add7a
mul rdx
mov r8, rdx
mov r14, rax
mov rax, rbx
movabs rdx, 0x69b9426b2f159
mul rdx
add rbp, qword [rsp + 0x178]
adc rdi, qword [rsp + 0x180]
add rbp, rax
adc rdi, rdx
add rbp, qword [rsp + 0x148]
adc rdi, qword [rsp + 0x150]
add rbp, qword [rsp + 0x158]
adc rdi, qword [rsp + 0x160]
mov rax, rdi
shld rdi, rbp, 0xd
shr rax, 0x33
movabs rdx, 0x7ffffffffffff
and rbp, rdx
add r15, qword [rsp + 0xa0]
adc rcx, qword [rsp + 0xa8]
add r13, qword [rsp + 0x98]
adc r10, qword [rsp + 0xb0]
add r13, r14
mov r14, qword [rsp + 0x1c8]
adc r10, r8
add r13, qword [rsp + 0x128]
adc r10, qword [rsp + 0x130]
add r13, qword [rsp + 0x78]
adc r10, qword [rsp + 0x80]
add r13, rdi
adc r10, rax
mov rdx, r10
shld r10, r13, 0xd
shr rdx, 0x33
movabs rax, 0x7ffffffffffff
and r13, rax
add r15, qword [rsp + 0x138]
adc rcx, qword [rsp + 0x140]
add r15, qword [rsp + 0x168]
adc rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x198]
add rax, r8
mov qword [rsp + 0x50], rax
add r15, qword [rsp + 0x68]
adc rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x40]
add r8, rax
add r15, r10
adc rcx, rdx
mov rdx, rcx
shld rcx, r15, 0xd
shr rdx, 0x33
movabs r10, 0x7ffffffffffff
and r15, r10
add rsi, qword [rsp + 0x100]
adc r11, qword [rsp + 0x108]
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x118]
add r10, rax
add rsi, qword [rsp + 0x188]
adc r11, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x120]
add rdi, rax
add rsi, qword [rsp + 0x88]
adc r11, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
add rbx, rax
add rsi, qword [rsp + 0xc0]
adc r11, qword [rsp + 0xc8]
add rsi, rcx
adc r11, rdx
mov rax, qword [rsp + 0x50]
mov qword [rsp + r14 + 0x340], rax
mov qword [rsp + r14 + 0x348], r8
mov rax, r11
shld r11, rsi, 0xd
shr rax, 0x33
movabs rcx, 0x7ffffffffffff
and rsi, rcx
add r12, qword [rsp + 0xe8]
mov qword [rsp + r14 + 0x350], r10
adc r9, qword [rsp + 0xf8]
add r12, qword [rsp + 0xb8]
mov qword [rsp + r14 + 0x358], rdi
mov rdi, qword [rsp + 0x30]
movabs r8, 0x7ffffffffffff
adc r9, qword [rsp + 0x58]
add r12, qword [rsp + 0xd0]
mov qword [rsp + r14 + 0x360], rbx
adc r9, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x1b0]
movabs rdx, 0xffffffffffffe
add rcx, rdx
add rcx, 0xffffffffffffffdc
mov qword [rsp + r14 + 0x368], rcx
add r12, qword [rsp + 0xe0]
adc r9, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + r14 + 0x370], rcx
add r12, r11
adc r9, rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + r14 + 0x378], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + r14 + 0x380], rax
shld r9, r12, 0xd
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + r14 + 0x388], rax
lea rax, [r9 + r9*8]
lea rax, [r9 + rax*2]
add rax, rbp
mov rcx, rax
shr rcx, 0x33
add rcx, r13
mov rdx, rcx
shr rdx, 0x33
add rdx, r15
and rax, r8
mov qword [rsp + r14 + 0x390], rax
and rcx, r8
mov qword [rsp + r14 + 0x398], rcx
mov qword [rsp + r14 + 0x3a0], rdx
mov qword [rsp + r14 + 0x3a8], rsi
and r12, r8
mov qword [rsp + r14 + 0x3b0], r12
add r14, 0x78
add rdi, 0x40
cmp r14, 0x778
jne 0x1400aea3f
xorps xmm6, xmm6
mov rcx, qword [rsp + 0x1d0]
movups xmmword [rcx + 0x20], xmm6
movups xmmword [rcx + 0x40], xmm6
movups xmmword [rcx + 0x30], xmm6
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rcx], xmm6
mov eax, 1
mov qword [rcx + 0x28], rax
lea rdx, [rcx + 0x50]
mov qword [rsp + 0x68], rdx
movups xmmword [rcx + 0x58], xmm6
movups xmmword [rcx + 0x68], xmm6
mov qword [rcx + 0x50], rax
movups xmmword [rcx + 0x78], xmm6
movups xmmword [rcx + 0x88], xmm6
mov qword [rcx + 0x98], 0
mov ecx, 0x3f
movaps xmm7, xmmword [0x14016f5d0]
mov eax, ecx
shr eax, 3
mov r10, qword [rsp + 0x1f0]
movzx edx, byte [r10 + rax]
mov dword [rsp + 0x120], ecx
and cl, 7
movzx ecx, cl
xor r8d, r8d
bt edx, ecx
setb r8b
movzx edx, byte [r10 + rax + 8]
shr rdx, cl
movzx r9d, byte [r10 + rax + 0x10]
shr r9, cl
and edx, 1
lea rdx, [r8 + rdx*2]
and r9d, 1
movzx eax, byte [r10 + rax + 0x18]
shr rax, cl
lea rcx, [rdx + r9*4]
and eax, 1
lea rax, [rcx + rax*8]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x360]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax + 0x20], rcx
movups xmmword [rax + 0x10], xmm7
movups xmmword [rax], xmm7
movups xmmword [rax - 0x10], xmm6
movups xmmword [rax - 0x20], xmm6
mov qword [rsp + 0x338], 1
movups xmmword [rax + 0x38], xmm6
mov qword [rax + 0x48], 0
mov r9, qword [rsp + 0x340]
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x40], rax
lea rdi, [rsp + 0x420]
mov r8d, 0
mov eax, 1
xor r10d, r10d
xor r11d, r11d
xor esi, esi
xor ebx, ebx
xor r14d, r14d
xor r15d, r15d
mov r12d, 1
xor r13d, r13d
xor ebp, ebp
xor edx, edx
mov ecx, 1
nop
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x38]
xor rcx, qword [rsp + 0x60]
dec rcx
sar rcx, 0x3f
mov rax, qword [rdi - 0x70]
xor rax, qword [rsp + 0x28]
and rax, rcx
xor rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], r9
mov r9, qword [rdi - 0x68]
xor r9, qword [rsp + 0x28]
and r9, rcx
xor r9, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rdi - 0x60]
xor rdx, qword [rsp + 0x28]
and rdx, rcx
xor rdx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rbp
mov rbp, qword [rdi - 0x58]
xor rbp, qword [rsp + 0x28]
and rbp, rcx
xor rbp, qword [rsp + 0x28]
mov qword [rsp + 0x28], r13
mov r13, qword [rdi - 0x50]
xor r13, qword [rsp + 0x28]
and r13, rcx
xor r13, qword [rsp + 0x28]
mov qword [rsp + 0x28], r12
mov r12, qword [rdi - 0x48]
xor r12, qword [rsp + 0x28]
and r12, rcx
xor r12, qword [rsp + 0x28]
mov qword [rsp + 0x28], r15
mov r15, qword [rdi - 0x40]
xor r15, qword [rsp + 0x28]
and r15, rcx
xor r15, qword [rsp + 0x28]
mov qword [rsp + 0x28], r14
mov r14, qword [rdi - 0x38]
xor r14, qword [rsp + 0x28]
and r14, rcx
xor r14, qword [rsp + 0x28]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rdi - 0x30]
xor rbx, qword [rsp + 0x28]
and rbx, rcx
xor rbx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rsi
mov rsi, qword [rdi - 0x28]
xor rsi, qword [rsp + 0x28]
and rsi, rcx
xor rsi, qword [rsp + 0x28]
mov qword [rsp + 0x28], r11
mov r11, qword [rdi - 0x20]
xor r11, qword [rsp + 0x28]
and r11, rcx
xor r11, qword [rsp + 0x28]
mov qword [rsp + 0x28], r10
mov r10, qword [rdi - 0x18]
xor r10, qword [rsp + 0x28]
and r10, rcx
xor r10, qword [rsp + 0x28]
mov qword [rsp + 0x28], r8
mov r8, qword [rdi - 0x10]
mov rdi, qword [rsp + 0x28]
xor r8, rdi
and r8, rcx
xor r8, rdi
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x30]
mov rdi, qword [rdi - 8]
xor rdi, qword [rsp + 0x28]
and rdi, rcx
xor rdi, qword [rsp + 0x28]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x30]
mov rdi, qword [rdi]
xor rdi, qword [rsp + 0x28]
and rdi, rcx
mov rcx, qword [rsp + 0x38]
xor rdi, qword [rsp + 0x28]
mov qword [rsp + 0x40], rdi
mov rdi, qword [rsp + 0x30]
inc rcx
add rdi, 0x78
cmp rcx, 0x10
jne 0x1400af8f0
mov qword [rsp + 0x338], rax
mov qword [rsp + 0x340], r9
mov qword [rsp + 0x348], rdx
mov qword [rsp + 0x350], rbp
mov qword [rsp + 0x358], r13
mov qword [rsp + 0x360], r12
mov qword [rsp + 0x368], r15
mov qword [rsp + 0x370], r14
mov qword [rsp + 0x378], rbx
mov qword [rsp + 0x380], rsi
mov qword [rsp + 0x388], r11
mov qword [rsp + 0x390], r10
mov qword [rsp + 0x398], r8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x3a0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x3a8], rax
mov r8d, 0xa0
lea rcx, [rsp + 0x1f8]
mov dl, 0xaa
call fcn.1400c0660
mov r13, qword [rsp + 0x1d0]
mov rax, qword [r13 + 0x28]
mov r10, qword [r13]
mov r11, qword [r13 + 8]
lea rcx, [r10 + rax]
mov qword [rsp + 0x30], rcx
mov rcx, qword [r13 + 0x30]
lea rdx, [r11 + rcx]
mov qword [rsp + 0x38], rdx
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 rsi, qword [r13 + 0x20]
lea rbp, [rsi + r9]
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x298], rdi
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x2a0], rdi
mov qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], r14
mov qword [rsp + 0x2b0], r12
mov qword [rsp + 0x2b8], rbp
movabs rdi, 0xffffffffffffe
add rax, rdi
sub rax, r10
add rax, 0xffffffffffffffdc
add rcx, rdi
sub rcx, r11
add rdx, rdi
sub rdx, rbx
add r8, rdi
sub r8, r15
add r9, rdi
sub r9, rsi
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x2c8], rcx
mov qword [rsp + 0x2d0], rdx
mov qword [rsp + 0x2d8], r8
mov qword [rsp + 0x2e0], r9
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x2e8]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov r10, qword [r13 + 0x98]
mov rax, r10
movabs r14, 0x2ac822b5a729ed
mul r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rax, r10
movabs rdi, 0x7a9372c9c903d5
mul rdi
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1b0], rax
mov rax, r10
movabs r9, 0x48621a40428616
mul r9
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1a8], rax
mov rax, r10
movabs rcx, 0x3ef5f8c52e700e
mul rcx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
mov r11, qword [r13 + 0x90]
mov rax, r11
mul r14
mov rbp, rdx
mov rcx, rax
mov rax, r11
mul rdi
mov r15, rdx
mov r8, rax
mov rax, r11
mul r9
mov r9, rax
mov rsi, rdx
mov rbx, qword [r13 + 0x88]
mov rax, rbx
mul r14
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf0], rax
mov rax, rbx
mul rdi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], rdx
mov rdi, qword [r13 + 0x80]
mov rax, rdi
mul r14
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov rax, r10
movabs r14, 0x69b9426b2f159
mul r14
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x48], rax
mov rax, r11
movabs rdx, 0x35050762add7a
mul rdx
mov r12, rdx
mov r10, rax
mov rax, r11
mul r14
mov r14, rdx
mov r11, rax
mov rax, rbx
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], rax
mov rax, rbx
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], rax
mov rax, rbx
movabs rdx, 0x69b9426b2f159
mul rdx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov rax, rdi
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x50], rax
mov rax, rdi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x100], rax
mov rax, rdi
movabs rbx, 0x35050762add7a
mul rbx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xb8], rax
mov rax, rdi
movabs rdx, 0x69b9426b2f159
mul rdx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
mov rdi, qword [r13 + 0x78]
mov rax, rdi
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x110], rax
mov rax, rdi
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xe0], rax
mov rax, rdi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rax
mov rax, rdi
mul rbx
mov qword [rsp + 0x70], rdx
mov rbx, rax
mov rax, rdi
movabs rdx, 0x69b9426b2f159
mul rdx
add r9, qword [rsp + 0xd0]
adc rsi, qword [rsp + 0xd8]
add r9, qword [rsp + 0xa0]
adc rsi, qword [rsp + 0xb0]
add r9, qword [rsp + 0x98]
adc rsi, qword [rsp + 0xa8]
add r9, rax
adc rsi, rdx
shld rsi, r9, 0xd
movabs rdi, 0x7ffffffffffff
and r9, rdi
add rcx, qword [rsp + 0x1b0]
adc rbp, qword [rsp + 0x1c0]
add r8, qword [rsp + 0x1a8]
adc r15, qword [rsp + 0x1b8]
add r8, qword [rsp + 0xf0]
adc r15, qword [rsp + 0xf8]
add r8, qword [rsp + 0x78]
adc r15, qword [rsp + 0x80]
add r8, rbx
adc r15, qword [rsp + 0x70]
add r8, rsi
adc r15, 0
shld r15, r8, 0xd
and r8, rdi
add rcx, qword [rsp + 0xc0]
adc rbp, qword [rsp + 0xc8]
add rcx, qword [rsp + 0xb8]
adc rbp, qword [rsp + 0x58]
add rcx, qword [rsp + 0x88]
adc rbp, qword [rsp + 0x90]
add rcx, r15
adc rbp, 0
shld rbp, rcx, 0xd
and rcx, rdi
add r11, qword [rsp + 0x38]
adc r14, qword [rsp + 0x30]
add r11, qword [rsp + 0x198]
adc r14, qword [rsp + 0x1a0]
add r11, qword [rsp + 0x100]
adc r14, qword [rsp + 0x108]
add r11, qword [rsp + 0xe0]
adc r14, qword [rsp + 0xe8]
add r11, rbp
adc r14, 0
shld r14, r11, 0xd
and r11, rdi
add r10, qword [rsp + 0x48]
adc r12, qword [rsp + 0x28]
add r10, qword [rsp + 0x60]
adc r12, qword [rsp + 0x40]
add r10, qword [rsp + 0x50]
adc r12, qword [rsp + 0x118]
add r10, qword [rsp + 0x110]
adc r12, qword [rsp + 0x1c8]
add r10, r14
adc r12, 0
shld r12, r10, 0xd
lea rax, [r12 + r12*8]
lea rax, [r12 + 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, rdi
mov qword [rsp + 0x310], rax
and rdx, rdi
mov qword [rsp + 0x318], rdx
mov qword [rsp + 0x320], r8
mov qword [rsp + 0x328], r11
and r10, rdi
mov qword [rsp + 0x330], r10
lea rsi, [rsp + 0x1f8]
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x298]
call fcn.1400ad6d0
mov rcx, r13
mov rdx, rsi
call fcn.1400ac740
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x338]
call fcn.1400b00e0
mov rcx, r13
mov rdx, rsi
call fcn.1400ac740
mov ecx, dword [rsp + 0x120]
dec ecx
cmp ecx, 0x40
jb 0x1400af7fb
mov rcx, qword [rsp + 0xab8]
xor rcx, rsp
call fcn.1400be510
movaps xmm6, xmmword [rsp + 0xac0]
movaps xmm7, xmmword [rsp + 0xad0]
add rsp, 0xae8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret