Function at 0x1400ae3c0
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa58
mov rsi, r8
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0xb0], rcx
mov rax, qword [0x14020b038]
xor rax, rsp
mov qword [rsp + 0xa50], rax
lea rcx, [rsp + 0x340]
mov r8d, 0x708
mov dl, 0xaa
call fcn.140114f20
add rsi, 0x3f
mov r13d, 0x70
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x28], rsi
movzx r8d, byte [rsi - 0x20]
shl r8, 0x2c
movzx edx, byte [rsi - 0x21]
movzx r9d, byte [rsi - 0x22]
shl rdx, 0x24
shl r9, 0x1c
movzx r15d, byte [rsi - 0x23]
movzx r10d, byte [rsi - 0x24]
shl r15, 0x14
shl r10, 0xc
movzx ecx, byte [rsi - 0x25]
movzx eax, byte [rsi - 0x26]
shl rcx, 4
mov qword [rsp + 0xb8], rcx
shl rax, 0x2f
movzx r14d, byte [rsi - 0x27]
movzx edi, byte [rsi - 0x28]
shl r14, 0x27
shl rdi, 0x1f
movzx r12d, byte [rsi - 0x29]
movzx r11d, byte [rsi - 0x2a]
shl r12, 0x17
shl r11, 0xf
movzx ecx, byte [rsi - 0x2b]
shl rcx, 7
mov qword [rsp + 0x98], rcx
or rdx, r8
movzx r8d, byte [rsi - 0x2c]
shl r8, 0x32
movzx r13d, byte [rsi - 0x2d]
or r14, rax
shl r13, 0x2a
movzx eax, byte [rsi - 0x2e]
shl rax, 0x22
or r13, r8
movzx ebp, byte [rsi - 0x2f]
shl rbp, 0x1a
mov r8, qword [rsp + 0x28]
movzx esi, byte [r8 - 0x30]
or r9, rdx
shl rsi, 0x12
mov rdx, qword [rsp + 0x28]
movzx edx, byte [rdx - 0x31]
shl rdx, 0xa
or rdi, r14
mov r8, qword [rsp + 0x28]
movzx r8d, byte [r8 - 0x32]
mov rbx, qword [rsp + 0x28]
movzx r14d, byte [rbx - 0x33]
shl r14, 0x2d
or rax, r13
mov rbx, qword [rsp + 0x28]
movzx r13d, byte [rbx - 0x34]
shl r13, 0x25
or r13, r14
or r15, r9
mov r9, qword [rsp + 0x28]
movzx ebx, byte [r9 - 0x35]
shl rbx, 0x1d
or rbx, r13
or r12, rdi
mov r9, qword [rsp + 0x28]
movzx r13d, byte [r9 - 0x36]
shl r13, 0x15
mov r9, qword [rsp + 0x28]
movzx r14d, byte [r9 - 0x37]
or rbp, rax
shl r14, 0xd
mov rax, qword [rsp + 0x28]
movzx r9d, byte [rax - 0x38]
shl r9, 5
or r13, rbx
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0x3a]
shl rax, 0x28
mov rdi, qword [rsp + 0x28]
movzx ebx, byte [rdi - 0x3b]
shl rbx, 0x20
or rbx, rax
mov rax, qword [rsp + 0x28]
movzx edi, byte [rax - 0x39]
shl rdi, 0x30
or r10, r15
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0x3c]
shl rax, 0x18
or rax, rbx
or r11, r12
mov rbx, qword [rsp + 0x28]
movzx r12d, byte [rbx - 0x3d]
shl r12, 0x10
or r12, rax
or rsi, rbp
mov rax, qword [rsp + 0x28]
movzx r15d, byte [rax - 0x3e]
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 1]
shl rax, 0x2c
shl rbx, 0x24
or rbx, rax
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 2]
shl r15, 8
shl rax, 0x1c
or rax, rbx
mov rbx, qword [rsp + 0x28]
movzx ecx, byte [rbx - 0x3f]
or r14, r13
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 3]
shl rbx, 0x14
or rbx, rax
or rcx, r12
mov rax, qword [rsp + 0x28]
movzx r12d, byte [rax - 4]
shl r12, 0xc
or r12, rbx
add qword [rsp + 0xb8], r10
mov rax, qword [rsp + 0x28]
movzx r10d, byte [rax - 5]
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 6]
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 7]
shl rax, 0x2f
shl rbx, 0x27
or rbx, rax
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 8]
shl r10, 4
shl rax, 0x1f
or rax, rbx
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 9]
shl rbx, 0x17
or rbx, rax
mov rax, qword [rsp + 0x28]
movzx r13d, byte [rax - 0xa]
shl r13, 0xf
mov rbp, qword [rsp + 0x98]
or rbp, r11
or r13, rbx
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0xc]
mov r11, qword [rsp + 0x28]
movzx r11d, byte [r11 - 0xd]
shl rax, 0x32
shl r11, 0x2a
or r11, rax
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0xe]
shl rax, 0x22
or rax, r11
mov r11, qword [rsp + 0x28]
movzx r11d, byte [r11 - 0xb]
shl r11, 7
or rdx, rsi
mov rsi, qword [rsp + 0x28]
movzx esi, byte [rsi - 0xf]
shl rsi, 0x1a
or rsi, rax
or r9, r14
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0x10]
shl rax, 0x12
or rax, rsi
or rcx, r15
mov rsi, qword [rsp + 0x28]
movzx esi, byte [rsi - 0x11]
shl rsi, 0xa
mov rbx, qword [rsp + 0x28]
movzx r14d, byte [rbx - 0x12]
or r10, r12
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 0x13]
shl rbx, 0x2d
mov r15, qword [rsp + 0x28]
movzx r15d, byte [r15 - 0x14]
shl r15, 0x25
or r15, rbx
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 0x15]
shl rbx, 0x1d
or r11, r13
or rbx, r15
mov r15, qword [rsp + 0x28]
movzx r15d, byte [r15 - 0x16]
shl r15, 0x15
or rsi, rax
or r15, rbx
mov rax, qword [rsp + 0x28]
movzx ebx, byte [rax - 0x17]
shl rbx, 0xd
add rcx, rdi
mov qword [rsp + 0x98], rcx
or rbx, r15
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax - 0x18]
shl rax, 5
lea r15, [rdx + r8*4]
or rax, rbx
mov rdx, qword [rsp + 0x28]
movzx edx, byte [rdx - 0x19]
shl rdx, 0x30
mov r8, qword [rsp + 0x28]
movzx r8d, byte [r8 - 0x1a]
shl r8, 0x28
mov rdi, qword [rsp + 0x28]
movzx edi, byte [rdi - 0x1b]
shr rcx, 0x33
shl rdi, 0x20
or rdi, r8
mov r8, qword [rsp + 0x28]
movzx r8d, byte [r8 - 0x1c]
add rcx, r9
shl r8, 0x18
or r8, rdi
mov r9, qword [rsp + 0x28]
movzx r9d, byte [r9 - 0x1d]
mov rdi, rcx
mov r12, rcx
shl r9, 0x10
or r9, r8
mov r8, qword [rsp + 0x28]
movzx r8d, byte [r8 - 0x1e]
shr rdi, 0x33
shl r8, 8
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx - 0x1f]
or rbx, r9
add r15, rdi
or rbx, r8
add rbx, rdx
mov r8, rbx
mov rdx, r15
shr r8, 0x33
add r8, rax
mov rax, r8
mov rdi, r8
shr rdx, 0x33
shr rax, 0x33
lea r9, [rsi + r14*4]
add r9, rax
add rdx, rbp
mov rax, r9
shr rax, 0x33
add rax, r11
mov rsi, rdx
mov r8, rax
shr rdx, 0x33
mov rcx, rax
shr rcx, 0x33
movabs rax, 0x7ffffffffffff
and r8, rax
add rcx, r10
mov qword [rsp + 0x1c0], rcx
lea rax, [rcx + rcx*8]
lea rcx, [rcx + rax*2]
mov r10, rdx
add r10, qword [rsp + 0xb8]
mov rax, rcx
mul r10
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x90], rdx
movabs rax, 0x7ffffffffffff
and r9, rax
mov qword [rsp + 0x38], r8
lea rax, [r8 + r8*8]
lea r8, [r8 + rax*2]
mov rax, r8
mul r10
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rdx
movabs rax, 0x7ffffffffffff
and rdi, rax
mov qword [rsp + 0xb8], r9
lea rax, [r9 + r9*8]
lea r9, [r9 + rax*2]
mov rax, r9
mul r10
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x138], rdx
movabs rax, 0x7ffffffffffff
and rsi, rax
mov r14, rdi
lea rax, [rdi + rdi*8]
lea rax, [rdi + rax*2]
mul r10
mov qword [rsp + 0x1a0], r10
mov rbp, rdx
mov qword [rsp + 0xe0], rax
mov rax, rcx
mul rsi
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x168], rax
mov rax, r8
mul rsi
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
mov rax, r9
mul rsi
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
movabs rax, 0x7ffffffffffff
and r12, rax
and r15, rax
mov rax, rcx
mul r15
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdx
mov rax, r8
mul r15
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x1a8], rax
mov rax, rcx
mov rcx, r12
mov qword [rsp + 0x1e8], r12
mul r12
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xc0], rdx
movabs rax, 0x7ffffffffffff
and rbx, rax
mov rax, rbx
mul r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x1b8], rdx
mov rax, rdi
mul rsi
mov r13, rdx
mov qword [rsp + 0x178], rax
mov rax, rbx
mov r10, rbx
mov qword [rsp + 0xa8], rbx
mul rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rdx
movabs rax, 0x7ffffffffffff
mov rbx, qword [rsp + 0x98]
and rbx, rax
mov qword [rsp + 0x98], rbx
mov r11, qword [rsp + 0xb8]
mov rax, r11
mul r15
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x180], rdx
mov r8, rdi
mov rax, rdi
mul r15
mov r14, rax
mov r12, rdx
movabs r9, 0xffffffffffffe
mov rax, r9
sub rax, rbx
mov qword [rsp + 0xa0], rax
mov rax, r10
mul r15
mov r10, r15
mov qword [rsp + 0x80], r15
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rdx
mov rax, r9
sub rax, rcx
add rax, rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x88], rax
mov r15, qword [rsp + 0x38]
mov rax, r15
mul rcx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rdx
mov rdx, r9
sub rdx, r10
add rdx, r11
mov qword [rsp + 0x50], rdx
mov rax, r11
mul rcx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdx
mov rax, rdi
mul rcx
mov rdi, rax
mov r11, rdx
mov r8, r9
sub r8, rsi
mov r10, qword [rsp + 0xa8]
mov rax, r10
mul rcx
mov rcx, rax
mov qword [rsp + 0x1e0], rdx
mov rsi, qword [rsp + 0x1c0]
mov rax, rsi
mul rbx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x60], rdx
sub r9, qword [rsp + 0x1a0]
mov rax, r15
mul rbx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
mov rax, qword [rsp + 0xb8]
mul rbx
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1c8], rdx
add r8, r15
mov qword [rsp + 0x198], r8
add r9, rsi
mov qword [rsp + 0x40], r9
mov rax, qword [rsp + 0x30]
mul rbx
mov r9, rax
mov rsi, rdx
mov rax, r10
mul rbx
mov r15, rax
add r15, qword [rsp + 0xe0]
adc rbp, rdx
add r15, qword [rsp + 0xd0]
adc rbp, qword [rsp + 0xd8]
add r15, qword [rsp + 0x1a8]
adc rbp, qword [rsp + 0xc8]
add r15, qword [rsp + 0x1b0]
adc rbp, qword [rsp + 0xc0]
mov rax, rbp
shld rbp, r15, 0xd
shr rax, 0x33
movabs rdx, 0x7ffffffffffff
and r15, rdx
add r9, rcx
adc rsi, qword [rsp + 0x1e0]
add r9, qword [rsp + 0x58]
adc rsi, qword [rsp + 0x138]
add r9, qword [rsp + 0x128]
adc rsi, qword [rsp + 0x130]
add r9, qword [rsp + 0x108]
adc rsi, qword [rsp + 0x110]
add r9, rbp
adc rsi, rax
mov rax, rsi
shld rsi, r9, 0xd
shr rax, 0x33
movabs rcx, 0x7ffffffffffff
and r9, rcx
add rdi, qword [rsp + 0xe8]
adc r11, qword [rsp + 0xf0]
add rdi, qword [rsp + 0x1d0]
adc r11, qword [rsp + 0x1c8]
add rdi, qword [rsp + 0x188]
adc r11, qword [rsp + 0x190]
add rdi, qword [rsp + 0x168]
adc r11, qword [rsp + 0x170]
add rdi, rsi
adc r11, rax
mov rax, r11
shld r11, rdi, 0xd
shr rax, 0x33
and rdi, rcx
add r14, qword [rsp + 0x140]
adc r12, qword [rsp + 0x148]
add r14, qword [rsp + 0x118]
adc r12, qword [rsp + 0x120]
add r14, qword [rsp + 0xf8]
adc r12, qword [rsp + 0x100]
add r14, qword [rsp + 0x1d8]
adc r12, qword [rsp + 0x90]
add r14, r11
adc r12, rax
mov rax, r12
shld r12, r14, 0xd
shr rax, 0x33
mov rbp, qword [rsp + 0x178]
add rbp, qword [rsp + 0x70]
adc r13, qword [rsp + 0x1b8]
add rbp, qword [rsp + 0x68]
adc r13, qword [rsp + 0x180]
add rbp, qword [rsp + 0x158]
adc r13, qword [rsp + 0x160]
add rbp, qword [rsp + 0x150]
adc r13, qword [rsp + 0x60]
add rbp, r12
adc r13, rax
shld r13, rbp, 0xd
lea rax, [r13*8]
add rax, r13
lea rax, [rax*2]
add rax, r13
add r15, rax
mov r10, r15
shr r10, 0x33
add r10, r9
movabs rax, 0x7ffffffffffff
and rbp, rax
mov rax, rbp
movabs r9, 0x2ac822b5a729ed
mul r9
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1d8], rdx
mov rsi, r10
shr rsi, 0x33
add rsi, rdi
mov rax, rbp
movabs rbx, 0x7a9372c9c903d5
mul rbx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], rdx
mov rax, rbp
movabs r11, 0x48621a40428616
mul r11
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x148], rax
mov rax, rbp
movabs rcx, 0x3ef5f8c52e700e
mul rcx
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rdx
movabs rax, 0x7ffffffffffff
and r14, rax
mov rax, r14
mul r9
mov qword [rsp + 0x120], rax
mov r8, rdx
mov rax, r14
mul rbx
mov rcx, rdx
mov r12, rax
mov rax, r14
mul r11
mov qword [rsp + 0x90], rax
mov r11, rdx
movabs rax, 0x7ffffffffffff
and r10, rax
mov rax, rsi
mul r9
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
mov rax, rsi
mul rbx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xd0], rax
mov rax, r10
mul r9
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov rax, rbp
movabs r9, 0x69b9426b2f159
mul r9
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x70], rdx
mov rax, r14
movabs rbx, 0x35050762add7a
mul rbx
mov rbp, rdx
mov rdi, rax
mov rax, r14
mul r9
mov r13, r9
mov r9, rdx
mov r14, rax
mov rax, rsi
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rdx
mov rax, rsi
mul rbx
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x168], rax
mov rax, rsi
mul r13
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], rax
mov rax, r10
movabs rsi, 0x6738cc7407977
mul rsi
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x68], rdx
mov rax, r10
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x58], rax
mov rax, r10
mul rbx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdx
movabs rax, 0x7ffffffffffff
and r15, rax
mov rax, r10
mul r13
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1c8], rdx
mov rax, r15
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, r15
mul rsi
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x100], rax
mov rax, r15
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rdx
mov rax, r15
mul rbx
mov r10, rdx
mov rsi, rax
mov rax, r15
mov r13, qword [rsp + 0x48]
movabs rbx, 0x7ffffffffffff
movabs rdx, 0x69b9426b2f159
mul rdx
mov r15, qword [rsp + 0x90]
add r15, qword [rsp + 0xf0]
adc r11, qword [rsp + 0xf8]
add r15, rax
adc r11, rdx
add r15, qword [rsp + 0xc0]
adc r11, qword [rsp + 0xc8]
add r15, qword [rsp + 0xd0]
adc r11, qword [rsp + 0xd8]
mov rax, r11
shld r11, r15, 0xd
shr rax, 0x33
and r15, rbx
mov qword [rsp + 0x90], r15
mov r15, qword [rsp + 0x120]
add r15, qword [rsp + 0x140]
adc r8, qword [rsp + 0x150]
add r12, qword [rsp + 0x148]
adc rcx, qword [rsp + 0x60]
add r12, rsi
mov rsi, qword [rsp + 0x28]
adc rcx, r10
add r12, qword [rsp + 0x1d0]
adc rcx, qword [rsp + 0x1c8]
add r12, qword [rsp + 0x128]
adc rcx, qword [rsp + 0x130]
mov r10, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x98]
add rdx, r10
mov qword [rsp + r13 + 0x2d0], rdx
add r12, r11
adc rcx, rax
mov rdx, rcx
shld rcx, r12, 0xd
and r12, rbx
shr rdx, 0x33
add r15, qword [rsp + 0x1a8]
adc r8, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0xa0]
add rax, r10
add rax, 0xffffffffffffffdc
add r15, qword [rsp + 0xe0]
adc r8, qword [rsp + 0xe8]
mov r10, qword [rsp + 0x1e8]
mov r11, qword [rsp + 0x30]
add r10, r11
add r15, qword [rsp + 0x110]
adc r8, qword [rsp + 0x118]
mov qword [rsp + r13 + 0x2d8], r10
add r15, rcx
adc r8, rdx
mov rcx, r8
shld r8, r15, 0xd
and r15, rbx
shr rcx, 0x33
add r14, qword [rsp + 0x1b8]
adc r9, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x80]
mov r10, qword [rsp + 0xb8]
add rdx, r10
add r14, qword [rsp + 0x100]
adc r9, qword [rsp + 0x108]
mov qword [rsp + r13 + 0x2e0], rdx
add r14, qword [rsp + 0x58]
adc r9, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x38]
add rdx, r10
add r14, qword [rsp + 0x168]
adc r9, qword [rsp + 0x170]
mov r10, qword [rsp + 0x1a0]
mov r11, qword [rsp + 0x1c0]
add r10, r11
add r14, r8
adc r9, rcx
mov rcx, r9
shld r9, r14, 0xd
and r14, rbx
shr rcx, 0x33
add rdi, qword [rsp + 0x188]
adc rbp, qword [rsp + 0x70]
mov qword [rsp + r13 + 0x2e8], rdx
add rdi, qword [rsp + 0x158]
adc rbp, qword [rsp + 0x160]
mov qword [rsp + r13 + 0x2f0], r10
add rdi, qword [rsp + 0x178]
adc rbp, qword [rsp + 0x68]
mov qword [rsp + r13 + 0x2f8], rax
add rdi, qword [rsp + 0x180]
adc rbp, qword [rsp + 0x190]
mov rax, qword [rsp + 0x88]
mov qword [rsp + r13 + 0x300], rax
add rdi, r9
adc rbp, rcx
mov rax, qword [rsp + 0x50]
mov qword [rsp + r13 + 0x308], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + r13 + 0x310], rax
shld rbp, rdi, 0xd
mov rax, qword [rsp + 0x40]
mov qword [rsp + r13 + 0x318], rax
lea rax, [rbp*8]
add rax, rbp
lea rax, [rax*2]
add rax, rbp
add rax, qword [rsp + 0x90]
mov rcx, rax
shr rcx, 0x33
add rcx, r12
mov rdx, rcx
shr rdx, 0x33
add rdx, r15
and rax, rbx
mov qword [rsp + r13 + 0x320], rax
and rcx, rbx
mov qword [rsp + r13 + 0x328], rcx
mov qword [rsp + r13 + 0x330], rdx
mov qword [rsp + r13 + 0x338], r14
and rdi, rbx
mov qword [rsp + r13 + 0x340], rdi
add r13, 0x78
add rsi, 0x40
cmp r13, 0x778
jne 0x1400ae417
xorps xmm0, xmm0
mov rcx, qword [rsp + 0xb0]
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx], xmm0
mov eax, 1
mov qword [rcx + 0x28], rax
lea rdx, [rcx + 0x50]
mov qword [rsp + 0x1f0], rdx
movups xmmword [rcx + 0x58], xmm0
movups xmmword [rcx + 0x68], xmm0
mov qword [rcx + 0x50], rax
movups xmmword [rcx + 0x78], xmm0
movups xmmword [rcx + 0x88], xmm0
mov qword [rcx + 0x98], 0
mov ecx, 0x3f
mov eax, ecx
shr rax, 3
mov r10, qword [rsp + 0x1f8]
movzx edx, byte [r10 + rax]
mov dword [rsp + 0x1e8], 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]
lea rcx, [rsp + 0x3b0]
mov ebp, 1
xor r12d, r12d
xor r13d, r13d
xor r14d, r14d
xor ebx, ebx
mov edx, 1
mov qword [rsp + 0x1a0], rdx
xor edx, edx
mov qword [rsp + 0x1c0], rdx
xor esi, esi
xor edi, edi
xor r15d, r15d
xor r10d, r10d
xor edx, edx
mov qword [rsp + 0x28], rdx
xor edx, edx
mov qword [rsp + 0xb8], rdx
xor edx, edx
mov qword [rsp + 0x98], rdx
xor edx, edx
mov qword [rsp + 0x90], rdx
mov edx, 1
nop
mov r9, rbp
mov r8d, edx
xor r8d, eax
shl r8, 0x20
movabs r11, 0xffffffff00000000
add r8, r11
sar r8, 0x3f
mov rbp, qword [rcx - 0x70]
xor rbp, r9
and rbp, r8
xor rbp, r9
mov r9, r12
mov r12, qword [rcx - 0x68]
xor r12, r9
and r12, r8
xor r12, r9
mov r9, r13
mov r13, qword [rcx - 0x60]
xor r13, r9
and r13, r8
xor r13, r9
mov r9, r14
mov r14, qword [rcx - 0x58]
xor r14, r9
and r14, r8
xor r14, r9
mov r9, rbx
mov rbx, qword [rcx - 0x50]
xor rbx, r9
and rbx, r8
xor rbx, r9
mov r9, qword [rsp + 0x1a0]
mov r11, qword [rcx - 0x48]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0x1a0], r11
mov r9, qword [rsp + 0x1c0]
mov r11, qword [rcx - 0x40]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0x1c0], r11
mov r9, rsi
mov rsi, qword [rcx - 0x38]
xor rsi, r9
and rsi, r8
xor rsi, r9
mov r9, rdi
mov rdi, qword [rcx - 0x30]
xor rdi, r9
and rdi, r8
xor rdi, r9
mov r9, r15
mov r15, qword [rcx - 0x28]
xor r15, r9
and r15, r8
xor r15, r9
mov r9, r10
mov r10, qword [rcx - 0x20]
xor r10, r9
and r10, r8
xor r10, r9
mov r9, qword [rsp + 0x28]
mov r11, qword [rcx - 0x18]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0x28], r11
mov r9, qword [rsp + 0xb8]
mov r11, qword [rcx - 0x10]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0xb8], r11
mov r9, qword [rsp + 0x98]
mov r11, qword [rcx - 8]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0x98], r11
mov r9, qword [rsp + 0x90]
mov r11, qword [rcx]
xor r11, r9
and r11, r8
xor r11, r9
mov qword [rsp + 0x90], r11
inc rdx
add rcx, 0x78
cmp rdx, 0x10
jne 0x1400af3d0
mov r8d, 0xa0
lea rcx, [rsp + 0x200]
mov dl, 0xaa
mov qword [rsp + 0x1d8], r10
call fcn.140114f20
mov r10, qword [rsp + 0xb0]
mov r11, qword [r10 + 0x28]
mov rax, qword [r10]
mov qword [rsp + 0x88], rax
mov rcx, qword [r10 + 8]
mov qword [rsp + 0x48], rcx
add rax, r11
mov qword [rsp + 0x50], rax
mov rax, qword [r10 + 0x30]
lea rcx, [rcx + rax]
mov qword [rsp + 0x40], rcx
mov rcx, qword [r10 + 0x38]
mov rdx, qword [r10 + 0x10]
mov qword [rsp + 0xa8], rdx
lea rdx, [rdx + rcx]
mov qword [rsp + 0x198], rdx
mov rdx, qword [r10 + 0x40]
mov r8, qword [r10 + 0x18]
mov qword [rsp + 0x30], r8
lea r8, [r8 + rdx]
mov qword [rsp + 0x80], r8
mov r8, qword [r10 + 0x48]
mov r9, qword [r10 + 0x20]
mov qword [rsp + 0x38], r9
lea r10, [r9 + r8]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x2a0], r9
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x2a8], r9
mov r9, qword [rsp + 0x198]
mov qword [rsp + 0x2b0], r9
mov r9, qword [rsp + 0x80]
mov qword [rsp + 0x2b8], r9
mov qword [rsp + 0x2c0], r10
movabs r10, 0xffffffffffffe
lea r9, [r11 + r10]
add r9, 0xffffffffffffffdc
sub r9, qword [rsp + 0x88]
add rax, r10
sub rax, qword [rsp + 0x48]
add rcx, r10
sub rcx, qword [rsp + 0xa8]
add rdx, r10
sub rdx, qword [rsp + 0x30]
add r8, r10
sub r8, qword [rsp + 0x38]
mov qword [rsp + 0x2c8], r9
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x2d8], rcx
mov qword [rsp + 0x2e0], rdx
mov qword [rsp + 0x2e8], r8
mov rax, qword [rsp + 0x1f0]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x2f0]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov r11, qword [rsp + 0xb0]
mov r8, qword [r11 + 0x98]
mov rax, r8
movabs rcx, 0x2ac822b5a729ed
mul rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x48], rax
mov rax, r8
movabs r10, 0x7a9372c9c903d5
mul r10
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x180], rax
mov rax, r8
movabs rdx, 0x48621a40428616
mul rdx
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x68], rax
mov rax, r8
movabs rdx, 0x3ef5f8c52e700e
mul rdx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdx
mov r9, qword [r11 + 0x90]
mov rcx, r11
mov rax, r9
movabs rdx, 0x2ac822b5a729ed
mul rdx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x148], rax
mov rax, r9
mul r10
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x150], rax
mov rax, r9
movabs rdx, 0x48621a40428616
mul rdx
mov qword [rsp + 0x30], rax
mov r11, rdx
mov r10, qword [rcx + 0x88]
mov rax, r10
movabs rcx, 0x2ac822b5a729ed
mul rcx
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x138], rax
mov rax, r10
movabs rcx, 0x7a9372c9c903d5
mul rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf8], rdx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x80]
mov rax, rcx
movabs rdx, 0x2ac822b5a729ed
mul rdx
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xe0], rax
mov rax, r8
movabs rdx, 0x69b9426b2f159
mul rdx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x50], rax
mov rax, r9
movabs rdx, 0x35050762add7a
mul rdx
mov r8, rdx
mov qword [rsp + 0x40], rax
mov rax, r9
movabs rdx, 0x69b9426b2f159
mul rdx
mov r9, rdx
mov qword [rsp + 0x178], rax
mov rax, r10
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x80], rax
mov rax, r10
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x168], rax
mov rax, r10
movabs r10, 0x69b9426b2f159
mul r10
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], rax
mov rax, rcx
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0xa0], rax
mov rax, rcx
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, rcx
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x100], rax
mov rax, rcx
mul r10
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x78]
mov rax, rcx
movabs rdx, 0x2406d9dc56dff
mul rdx
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x70], rax
mov rax, rcx
movabs rdx, 0x6738cc7407977
mul rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x130], rax
mov rax, rcx
movabs rdx, 0x3cf44c0038052
mul rdx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xd0], rax
mov rax, rcx
movabs rdx, 0x35050762add7a
mul rdx
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1a8], rax
mov rax, rcx
mul r10
mov rcx, qword [rsp + 0x30]
add rcx, qword [rsp + 0x120]
adc r11, qword [rsp + 0x128]
add rcx, qword [rsp + 0xe8]
adc r11, qword [rsp + 0xf8]
add rcx, qword [rsp + 0xe0]
adc r11, qword [rsp + 0xf0]
add rcx, rax
adc r11, rdx
shld r11, rcx, 0xd
movabs rax, 0x7ffffffffffff
and rcx, rax
mov qword [rsp + 0x30], rcx
mov r10, qword [rsp + 0x148]
add r10, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x60]
adc rcx, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x150]
add rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
adc rax, qword [rsp + 0x188]
add rdx, qword [rsp + 0x138]
adc rax, qword [rsp + 0x140]
add rdx, qword [rsp + 0xc0]
adc rax, qword [rsp + 0xc8]
add rdx, qword [rsp + 0x1a8]
adc rax, qword [rsp + 0x1b0]
add rdx, r11
adc rax, 0
shld rax, rdx, 0xd
mov qword [rsp + 0x38], rax
movabs rax, 0x7ffffffffffff
and rdx, rax
add r10, qword [rsp + 0x110]
adc rcx, qword [rsp + 0x118]
add r10, qword [rsp + 0x100]
adc rcx, qword [rsp + 0x108]
add r10, qword [rsp + 0xd0]
adc rcx, qword [rsp + 0xd8]
add r10, qword [rsp + 0x38]
adc rcx, 0
shld rcx, r10, 0xd
mov rax, rcx
movabs rcx, 0x7ffffffffffff
and r10, rcx
mov r11, qword [rsp + 0x178]
add r11, qword [rsp + 0x48]
adc r9, qword [rsp + 0xa8]
add r11, qword [rsp + 0x168]
adc r9, qword [rsp + 0x170]
add r11, qword [rsp + 0x158]
adc r9, qword [rsp + 0x160]
add r11, qword [rsp + 0x130]
adc r9, qword [rsp + 0x58]
add r11, rax
adc r9, 0
shld r9, r11, 0xd
and r11, rcx
mov rax, qword [rsp + 0x40]
add rax, qword [rsp + 0x50]
adc r8, qword [rsp + 0x88]
add rax, qword [rsp + 0x80]
adc r8, qword [rsp + 0x198]
add rax, qword [rsp + 0xa0]
adc r8, qword [rsp + 0x78]
add rax, qword [rsp + 0x70]
adc r8, qword [rsp + 0x1b8]
add rax, r9
adc r8, 0
shld r8, rax, 0xd
mov r9, rax
lea rax, [r8 + r8*8]
lea rax, [r8 + rax*2]
add rax, qword [rsp + 0x30]
mov rcx, rax
shr rcx, 0x33
add rcx, rdx
mov rdx, rcx
shr rdx, 0x33
add rdx, r10
movabs r8, 0x7ffffffffffff
and rax, r8
mov qword [rsp + 0x318], rax
and rcx, r8
mov qword [rsp + 0x320], rcx
mov qword [rsp + 0x328], rdx
mov qword [rsp + 0x330], r11
and r9, r8
mov qword [rsp + 0x338], r9
lea rcx, [rsp + 0x200]
mov rdx, qword [rsp + 0xb0]
lea r8, [rsp + 0x2a0]
call fcn.1400ad0b0
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0x200]
call fcn.1400ac120
lea rax, [rbx + rbx*8]
lea r9, [rbx + rax*2]
mov r8, qword [rsp + 0xb0]
mov rax, qword [r8 + 0x48]
mov qword [rsp + 0x78], rax
mov rcx, qword [r8 + 0x20]
mov qword [rsp + 0x118], rcx
lea r11, [rcx + rax]
mov rax, r9
mul r11
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdx
mov rax, qword [r8 + 0x28]
mov rcx, qword [r8]
lea rdx, [rcx + rax]
mov qword [rsp + 0xe0], rdx
movabs rdx, 0xffffffffffffe
lea r10, [rax + rdx - 0x24]
lea rax, [r14 + r14*8]
lea rax, [r14 + rax*2]
mov qword [rsp + 0x48], rax
mul r11
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x148], rdx
sub r10, rcx
mov qword [rsp + 0x1b8], r10
mov rcx, qword [r8 + 8]
mov qword [rsp + 0x30], rcx
mov rax, qword [r8 + 0x30]
add rcx, rax
mov qword [rsp + 0x38], rcx
movabs rcx, 0xffffffffffffe
add rax, rcx
mov qword [rsp + 0xa0], rax
lea rax, [r13*8]
add rax, r13
lea rax, [rax*2]
add rax, r13
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], r11
mul r11
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x150], rdx
lea rax, [r12 + r12*8]
lea rax, [r12 + rax*2]
mul r11
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rdx
mov rax, qword [r8 + 0x40]
mov qword [rsp + 0x88], rax
mov rdx, qword [r8 + 0x18]
mov qword [rsp + 0xa8], rdx
lea r10, [rdx + rax]
mov rax, r9
mul r10
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x48]
mov rax, rcx
mul r10
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x128], rdx
mov rax, qword [rsp + 0x30]
sub qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x80]
mul r10
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], rdx
mov rax, qword [r8 + 0x38]
mov qword [rsp + 0x30], rax
mov rdx, qword [r8 + 0x10]
mov qword [rsp + 0x68], rdx
lea r8, [rdx + rax]
mov rax, r9
mul r8
mov r11, rdx
mov qword [rsp + 0x80], rax
mov rax, rcx
mul r8
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1a8], rax
mov rax, r9
mul qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
mov r9, rdx
mov rcx, qword [rsp + 0x30]
movabs rax, 0xffffffffffffe
add rcx, rax
mov rax, rbp
mul qword [rsp + 0x70]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x190], rax
mov rax, r12
mul r10
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x180], rax
mov rax, rbp
mul r10
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rdx
sub rcx, qword [rsp + 0x68]
mov qword [rsp + 0x30], rcx
mov rax, r13
mul r8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x178], rax
mov rax, r12
mul r8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x140], rax
mov rax, rbp
mul r8
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
movabs r8, 0xffffffffffffe
mov rcx, qword [rsp + 0x88]
add rcx, r8
mov rax, r14
mov r10, qword [rsp + 0x38]
mul r10
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x158], rax
mov rax, r13
mul r10
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x120], rax
mov rax, r12
mul r10
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd8], rdx
sub rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rcx
mov rax, rbp
mul r10
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1d0], rax
mov rax, rbx
mov r10, qword [rsp + 0xe0]
mul r10
mov rbx, rdx
mov qword [rsp + 0x38], rax
mov rax, r14
mul r10
mov qword [rsp + 0xa8], rax
mov r14, rdx
mov rcx, qword [rsp + 0x78]
add rcx, r8
mov rax, r13
mul r10
mov r8, rdx
mov qword [rsp + 0x1e0], rax
mov rax, r12
mul r10
mov r12, rdx
mov r13, rax
mov rax, rbp
mul r10
sub rcx, qword [rsp + 0x118]
mov rbp, rcx
mov rcx, qword [rsp + 0x48]
add rcx, qword [rsp + 0x1a8]
adc r9, qword [rsp + 0x1b0]
add rcx, qword [rsp + 0xc0]
adc r9, qword [rsp + 0xd0]
add rcx, qword [rsp + 0xe8]
adc r9, qword [rsp + 0xf0]
add rcx, rax
adc r9, rdx
shld r9, rcx, 0xd
movabs rax, 0x7ffffffffffff
and rcx, rax
mov qword [rsp + 0x48], rcx
mov r10, qword [rsp + 0x198]
add r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x108]
adc rdx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x80]
add rcx, qword [rsp + 0x110]
adc r11, qword [rsp + 0x128]
add rcx, qword [rsp + 0x138]
adc r11, qword [rsp + 0x150]
add rcx, r13
adc r11, r12
add rcx, qword [rsp + 0x1d0]
adc r11, qword [rsp + 0x1c8]
add rcx, r9
adc r11, 0
shld r11, rcx, 0xd
and rcx, rax
mov qword [rsp + 0x80], rcx
mov rcx, r10
add rcx, qword [rsp + 0x1e0]
adc rdx, r8
add rcx, qword [rsp + 0xc8]
adc rdx, qword [rsp + 0xd8]
add rcx, qword [rsp + 0xf8]
adc rdx, qword [rsp + 0x100]
add rcx, r11
adc rdx, 0
shld rdx, rcx, 0xd
and rcx, rax
mov qword [rsp + 0x198], rcx
mov r11, qword [rsp + 0xa8]
add r11, qword [rsp + 0x40]
adc r14, qword [rsp + 0x50]
add r11, qword [rsp + 0x120]
adc r14, qword [rsp + 0x130]
add r11, qword [rsp + 0x140]
adc r14, qword [rsp + 0x60]
add r11, qword [rsp + 0x168]
adc r14, qword [rsp + 0x170]
add r11, rdx
adc r14, 0
shld r14, r11, 0xd
and r11, rax
mov qword [rsp + 0xa8], r11
mov r10, qword [rsp + 0x38]
add r10, qword [rsp + 0x158]
adc rbx, qword [rsp + 0x160]
add r10, qword [rsp + 0x178]
adc rbx, qword [rsp + 0x68]
add r10, qword [rsp + 0x180]
adc rbx, qword [rsp + 0x188]
add r10, qword [rsp + 0x190]
adc rbx, qword [rsp + 0x70]
add r10, r14
mov qword [rsp + 0x38], r10
adc rbx, 0
shld rbx, r10, 0xd
lea rax, [r15 + r15*8]
lea r8, [r15 + rax*2]
mov rax, r8
mov qword [rsp + 0x78], rbp
mul rbp
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x70], rdx
lea rax, [rbx + rbx*8]
lea rcx, [rbx + rax*2]
lea rax, [rdi + rdi*8]
lea r9, [rdi + rax*2]
mov rax, r9
mul rbp
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x138], rdx
lea rax, [rsi + rsi*8]
lea rbx, [rsi + rax*2]
mov rax, rbx
mul rbp
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], rdx
mov r12, qword [rsp + 0x1c0]
lea rax, [r12 + r12*8]
lea rax, [r12 + rax*2]
mul rbp
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0xf0], rax
mov rax, r8
mov r10, qword [rsp + 0x88]
mul r10
mov rbp, rdx
mov qword [rsp + 0x40], rax
mov rax, r9
mul r10
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdx
add rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rcx
mov rax, rbx
mul r10
mov r11, r10
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd0], rax
mov rax, r8
mov r10, qword [rsp + 0x30]
mul r10
mov rbx, rax
mov r14, rdx
shr rcx, 0x33
mov rax, r9
mul r10
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov rax, r8
mov r9, qword [rsp + 0xa0]
mul r9
mov r13, rdx
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x1a0]
mov rax, r8
mul qword [rsp + 0x78]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x78], rdx
add rcx, qword [rsp + 0x80]
mov rax, r12
mul r11
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x68], rax
mov rax, r8
mul r11
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rdx
mov rax, rcx
mov r11, rcx
shr rax, 0x33
mov rcx, rax
mov rax, rsi
mul r10
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x170], rax
mov rax, r12
mul r10
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x130], rax
mov rax, r8
mul r10
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
add rcx, qword [rsp + 0x198]
mov qword [rsp + 0x198], rcx
mov rax, rdi
mov rcx, r9
mul r9
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x60], rax
mov rax, rsi
mul r9
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x110], rax
mov rax, r12
mul r9
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rdx
movabs r9, 0x7ffffffffffff
and qword [rsp + 0x38], r9
mov rax, r8
mul rcx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x1a8], rax
mov rax, r15
mov r15, qword [rsp + 0x1b8]
mul r15
mov rcx, rdx
mov qword [rsp + 0x30], rax
mov rax, rdi
mul r15
mov qword [rsp + 0x88], rax
mov rdi, rdx
and qword [rsp + 0x48], r9
mov r10, r9
mov rax, rsi
mul r15
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1c8], rax
mov rax, r12
mul r15
mov r9, rdx
mov rsi, rax
mov rax, r8
mul r15
and r11, r10
mov qword [rsp + 0x80], r11
mov r8, qword [rsp + 0x50]
add r8, qword [rsp + 0xc0]
adc r13, qword [rsp + 0xc8]
add r8, qword [rsp + 0xd0]
adc r13, qword [rsp + 0xe8]
add r8, qword [rsp + 0xf0]
adc r13, qword [rsp + 0x108]
add r8, rax
adc r13, rdx
shld r13, r8, 0xd
and r8, r10
mov qword [rsp + 0x50], r8
mov rax, qword [rsp + 0x40]
add rax, qword [rsp + 0x58]
adc rbp, qword [rsp + 0x138]
add rbx, qword [rsp + 0x118]
adc r14, qword [rsp + 0x120]
add rbx, qword [rsp + 0x140]
adc r14, qword [rsp + 0x150]
add rbx, rsi
adc r14, r9
add rbx, qword [rsp + 0x1a8]
adc r14, qword [rsp + 0xa0]
add rbx, r13
adc r14, 0
shld r14, rbx, 0xd
and rbx, r10
add rax, qword [rsp + 0x1c8]
adc rbp, qword [rsp + 0x1b0]
add rax, qword [rsp + 0xd8]
adc rbp, qword [rsp + 0xe0]
add rax, qword [rsp + 0xf8]
adc rbp, qword [rsp + 0x100]
add rax, r14
adc rbp, 0
shld rbp, rax, 0xd
and rax, r10
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x88]
add rax, qword [rsp + 0x190]
adc rdi, qword [rsp + 0x70]
add rax, qword [rsp + 0x110]
adc rdi, qword [rsp + 0x128]
add rax, qword [rsp + 0x130]
adc rdi, qword [rsp + 0x148]
add rax, qword [rsp + 0x160]
adc rdi, qword [rsp + 0x168]
add rax, rbp
adc rdi, 0
shld rdi, rax, 0xd
and rax, r10
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x30]
add rax, qword [rsp + 0x60]
adc rcx, qword [rsp + 0x158]
add rax, qword [rsp + 0x170]
adc rcx, qword [rsp + 0x178]
add rax, qword [rsp + 0x68]
adc rcx, qword [rsp + 0x180]
add rax, qword [rsp + 0x188]
adc rcx, qword [rsp + 0x78]
add rax, rdi
mov qword [rsp + 0x30], rax
adc rcx, 0
shld rcx, rax, 0xd
mov r11, qword [rsp + 0xb0]
mov rdx, qword [r11 + 0x98]
mov qword [rsp + 0x60], rdx
lea rax, [rdx + rdx*8]
lea r9, [rdx + rax*2]
mov rax, r9
mov r10, qword [rsp + 0x90]
mul r10
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x78], rdx
mov rdx, qword [r11 + 0x90]
mov qword [rsp + 0x58], rdx
lea rax, [rdx + rdx*8]
lea rsi, [rdx + rax*2]
mov rax, rsi
mul r10
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rdx
mov r14, qword [r11 + 0x88]
lea rax, [r14 + r14*8]
lea r8, [r14 + rax*2]
mov rax, r8
mul r10
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rdx
mov rdx, qword [r11 + 0x80]
lea rax, [rdx + rdx*8]
lea rax, [rdx + rax*2]
mov r15, rdx
mul r10
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rdx
lea rax, [rcx + rcx*8]
lea r11, [rcx + rax*2]
mov r12, qword [rsp + 0x98]
mov rax, r12
mul r9
mov r13, rdx
mov qword [rsp + 0x1a0], rax
mov rax, r12
mul rsi
mov rbp, rdx
mov rcx, rax
mov rax, r12
mul r8
mov qword [rsp + 0x100], rax
mov r8, rdx
add r11, qword [rsp + 0x50]
mov qword [rsp + 0x1c0], r11
mov rdi, qword [rsp + 0xb8]
mov rax, rdi
mul r9
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x138], rax
mov rax, rdi
mul rsi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf0], rdx
mov rsi, r11
shr rsi, 0x33
mov r11, qword [rsp + 0x28]
mov rax, r11
mul r9
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe8], rdx
mov rax, qword [rsp + 0xb0]
mov r9, qword [rax + 0x78]
mov rax, r9
mul r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x1b8], rdx
add rsi, rbx
mov qword [rsp + 0x50], rsi
mov rax, r12
mul r15
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x188], rax
mov rax, r9
mul r12
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x68], rdx
mov rax, rsi
shr rax, 0x33
mov r10, rax
mov rax, rdi
mul r14
mov rbx, rdx
mov qword [rsp + 0x98], rax
mov rax, rdi
mul r15
mov rsi, r15
mov r12, rdx
mov qword [rsp + 0x90], rax
mov rax, r9
mul rdi
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdx
add r10, qword [rsp + 0x40]
mov qword [rsp + 0xb8], r10
mov rax, r11
mov r15, qword [rsp + 0x58]
mul r15
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x180], rax
mov rax, r11
mul r14
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x140], rax
mov rax, r11
mul rsi
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x108], rdx
movabs rdi, 0x7ffffffffffff
and qword [rsp + 0x30], rdi
mov rax, r9
mul r11
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rax
mov r10, qword [rsp + 0x1d8]
mov rax, r10
mul qword [rsp + 0x60]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x60], rax
mov rax, r10
mul r15
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x58], rdx
and qword [rsp + 0x1c0], rdi
mov rax, r10
mul r14
mov r14, rdx
mov qword [rsp + 0xd0], rax
mov rax, r10
mul rsi
mov r15, rdx
mov r11, rax
mov rax, r10
mul r9
and qword [rsp + 0x50], rdi
mov r10, qword [rsp + 0x100]
add r10, qword [rsp + 0x110]
adc r8, qword [rsp + 0x118]
add r10, qword [rsp + 0xe0]
adc r8, qword [rsp + 0xf0]
add r10, qword [rsp + 0xd8]
adc r8, qword [rsp + 0xe8]
add r10, rax
adc r8, rdx
shld r8, r10, 0xd
and r10, rdi
mov rax, qword [rsp + 0x1a0]
add rax, qword [rsp + 0x168]
adc r13, qword [rsp + 0x170]
add rcx, qword [rsp + 0x158]
adc rbp, qword [rsp + 0x160]
add rcx, qword [rsp + 0x138]
adc rbp, qword [rsp + 0x148]
add rcx, qword [rsp + 0xc0]
adc rbp, qword [rsp + 0xc8]
add rcx, r11
adc rbp, r15
add rcx, r8
adc rbp, 0
shld rbp, rcx, 0xd
and rcx, rdi
add rax, qword [rsp + 0xf8]
adc r13, qword [rsp + 0x108]
add rax, qword [rsp + 0x120]
adc r13, qword [rsp + 0x128]
add rax, qword [rsp + 0xd0]
adc r13, r14
add rax, rbp
mov qword [rsp + 0x1a0], rax
adc r13, 0
shld r13, rax, 0xd
mov rax, qword [rsp + 0x90]
add rax, qword [rsp + 0xa0]
adc r12, qword [rsp + 0x78]
add rax, qword [rsp + 0x140]
adc r12, qword [rsp + 0x150]
add rax, qword [rsp + 0x178]
adc r12, qword [rsp + 0x68]
add rax, qword [rsp + 0x130]
adc r12, qword [rsp + 0x58]
add rax, r13
mov qword [rsp + 0x90], rax
adc r12, 0
shld r12, rax, 0xd
mov rax, qword [rsp + 0x98]
add rax, qword [rsp + 0x188]
adc rbx, qword [rsp + 0x190]
add rax, qword [rsp + 0x180]
adc rbx, qword [rsp + 0x40]
add rax, qword [rsp + 0x70]
adc rbx, qword [rsp + 0x1b8]
add rax, qword [rsp + 0x60]
adc rbx, qword [rsp + 0x28]
add rax, r12
mov qword [rsp + 0x98], rax
adc rbx, 0
shld rbx, rax, 0xd
lea rax, [rbx + rbx*8]
lea r12, [rbx + rax*2]
add r12, r10
mov rsi, r12
shr rsi, 0x33
add rsi, rcx
movabs r13, 0xffffffffffffe
mov rax, qword [rsp + 0x48]
lea r15, [rax + r13]
add r15, 0xffffffffffffffdc
mov r11, qword [rsp + 0x1c0]
sub r15, r11
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rcx + 0x50]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx + 0x60]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x68]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x200], r15
mov rax, r13
mov rcx, qword [rsp + 0x80]
lea r15, [rcx + r13]
mov rdi, qword [rsp + 0x50]
sub r15, rdi
mov qword [rsp + 0x208], r15
mov r9, qword [rsp + 0x198]
lea r15, [r9 + rax]
mov r10, qword [rsp + 0xb8]
sub r15, r10
mov qword [rsp + 0x210], r15
mov r14, qword [rsp + 0xa8]
lea r15, [r14 + rax]
mov rdx, qword [rsp + 0x88]
sub r15, rdx
mov qword [rsp + 0x218], r15
mov rbp, qword [rsp + 0x38]
lea r15, [rax + rbp]
mov r8, qword [rsp + 0x30]
sub r15, r8
mov qword [rsp + 0x220], r15
movabs r15, 0x7ffffffffffff
mov rax, qword [rsp + 0x1a0]
and rax, r15
mov r13, rsi
shr rsi, 0x33
add rsi, rax
add r11, qword [rsp + 0x48]
add rdi, rcx
add r10, r9
mov rcx, rdx
add rcx, r14
add r8, rbp
mov qword [rsp + 0x228], r11
mov qword [rsp + 0x230], rdi
mov qword [rsp + 0x238], r10
add rbx, rbx
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x248], r8
mov rcx, r15
lea r14, [r15 - 1]
and r14, rbx
shr rbx, 0x33
mov rax, qword [rsp + 0xa0]
lea r11, [rbx + rax*2]
mov rbx, r11
shr rbx, 0x33
mov rax, qword [rsp + 0x78]
lea r10, [rbx + rax*2]
mov rbx, r10
shr rbx, 0x33
mov rax, qword [rsp + 0x40]
lea r9, [rbx + rax*2]
mov rbx, r9
shr rbx, 0x33
mov rax, qword [rsp + 0x28]
lea r8, [rbx + rax*2]
mov rbx, r8
shr rbx, 0x33
lea r15, [rbx + rbx*8]
lea rbx, [rbx + r15*2]
mov r15, rcx
and r13, rcx
mov rdx, qword [rsp + 0x98]
and rdx, rcx
and r12, rcx
mov rcx, qword [rsp + 0x90]
and rcx, r15
add rbx, r14
mov r14, rbx
shr r14, 0x33
and r11, r15
add r11, r14
and rbx, r15
mov r14, r11
shr r14, 0x33
and r10, r15
add r10, r14
and r8, r15
and r9, r15
and r11, r15
lea r14, [r12 + rbx]
mov qword [rsp + 0x250], r14
lea r14, [r11 + r13]
mov qword [rsp + 0x258], r14
lea r14, [rsi + r10]
mov qword [rsp + 0x260], r14
lea r14, [rcx + r9]
mov qword [rsp + 0x268], r14
lea r14, [rdx + r8]
mov qword [rsp + 0x270], r14
movabs rdi, 0xffffffffffffe
add rbx, rdi
add rbx, 0xffffffffffffffdc
sub rbx, r12
add r11, rdi
sub r11, r13
add r10, rdi
sub r10, rsi
add r9, rdi
sub r9, rcx
add r8, rdi
sub r8, rdx
mov qword [rsp + 0x278], rbx
mov qword [rsp + 0x280], r11
mov qword [rsp + 0x288], r10
mov qword [rsp + 0x290], r9
mov qword [rsp + 0x298], r8
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0x200]
call fcn.1400ac120
mov ecx, dword [rsp + 0x1e8]
dec ecx
cmp ecx, 0x40
jb 0x1400af311
mov rcx, qword [rsp + 0xa50]
xor rcx, rsp
call fcn.140113000
nop
add rsp, 0xa58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret