Function at 0x14005a590
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp byte [0x1401326c0], 0
mov rbx, rdx
mov rdi, rcx
jne 0x14005a54e
call fcn.14006cbc0
cmp byte [0x1401326c1], 0
lea r8, reloc.OLEAUT32.dll_VariantCopy
mov rdx, rbx
mov rcx, rdi
je 0x14005a573
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x140071310
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x14005a590
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x140127190]
xor rax, rsp
mov qword [rbp + 0x138], rax
lea rax, [rbp + 0xf8]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0x130], rax
mov r15d, 1
movzx eax, byte [rdx + 1]
mov byte [rbp + 0xf9], al
movzx eax, byte [rdx + 2]
mov byte [rbp + 0xfa], al
movzx eax, byte [rdx + 3]
mov byte [rbp + 0xfb], al
movzx eax, byte [rdx + 4]
mov byte [rbp + 0xfc], al
movzx eax, byte [rdx + 5]
mov byte [rbp + 0xfd], al
movzx eax, byte [rdx + 6]
mov byte [rbp + 0xfe], al
movzx eax, byte [rdx + 7]
mov byte [rbp + 0xff], al
movzx eax, byte [rdx + 8]
mov byte [rbp + 0x100], al
movzx eax, byte [rdx + 9]
mov byte [rbp + 0x101], al
movzx eax, byte [rdx + 0xa]
mov byte [rbp + 0x102], al
movzx eax, byte [rdx + 0xb]
mov byte [rbp + 0x103], al
movzx eax, byte [rdx + 0xc]
mov byte [rbp + 0x104], al
movzx eax, byte [rdx + 0xd]
mov byte [rbp + 0x105], al
movzx eax, byte [rdx + 0xe]
mov byte [rbp + 0x106], al
movzx eax, byte [rdx + 0xf]
mov byte [rbp + 0x107], al
movzx eax, byte [rdx + 0x10]
mov byte [rbp + 0x108], al
movzx eax, byte [rdx + 0x11]
mov byte [rbp + 0x109], al
movzx eax, byte [rdx + 0x12]
mov byte [rbp + 0x10a], al
movzx eax, byte [rdx + 0x13]
mov byte [rbp + 0x10b], al
movzx eax, byte [rdx + 0x14]
mov byte [rbp + 0x10c], al
movzx eax, byte [rdx + 0x15]
mov byte [rbp + 0x10d], al
movzx eax, byte [rdx + 0x16]
mov byte [rbp + 0x10e], al
movzx eax, byte [rdx + 0x17]
mov byte [rbp + 0x10f], al
movzx eax, byte [rdx + 0x18]
mov byte [rbp + 0x110], al
movzx eax, byte [rdx + 0x19]
mov byte [rbp + 0x111], al
movzx eax, byte [rdx + 0x1a]
mov byte [rbp + 0x112], al
movzx eax, byte [rdx + 0x1b]
mov byte [rbp + 0x113], al
movzx eax, byte [rdx + 0x1c]
mov byte [rbp + 0x114], al
movzx eax, byte [rdx + 0x1d]
mov byte [rbp + 0x115], al
movzx eax, byte [rdx + 0x1e]
mov byte [rbp + 0x116], al
movzx eax, byte [rdx]
and al, 0xf8
mov qword [rbp + 0x120], 0xffffffffffffffff
mov byte [rbp + 0xf8], al
movzx eax, byte [rdx + 0x1f]
and al, 0x3f
mov qword [rbp + 0x128], 0x20
or al, 0x40
mov byte [rbp + 0x119], 1
xor edx, edx
mov byte [rbp + 0x117], al
mov qword [rbp + 0x78], rdx
mov qword [rsp + 0x40], rdx
mov qword [rbp + 0x80], rdx
mov qword [rsp + 0x78], rdx
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x70], r15
xor ecx, ecx
mov qword [rsp + 0x48], rdx
xor r14d, r14d
mov qword [rbp + 0x90], rdx
xor r10d, r10d
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x80], rcx
mov r12d, r15d
mov qword [rsp + 0x20], rcx
mov r13d, r14d
mov qword [rbp - 0x78], rcx
mov ebx, r14d
mov r11d, r14d
mov edi, r10d
test r8, r8
je 0x14005a7a3
mov rdi, qword [r8]
lea rax, [r8 + 8]
mov r9, r10
test rax, rax
je 0x14005a7b2
mov r9, qword [rax]
mov qword [rsp + 0x30], r10
add rax, 8
je 0x14005a7c5
mov r8, qword [rax]
mov qword [rsp + 0x30], r8
add rax, 8
je 0x14005a7ce
mov r10, qword [rax]
mov rax, r9
mov qword [rbp + 8], r15
shr r9, 0x26
mov rsi, rdi
shl rax, 0xd
movabs r8, 0x7ffffffffffff
and rsi, r8
shr rdi, 0x33
or rdi, rax
mov qword [rbp + 0x40], rsi
mov rax, qword [rsp + 0x30]
and rdi, r8
mov r8, rax
mov qword [rbp + 0x48], rdi
shl r8, 0x1a
or r8, r9
shr rax, 0x19
movabs r9, 0x7ffffffffffff
mov qword [rbp + 0x10], rsi
and r8, r9
mov qword [rbp + 0x18], rdi
mov r9, r10
mov qword [rbp + 0x50], r8
shl r9, 0x27
or r9, rax
shr r10, 0xc
movabs rax, 0x7ffffffffffff
mov qword [rbp + 0x20], r8
and r9, rax
mov dword [rbp], 0xfd
and r10, rax
mov qword [rbp + 0x58], r9
mov qword [rbp + 0x60], r10
mov qword [rbp + 0x30], r10
mov qword [rbp + 0x28], r9
lea rax, [rsi + r12]
sub rsi, r12
mov qword [rbp - 0x70], rax
movabs r12, 0x3fffffffffff68
lea rax, [r14 + rdi]
add rsi, r12
mov qword [rbp - 0x68], rax
sub rdi, r14
lea rax, [r8 + r13]
mov qword [rsp + 0x50], rsi
mov rsi, qword [rbp - 0x78]
sub r8, r13
mov qword [rbp - 0x60], rax
lea rax, [rbx + r9]
mov qword [rbp - 0x58], rax
sub r9, rbx
mov rbx, qword [rsp + 0x20]
lea rax, [r11 + r10]
mov qword [rbp - 0x50], rax
sub r10, r11
mov r11, qword [rbp - 0x80]
movabs rax, 0x3ffffffffffff8
add r8, rax
add rdi, rax
mov r13, rax
mov qword [rsp + 0x60], r8
mov r8, qword [rsp + 0x78]
add r9, rax
add r10, rax
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0x40]
lea rax, [rcx + r15]
mov qword [rbp + 0xc0], rax
sub r15, rcx
mov qword [rsp + 0x68], r9
lea rcx, [rbp + 0x70]
mov r9, qword [rsp + 0x48]
add r15, r12
mov qword [rsp + 0x70], r10
mov r10, qword [rbp - 0x40]
mov qword [rbp - 0x30], r15
lea rax, [rdx + r10]
sub rdx, r10
mov qword [rbp + 0xc8], rax
add rdx, r13
lea rax, [rdi + r11]
mov qword [rbp - 0x28], rdx
mov qword [rbp + 0xd0], rax
lea rdx, [rbp + 0xc0]
lea rax, [r8 + rbx]
sub rdi, r11
sub r8, rbx
mov qword [rbp + 0xd8], rax
lea rax, [r9 + rsi]
add r8, r13
sub r9, rsi
mov qword [rbp - 0x18], r8
add r9, r13
mov qword [rbp + 0xe0], rax
add rdi, r13
mov qword [rbp - 0x10], r9
lea r8, [rsp + 0x50]
mov qword [rbp - 0x20], rdi
call fcn.14005a1b0
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.14005a1b0
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
mov r10, qword [rbp + 0x80]
mov rbx, qword [rbp + 0x88]
lea rdx, [rax + rcx]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rbp - 0x28]
lea rdi, [r8 + rdx]
mov qword [rsp + 0x28], rdi
mov rdi, qword [rbp - 0x20]
lea r12, [r10 + rdi]
mov qword [rbp - 0x40], r12
sub rcx, rax
mov r9, qword [rbp - 0x18]
mov rsi, qword [rbp + 0x90]
sub r8, rdx
sub r10, rdi
movabs r12, 0x3fffffffffff68
add rcx, r12
lea r11, [rbx + r9]
sub rbx, r9
add rbx, r13
mov qword [rsp + 0x48], r11
mov r11, qword [rbp - 0x10]
lea rax, [r10 + r13]
imul r9, rax, 0x26
mov qword [rsp + 0x30], rax
lea r15, [rcx + rcx]
mov rax, rcx
mov qword [rsp + 0x78], rbx
mul rcx
lea r14, [rsi + r11]
sub rsi, r11
mov rcx, rax
mov qword [rsp + 0x38], r14
mov rdi, rdx
lea r14, [r8 + r13]
mov rax, r14
lea r12, [rsi + r13]
imul r11, r12, 0x13
lea r13, [r14 + r14]
lea r10, [r11 + r11]
mul r10
lea r8, [rcx + rax]
mov rax, rbx
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r9
mov r9, qword [rsp + 0x78]
add rax, r8
cmp rax, r8
mov qword [rsp + 0x20], rax
mov rax, r14
adc rdx, rcx
mov qword [rbp - 0x80], rdx
mul r15
mov rcx, rax
mov rbx, rdx
mov rax, qword [rsp + 0x30]
mul r10
lea r8, [rcx + rax]
cmp r8, rcx
adc rbx, 0
add rbx, rdx
imul rax, r9, 0x13
mul r9
lea rcx, [r8 + rax]
mov rax, qword [rsp + 0x30]
cmp rcx, r8
mov qword [rbp - 0x78], rcx
adc rbx, rdx
mul r15
mov rcx, rax
mov rdi, rdx
mov rax, r14
mul r14
mov r14, qword [rsp + 0x30]
lea r8, [rcx + rax]
mov rax, r9
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r10
mov r10, rdx
lea rsi, [r8 + rax]
mov rax, r9
cmp rsi, r8
adc r10, rcx
mul r15
mov rcx, rax
mov rdi, rdx
mov rax, r14
mul r13
lea r8, [rcx + rax]
mov rax, r11
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r12
mov r9, rdx
lea r11, [r8 + rax]
mov rax, r12
mov r12, qword [rsp + 0x28]
cmp r11, r8
adc r9, rcx
mul r15
mov r15, qword [rsp + 0x20]
mov rcx, rax
mov rdi, rdx
mov rax, qword [rsp + 0x78]
mul r13
mov r13, qword [rsp + 0x38]
lea r8, [rcx + rax]
mov rax, r14
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r14
mov r14, qword [rbp - 0x78]
lea rdi, [r8 + rax]
mov rax, r15
cmp rdi, r8
mov r8, qword [rbp - 0x80]
adc rdx, rcx
mov rcx, r14
shrd rax, r8, 0x33
add r14, rax
cmp r14, rcx
mov rax, r14
mov rcx, rsi
adc rbx, 0
shrd rax, rbx, 0x33
add rsi, rax
cmp rsi, rcx
mov rax, rsi
mov rcx, r11
adc r10, 0
shrd rax, r10, 0x33
add r11, rax
cmp r11, rcx
mov rax, r11
mov rcx, rdi
adc r9, 0
shrd rax, r9, 0x33
mov r9, qword [rbp - 0x40]
add rdi, rax
cmp rdi, rcx
mov rax, rdi
adc rdx, 0
shrd rax, rdx, 0x33
movabs rdx, 0x7ffffffffffff
imul rcx, rax, 0x13
and rdi, rdx
and rsi, rdx
and r11, rdx
mov qword [rbp - 0x10], rdi
and r15, rdx
mov qword [rbp - 0x20], rsi
add rcx, r15
mov qword [rbp - 0x18], r11
mov rax, rcx
lea rsi, [r12 + r12]
shr rcx, 0x33
and r14, rdx
add r14, rcx
and rax, rdx
mov rcx, qword [rsp + 0x40]
imul rdi, r9, 0x26
imul r10, r13, 0x13
mov qword [rbp - 0x30], rax
lea r11, [rcx + rcx]
mov qword [rbp - 0x28], r14
lea r8, [r10 + r10]
mov rax, rcx
mul rcx
mov r15, rax
mov r14, rdx
mov rax, r12
mov rcx, r15
mul r8
add r15, rax
mov rax, qword [rsp + 0x48]
cmp r15, rcx
mov rcx, r15
adc r14, rdx
mul rdi
add r15, rax
mov rax, r12
cmp r15, rcx
adc r14, rdx
mul r11
mov rdi, rax
mov rbx, rdx
mov rcx, rdi
mov rax, r9
mul r8
add rdi, rax
cmp rdi, rcx
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
adc rbx, rdx
imul rax, rdi, 0x13
mul rdi
add qword [rsp + 0x28], rax
mov rax, r9
cmp qword [rsp + 0x28], rcx
adc rbx, rdx
mul r11
mov qword [rsp + 0x40], rax
mov r9, rdx
mov rax, r12
mul r12
mov r12, qword [rsp + 0x40]
mov rcx, r12
add r12, rax
cmp r12, rcx
mov rax, rdi
mov rcx, r12
adc r9, rdx
mul r8
add r12, rax
mov rax, rdi
cmp r12, rcx
mov qword [rsp + 0x40], r12
mov r12, qword [rbp - 0x40]
adc r9, rdx
mul r11
mov rdi, rax
mov r8, rdx
mov rcx, rdi
mov rax, r12
mul rsi
add rdi, rax
mov rax, r10
cmp rdi, rcx
mov rcx, rdi
adc r8, rdx
mul r13
add rdi, rax
mov rax, r13
cmp rdi, rcx
mov qword [rsp + 0x78], rdi
adc r8, rdx
mul r11
mov r13, rax
mov rdi, rdx
mov rax, qword [rsp + 0x48]
mov rcx, r13
mul rsi
add r13, rax
mov rax, r12
cmp r13, rcx
adc rdi, rdx
mov r10, qword [rsp + 0x40]
mov rcx, r13
mov r11, qword [rsp + 0x78]
mul r12
add r13, rax
mov rax, r15
cmp r13, rcx
adc rdi, rdx
mov rdx, qword [rsp + 0x28]
shrd rax, r14, 0x33
mov rcx, rdx
add rdx, rax
cmp rdx, rcx
mov rax, rdx
mov rcx, r10
adc rbx, 0
shrd rax, rbx, 0x33
add r10, rax
cmp r10, rcx
mov rax, r10
mov rcx, r11
adc r9, 0
shrd rax, r9, 0x33
add r11, rax
cmp r11, rcx
mov rax, r11
mov rcx, r13
adc r8, 0
shrd rax, r8, 0x33
lea r8, [rbp + 0x40]
add r13, rax
cmp r13, rcx
mov rax, r13
adc rdi, 0
shrd rax, rdi, 0x33
movabs rdi, 0x7ffffffffffff
imul rcx, rax, 0x13
and rdx, rdi
and r10, rdi
and r11, rdi
mov qword [rsp + 0x40], r10
and r15, rdi
mov qword [rsp + 0x78], r11
add rcx, r15
and r13, rdi
mov rax, rcx
mov qword [rsp + 0x48], r13
shr rcx, 0x33
and rax, rdi
add rdx, rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
lea rcx, [rbp - 0x30]
lea rdx, [rbp - 0x30]
call fcn.14005a1b0
mov rcx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
mov rax, rcx
mov r14, qword [rbp - 0x50]
mov r10, qword [rbp - 0x60]
mov r11, qword [rbp - 0x58]
lea r12, [rcx + rcx]
mul rcx
imul rbx, r14, 0x13
imul rdi, r10, 0x26
mov r15, rax
lea r13, [r8 + r8]
mov rcx, r15
lea r9, [rbx + rbx]
mov rsi, rdx
mov rax, r8
mul r9
add r15, rax
mov rax, r11
cmp r15, rcx
mov rcx, r15
adc rsi, rdx
mul rdi
add r15, rax
mov qword [rbp - 0x78], r15
cmp r15, rcx
adc rsi, rdx
mov rax, r8
mul r12
mov qword [rsp + 0x20], rsi
mov rdi, rax
mov r15, rdx
mov rcx, rdi
mov rax, r10
mul r9
add rdi, rax
cmp rdi, rcx
mov rcx, rdi
adc r15, rdx
imul rax, r11, 0x13
mul r11
add rdi, rax
mov rax, r10
cmp rdi, rcx
mov qword [rsp + 0x38], rdi
adc r15, rdx
mul r12
mov rdi, rax
mov r10, rdx
mov rcx, rdi
mov rax, r8
mul r8
add rdi, rax
mov rax, r11
cmp rdi, rcx
mov rcx, rdi
adc r10, rdx
mul r9
add rdi, rax
mov rax, r11
cmp rdi, rcx
mov qword [rbp - 0x80], rdi
adc r10, rdx
mul r12
mov rsi, rax
mov r8, rdx
mov rax, qword [rbp - 0x60]
mov rcx, rsi
mul r13
add rsi, rax
mov rax, rbx
mov rbx, qword [rbp - 0x78]
cmp rsi, rcx
mov rcx, rsi
adc r8, rdx
mul r14
add rsi, rax
mov rax, r14
cmp rsi, rcx
adc r8, rdx
mul r12
mov r9, rax
mov rdi, rdx
mov rcx, r9
mov rax, r11
mov r11, qword [rsp + 0x38]
mul r13
add r9, rax
mov rax, qword [rbp - 0x60]
cmp r9, rcx
mov rcx, r9
adc rdi, rdx
mul rax
add r9, rax
mov rax, rbx
cmp r9, rcx
mov rcx, r11
adc rdi, rdx
mov rdx, qword [rsp + 0x20]
shrd rax, rdx, 0x33
mov rdx, qword [rbp - 0x80]
add r11, rax
cmp r11, rcx
mov rax, r11
mov rcx, rdx
adc r15, 0
shrd rax, r15, 0x33
mov r14, qword [rsp + 0x70]
add rdx, rax
cmp rdx, rcx
mov rax, rdx
mov rcx, rsi
adc r10, 0
shrd rax, r10, 0x33
mov r10, qword [rsp + 0x60]
add rsi, rax
cmp rsi, rcx
mov rax, rsi
mov rcx, r9
adc r8, 0
shrd rax, r8, 0x33
mov r8, qword [rsp + 0x58]
add r9, rax
cmp r9, rcx
mov rax, r9
adc rdi, 0
lea r13, [r8 + r8]
shrd rax, rdi, 0x33
movabs rdi, 0x7ffffffffffff
imul rcx, rax, 0x13
and rdx, rdi
and rsi, rdi
and rbx, rdi
mov qword [rbp - 0x60], rdx
add rcx, rbx
mov qword [rbp - 0x58], rsi
and r11, rdi
and r9, rdi
mov rax, rcx
mov qword [rbp - 0x50], r9
and rax, rdi
shr rcx, 0x33
mov qword [rbp - 0x70], rax
add r11, rcx
mov rcx, qword [rsp + 0x50]
imul rdi, r10, 0x26
imul rbx, r14, 0x13
lea r12, [rcx + rcx]
mov qword [rbp - 0x68], r11
mov r11, qword [rsp + 0x68]
mov rax, rcx
mul rcx
lea r9, [rbx + rbx]
mov r15, rax
mov rsi, rdx
mov rcx, r15
mov rax, r8
mul r9
add r15, rax
mov rax, r11
cmp r15, rcx
mov rcx, r15
adc rsi, rdx
mul rdi
add r15, rax
mov rax, r8
cmp r15, rcx
mov qword [rbp - 0x78], r15
adc rsi, rdx
mul r12
mov qword [rsp + 0x20], rsi
mov rdi, rax
mov r15, rdx
mov rcx, rdi
mov rax, r10
mul r9
add rdi, rax
cmp rdi, rcx
mov rcx, rdi
adc r15, rdx
imul rax, r11, 0x13
mul r11
add rdi, rax
mov rax, r10
cmp rdi, rcx
mov qword [rsp + 0x38], rdi
adc r15, rdx
mul r12
mov rdi, rax
mov r10, rdx
mov rcx, rdi
mov rax, r8
mul r8
add rdi, rax
mov rax, r11
cmp rdi, rcx
mov rcx, rdi
adc r10, rdx
mul r9
add rdi, rax
mov rax, r11
cmp rdi, rcx
mov qword [rbp - 0x80], rdi
adc r10, rdx
mul r12
mov rsi, rax
mov r8, rdx
mov rax, qword [rsp + 0x60]
mov rcx, rsi
mul r13
add rsi, rax
mov rax, rbx
mov rbx, qword [rbp - 0x78]
cmp rsi, rcx
mov rcx, rsi
adc r8, rdx
mul r14
add rsi, rax
mov rax, r14
cmp rsi, rcx
adc r8, rdx
mul r12
mov r9, rax
mov rdi, rdx
mov rcx, r9
mov rax, r11
mov r11, qword [rsp + 0x38]
mul r13
add r9, rax
mov rax, qword [rsp + 0x60]
cmp r9, rcx
mov rcx, r9
adc rdi, rdx
mul rax
add r9, rax
mov rax, rbx
cmp r9, rcx
mov rcx, r11
adc rdi, rdx
mov rdx, qword [rsp + 0x20]
shrd rax, rdx, 0x33
mov rdx, qword [rbp - 0x80]
add r11, rax
cmp r11, rcx
mov rax, r11
mov rcx, rdx
adc r15, 0
shrd rax, r15, 0x33
add rdx, rax
cmp rdx, rcx
mov rax, rdx
mov rcx, rsi
adc r10, 0
shrd rax, r10, 0x33
add rsi, rax
cmp rsi, rcx
mov rax, rsi
mov rcx, r9
adc r8, 0
shrd rax, r8, 0x33
add r9, rax
cmp r9, rcx
mov rax, r9
adc rdi, 0
shrd rax, rdi, 0x33
movabs rdi, 0x7ffffffffffff
imul rcx, rax, 0x13
and rbx, rdi
add rcx, rbx
mov rax, rcx
lea r8, [rsp + 0x50]
shr rcx, 0x33
and rdx, rdi
and r11, rdi
mov qword [rsp + 0x60], rdx
add rcx, r11
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x58], rcx
and rax, rdi
and r9, rdi
mov qword [rsp + 0x50], rax
and rsi, rdi
mov qword [rsp + 0x70], r9
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x68], rsi
call fcn.14005a1b0
mov rcx, qword [rbp - 0x70]
movabs r9, 0x7ffffffffffff
sub rcx, qword [rsp + 0x50]
movabs rax, 0x3fffffffffff68
mov rdi, qword [rbp - 0x68]
add rcx, rax
sub rdi, qword [rsp + 0x58]
movabs rax, 0x3ffffffffffff8
mov r8, qword [rbp - 0x60]
add rdi, rax
sub r8, qword [rsp + 0x60]
mov r10, qword [rbp - 0x58]
add r8, rax
sub r10, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x50]
add r10, rax
sub rbx, qword [rsp + 0x70]
add rbx, rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdi
mov eax, 0x1db41
mul rcx
mov qword [rsp + 0x60], r8
mov rcx, rax
mov qword [rsp + 0x68], r10
shrd rcx, rdx, 0x33
mov rsi, rax
mov qword [rsp + 0x70], rbx
and rsi, r9
mov eax, 0x1db41
mul rdi
mov rdi, r9
add rcx, rax
cmp rcx, rax
mov r11, rcx
mov eax, 0x1db41
adc rdx, 0
and r11, r9
shrd rcx, rdx, 0x33
mul r8
add rcx, rax
cmp rcx, rax
mov r9, rcx
mov eax, 0x1db41
adc rdx, 0
and r9, rdi
shrd rcx, rdx, 0x33
mul r10
add rcx, rax
cmp rcx, rax
mov r8, rcx
mov eax, 0x1db41
adc rdx, 0
and r8, rdi
shrd rcx, rdx, 0x33
mul rbx
add rcx, rax
cmp rcx, rax
mov rdi, rcx
movabs rax, 0x7ffffffffffff
adc rdx, 0
and rdi, rax
shrd rcx, rdx, 0x33
imul rax, rcx, 0x13
add r8, qword [rbp - 0x58]
lea rdx, [rsp + 0x50]
add rax, qword [rbp - 0x70]
lea rcx, [rsp + 0x50]
add r11, qword [rbp - 0x68]
add rax, rsi
add r9, qword [rbp - 0x60]
add rdi, qword [rbp - 0x50]
mov qword [rbp + 0xb0], r8
lea r8, [rbp + 0x98]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], r11
mov qword [rbp + 0xa8], r9
mov qword [rbp + 0xb8], rdi
call fcn.14005a1b0
mov r15d, dword [rbp]
mov eax, r15d
test r15d, r15d
jns 0x14005b337
lea eax, [r15 + 7]
mov rsi, qword [rbp + 0x10]
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
sar eax, 3
movsxd rcx, eax
mov rax, qword [rbp + 0x130]
movzx edx, byte [rcx + rax]
movzx ecx, r15b
and cl, 7
mov rax, rsi
xor rax, rdi
shr rdx, cl
and edx, 1
mov ecx, edx
xor rcx, qword [rbp + 8]
neg rcx
and rax, rcx
xor rdi, rax
xor rsi, rax
mov rax, r8
mov qword [rsp + 0x30], rdi
mov qword [rbp + 0x70], rdi
mov rdi, qword [rbp + 0x18]
xor rax, rdi
mov qword [rbp + 0x10], rsi
and rax, rcx
xor r8, rax
xor rdi, rax
mov rax, r9
mov qword [rsp + 0x28], r8
mov qword [rbp + 0x78], r8
mov r8, qword [rbp + 0x20]
xor rax, r8
mov qword [rbp + 0x18], rdi
and rax, rcx
xor r9, rax
xor r8, rax
mov rax, r10
mov qword [rsp + 0x40], r9
mov qword [rbp + 0x80], r9
mov r9, qword [rbp + 0x28]
xor rax, r9
mov qword [rbp + 0x20], r8
and rax, rcx
xor r10, rax
xor r9, rax
mov rax, r11
mov qword [rsp + 0x78], r10
mov qword [rbp + 0x88], r10
mov r10, qword [rbp + 0x30]
xor rax, r10
mov qword [rbp + 0x28], r9
and rax, rcx
xor r11, rax
xor r10, rax
mov qword [rsp + 0x48], r11
mov qword [rbp + 0x90], r11
mov r11, qword [rbp - 0x30]
mov rax, r11
mov qword [rbp + 0x30], r10
xor rax, r12
and rax, rcx
xor r11, rax
xor r12, rax
mov qword [rsp + 0x38], r11
mov r11, qword [rbp - 0x28]
mov rax, r11
xor rax, r14
and rax, rcx
xor r11, rax
xor r14, rax
mov qword [rbp - 0x40], r11
mov r11, qword [rbp - 0x20]
mov rax, r11
xor rax, r13
mov rbx, qword [rsp + 0x68]
and rax, rcx
xor r11, rax
mov qword [rbp + 8], rdx
mov rdx, qword [rsp + 0x28]
xor r13, rax
mov qword [rbp - 0x80], r11
dec r15d
mov r11, qword [rbp - 0x18]
mov rax, r11
mov dword [rbp], r15d
xor rax, rbx
and rax, rcx
xor r11, rax
xor rbx, rax
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x20], r11
mov r11, qword [rsp + 0x70]
xor rax, r11
and rax, rcx
mov rcx, qword [rbp - 0x10]
xor rcx, rax
xor r11, rax
mov qword [rbp - 0x78], rcx
cmp r15d, 2
mov rcx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jge 0x14005a864
mov qword [rsp + 0x38], r11
mov rax, r11
mov qword [rbp - 0x40], 3
lea rdx, [rax + r10]
mov qword [rsp + 0x20], rbx
sub r10, rax
mov qword [rsp + 0x38], rdx
add rbx, r9
lea r11, [r14 + rdi]
sub r9, qword [rsp + 0x20]
lea rcx, [rsi + r12]
sub rdi, r14
mov qword [rbp + 8], rbx
sub rsi, r12
lea r15, [r8 + r13]
sub r8, r13
mov qword [rbp - 0x78], r15
lea r13, [rcx + rcx]
mov rax, rcx
movabs r12, 0x3fffffffffff68
add rsi, r12
mov qword [rsp + 0x40], rsi
movabs rsi, 0x3ffffffffffff8
add rdi, rsi
add r8, rsi
add r9, rsi
mov qword [rsp + 0x28], rdi
add r10, rsi
mov qword [rsp + 0x48], r8
imul rsi, rdx, 0x13
mul rcx
mov qword [rbp - 0x80], r10
lea r10, [rsi + rsi]
mov qword [rsp + 0x30], r9
imul r9, r15, 0x26
mov rcx, rax
mov rdi, rdx
mov rax, r11
mul r10
lea r8, [rcx + rax]
mov rax, rbx
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r9
add rax, r8
mov r12, rdx
cmp rax, r8
mov qword [rsp + 0x20], rax
mov rax, r11
adc r12, rcx
mul r13
mov rcx, rax
mov rdi, rdx
mov rax, r15
mul r10
lea r8, [rcx + rax]
cmp r8, rcx
adc rdi, 0
imul rax, rbx, 0x13
lea rcx, [rdi + rdx]
mul rbx
mov r14, rdx
lea rdx, [rax + r8]
mov rax, r15
cmp rdx, r8
mov qword [rsp + 0x78], rdx
adc r14, rcx
mul r13
mov rcx, rax
mov rdi, rdx
mov rax, r11
mul r11
lea r8, [rcx + rax]
mov rax, rbx
cmp r8, rcx
adc rdi, 0
lea rcx, [rdi + rdx]
mul r10
mov rbx, rdx
lea r15, [r8 + rax]
mov rax, qword [rbp + 8]
cmp r15, r8
adc rbx, rcx
mul r13
lea r9, [r11 + r11]
mov rcx, rax
mov r10, rdx
mov rax, qword [rbp - 0x78]
mul r9
lea r8, [rcx + rax]
mov rax, rsi
cmp r8, rcx
adc r10, 0
add r10, rdx
mul qword [rsp + 0x38]
lea rsi, [r8 + rax]
mov rax, qword [rsp + 0x38]
cmp rsi, r8
adc r10, rdx
mul r13
mov r13, qword [rsp + 0x78]
mov rcx, rax
mov r8, rdx
mov rax, qword [rbp + 8]
mul r9
lea r9, [rcx + rax]
mov rax, qword [rbp - 0x78]
cmp r9, rcx
mov rcx, r13
adc r8, 0
add r8, rdx
mul rax
lea rdi, [r9 + rax]
mov rax, qword [rsp + 0x20]
shrd rax, r12, 0x33
add r13, rax
cmp r13, rcx
mov rax, r13
mov rcx, r15
adc r14, 0
shrd rax, r14, 0x33
add r15, rax
cmp r15, rcx
mov rax, r15
mov rcx, rsi
adc rbx, 0
shrd rax, rbx, 0x33
add rsi, rax
cmp rsi, rcx
mov r11, rsi
adc r10, 0
shrd r11, r10, 0x33
add r11, rdi
cmp r11, rdi
mov rax, r11
adc r8, 0
cmp rdi, r9
adc r8, rdx
movabs rdx, 0x7ffffffffffff
imul rdi, qword [rsp + 0x48], 0x26
shrd rax, r8, 0x33
and r11, rdx
and r13, rdx
imul rcx, rax, 0x13
mov rax, qword [rsp + 0x20]
and r15, rdx
and rax, rdx
mov qword [rbp - 0x50], r11
mov r11, qword [rsp + 0x28]
add rcx, rax
and rsi, rdx
mov qword [rbp - 0x60], r15
mov rax, rcx
mov qword [rbp - 0x58], rsi
and rax, rdx
shr rcx, 0x33
mov rdx, qword [rsp + 0x40]
lea r14, [r11 + r11]
add r13, rcx
mov qword [rbp - 0x70], rax
imul r9, qword [rbp - 0x80], 0x13
mov qword [rbp - 0x68], r13
lea rbx, [rdx + rdx]
lea r8, [r9 + r9]
mov r15, qword [rsp + 0x30]
mov rax, rdx
mul rdx
mov r10, rax
mov r12, rdx
mov rcx, r10
mov rax, r11
mul r8
add r10, rax
mov rax, r15
cmp r10, rcx
mov rcx, r10
adc r12, rdx
mul rdi
mov rdi, qword [rsp + 0x48]
add r10, rax
mov rax, r11
cmp r10, rcx
mov qword [rsp + 0x38], r10
adc r12, rdx
mul rbx
mov r13, rax
mov rsi, rdx
mov rcx, r13
mov rax, rdi
mul r8
add r13, rax
cmp r13, rcx
mov rcx, r13
adc rsi, rdx
imul rax, r15, 0x13
mul r15
add r13, rax
mov rax, rdi
cmp r13, rcx
adc rsi, rdx
mul rbx
mov r15, rax
mov r10, rdx
mov rax, r11
mov rcx, r15
mul r11
add r15, rax
mov rax, qword [rsp + 0x30]
cmp r15, rcx
mov rcx, r15
adc r10, rdx
mul r8
add r15, rax
mov rax, qword [rsp + 0x30]
cmp r15, rcx
adc r10, rdx
mul rbx
mov r11, rax
mov r8, rdx
mov rcx, r11
mov rax, rdi
mul r14
add r11, rax
mov rax, r9
cmp r11, rcx
mov rcx, r11
adc r8, rdx
mul qword [rbp - 0x80]
add r11, rax
mov rax, qword [rbp - 0x80]
cmp r11, rcx
adc r8, rdx
mul rbx
mov r9, rax
mov rdi, rdx
mov rax, qword [rsp + 0x30]
mov rcx, r9
mul r14
add r9, rax
mov rax, qword [rsp + 0x48]
cmp r9, rcx
mov rcx, r9
adc rdi, rdx
mul rax
add r9, rax
cmp r9, rcx
mov rcx, r13
adc rdi, rdx
mov rdx, qword [rsp + 0x38]
mov rax, rdx
shrd rax, r12, 0x33
add r13, rax
cmp r13, rcx
mov rax, r13
mov rcx, r15
adc rsi, 0
shrd rax, rsi, 0x33
add r15, rax
cmp r15, rcx
mov rax, r15
mov rcx, r11
adc r10, 0
shrd rax, r10, 0x33
add r11, rax
cmp r11, rcx
mov rax, r11
mov rcx, r9
adc r8, 0
shrd rax, r8, 0x33
lea r8, [rsp + 0x50]
add r9, rax
cmp r9, rcx
mov rax, r9
adc rdi, 0
shrd rax, rdi, 0x33
movabs rdi, 0x7ffffffffffff
imul rcx, rax, 0x13
and rdx, rdi
and r11, rdi
add rcx, rdx
mov qword [rsp + 0x68], r11
mov rax, rcx
lea rdx, [rbp - 0x70]
shr rcx, 0x33
and rax, rdi
and r9, rdi
mov qword [rsp + 0x50], rax
and r13, rdi
mov qword [rsp + 0x70], r9
add r13, rcx
and r15, rdi
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r15
call fcn.14005a1b0
mov rcx, qword [rbp - 0x70]
movabs rax, 0x3fffffffffff68
sub rcx, qword [rsp + 0x50]
mov rdi, qword [rbp - 0x68]
add rcx, rax
sub rdi, qword [rsp + 0x58]
movabs rax, 0x3ffffffffffff8
mov r8, qword [rbp - 0x60]
add rdi, rax
sub r8, qword [rsp + 0x60]
mov r10, qword [rbp - 0x58]
add r8, rax
sub r10, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x50]
add r10, rax
sub rbx, qword [rsp + 0x70]
add rbx, rax
mov qword [rsp + 0x50], rcx
mov eax, 0x1db41
mov qword [rsp + 0x58], rdi
mul rcx
mov qword [rsp + 0x60], r8
mov rcx, rax
mov qword [rsp + 0x68], r10
mov rsi, rax
mov qword [rsp + 0x70], rbx
movabs rax, 0x7ffffffffffff
and rsi, rax
mov eax, 0x1db41
shrd rcx, rdx, 0x33
mul rdi
add rcx, rax
movabs rdi, 0x7ffffffffffff
cmp rcx, rax
mov r11, rcx
mov eax, 0x1db41
adc rdx, 0
and r11, rdi
shrd rcx, rdx, 0x33
mul r8
add rcx, rax
cmp rcx, rax
mov r9, rcx
mov eax, 0x1db41
adc rdx, 0
and r9, rdi
shrd rcx, rdx, 0x33
mul r10
add rcx, rax
cmp rcx, rax
mov r8, rcx
mov eax, 0x1db41
adc rdx, 0
and r8, rdi
shrd rcx, rdx, 0x33
mul rbx
add rcx, rax
cmp rcx, rax
mov rdi, rcx
movabs rax, 0x7ffffffffffff
adc rdx, 0
add r8, qword [rbp - 0x58]
add r11, qword [rbp - 0x68]
and rdi, rax
add r9, qword [rbp - 0x60]
add rdi, qword [rbp - 0x50]
shrd rcx, rdx, 0x33
mov qword [rbp + 0xb0], r8
lea rdx, [rsp + 0x50]
imul rax, rcx, 0x13
lea r8, [rbp + 0x98]
mov qword [rbp + 0xa0], r11
add rax, qword [rbp - 0x70]
lea rcx, [rsp + 0x50]
add rax, rsi
mov qword [rbp + 0xa8], r9
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xb8], rdi
call fcn.14005a1b0
sub qword [rbp - 0x40], 1
je 0x14005ba9e
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r10, qword [rbp + 0x30]
mov r9, qword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x18]
mov rsi, qword [rbp + 0x10]
jmp 0x14005b4e3
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xc0]
call fcn.14005bcc0
mov r8d, 2
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x40]
call fcn.14005bee0
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14005a1b0
lea r8, [rbp + 0xc0]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xc0]
call fcn.14005a1b0
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x40]
call fcn.14005bcc0
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14005a1b0
mov r8d, 5
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.14005a1b0
mov r8d, 0xa
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x40]
call fcn.14005a1b0
mov r8d, 0x14
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.14005a1b0
mov r8d, 0xa
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.14005a1b0
mov r8d, 0x32
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x40]
call fcn.14005a1b0
mov r8d, 0x64
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.14005a1b0
mov r8d, 0x32
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.14005bee0
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.14005a1b0
mov r8d, 5
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.14005bee0
lea r8, [rbp + 0xc0]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x40]
call fcn.14005a1b0
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.14005a1b0
mov rcx, qword [rbp + 0xf0]
lea rdx, [rsp + 0x50]
call fcn.140059f40
mov rdi, qword [rbp + 0x130]
lea rax, [rbp + 0xf8]
cmp rdi, rax
jne 0x14005bc84
mov rcx, qword [rbp + 0x128]
cmp qword [rbp + 0x120], rcx
cmovb rcx, qword [rbp + 0x120]
xor eax, eax
rep stosb byte [rdi], al
jmp 0x14005bc86
xor eax, eax
mov rcx, qword [rbp + 0x138]
xor rcx, rsp
call fcn.140076590
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x748]
sub rsp, 0x840
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
mov rax, qword [0x140127190]
xor rax, rsp
mov qword [rbp + 0x690], rax
lea rax, [rbp + 0x530]
mov qword [rbp + 0x558], 0xffffffffffffffff
mov qword [rbp + 0x568], rax
mov rbx, r8
movzx eax, byte [rdx + 1]
mov rsi, rcx
mov byte [rbp + 0x531], al
movzx eax, byte [rdx + 2]
mov byte [rbp + 0x532], al
movzx eax, byte [rdx + 3]
mov byte [rbp + 0x533], al
movzx eax, byte [rdx + 4]
mov byte [rbp + 0x534], al
movzx eax, byte [rdx + 5]
mov byte [rbp + 0x535], al
movzx eax, byte [rdx + 6]
mov byte [rbp + 0x536], al
movzx eax, byte [rdx + 7]
mov byte [rbp + 0x537], al
movzx eax, byte [rdx + 8]
mov byte [rbp + 0x538], al
movzx eax, byte [rdx + 9]
mov byte [rbp + 0x539], al
movzx eax, byte [rdx + 0xa]
mov byte [rbp + 0x53a], al
movzx eax, byte [rdx + 0xb]
mov byte [rbp + 0x53b], al
movzx eax, byte [rdx + 0xc]
mov byte [rbp + 0x53c], al
movzx eax, byte [rdx + 0xd]
mov byte [rbp + 0x53d], al
movzx eax, byte [rdx + 0xe]
mov byte [rbp + 0x53e], al
movzx eax, byte [rdx + 0xf]
mov byte [rbp + 0x53f], al
movzx eax, byte [rdx + 0x10]
mov byte [rbp + 0x540], al
movzx eax, byte [rdx + 0x11]
mov byte [rbp + 0x541], al
movzx eax, byte [rdx + 0x12]
mov byte [rbp + 0x542], al
movzx eax, byte [rdx + 0x13]
mov byte [rbp + 0x543], al
movzx eax, byte [rdx + 0x14]
mov byte [rbp + 0x544], al
movzx eax, byte [rdx + 0x15]
mov byte [rbp + 0x545], al
movzx eax, byte [rdx + 0x16]
mov byte [rbp + 0x546], al
movzx eax, byte [rdx + 0x17]
mov byte [rbp + 0x547], al
movzx eax, byte [rdx + 0x18]
mov byte [rbp + 0x548], al
movzx eax, byte [rdx + 0x19]
mov byte [rbp + 0x549], al
movzx eax, byte [rdx + 0x1a]
mov byte [rbp + 0x54a], al
movzx eax, byte [rdx + 0x1b]
mov byte [rbp + 0x54b], al
movzx eax, byte [rdx + 0x1c]
mov byte [rbp + 0x54c], al
movzx eax, byte [rdx + 0x1d]
mov byte [rbp + 0x54d], al
movzx eax, byte [rdx + 0x1e]
mov byte [rbp + 0x54e], al
movzx eax, byte [rdx]
and al, 0xf8
mov qword [rbp + 0x560], 0x20
mov byte [rbp + 0x530], al
movzx eax, byte [rdx + 0x1f]
and al, 0x3f
mov byte [rbp + 0x551], 1
or al, 0x40
mov dword [rbp + 0x600], 1
mov byte [rbp + 0x54f], al
xor eax, eax
mov qword [rbp + 0x604], rax
mov qword [rbp + 0x60c], rax
mov qword [rbp + 0x614], rax
mov qword [rbp + 0x61c], rax
mov qword [rbp + 0x624], rax
mov ecx, dword [r8]
mov r9d, dword [rbx + 0x10]
mov edx, dword [r8 + 4]
mov r10d, dword [rbx + 0x14]
mov edi, dword [r8 + 8]
mov r11d, dword [rbx + 0x18]
mov r8d, dword [r8 + 0xc]
mov ebx, dword [rbx + 0x1c]
mov dword [rbp + 0x62c], eax
mov qword [rbp + 0x574], rax
mov qword [rbp + 0x57c], rax
mov qword [rbp + 0x584], rax
mov qword [rbp + 0x58c], rax
mov qword [rbp + 0x594], rax
mov dword [rbp + 0x59c], eax
mov qword [rbp + 0x5d0], rax
mov qword [rbp + 0x5d8], rax
mov qword [rbp + 0x5e0], rax
mov qword [rbp + 0x5e8], rax
mov qword [rbp + 0x5f0], rax
mov qword [rbp + 0x5f8], rax
mov eax, ecx
and eax, 0x3ffffff
shr ecx, 0x1a
mov dword [rbp + 0x5a0], eax
mov eax, edx
shl eax, 6
or eax, ecx
shr edx, 0x13
and eax, 0x1ffffff
mov dword [rbp + 0x570], 1
mov dword [rbp + 0x5a4], eax
lea rcx, [rbp + 0x400]
mov eax, edi
shr edi, 0xd
shl eax, 0xd
or eax, edx
lea rdx, [rbp + 0x5a0]
and eax, 0x3ffffff
mov dword [rbp + 0x5a8], eax
mov eax, r8d
shl eax, 0x13
or eax, edi
shr r8d, 6
and eax, 0x1ffffff
mov dword [rbp + 0x5b0], r8d
mov dword [rbp + 0x5ac], eax
mov eax, r9d
and eax, 0x1ffffff
shr r9d, 0x19
mov dword [rbp + 0x5b4], eax
mov eax, r10d
shl eax, 7
or eax, r9d
shr r10d, 0x13
and eax, 0x3ffffff
xor r9d, r9d
mov dword [rbp + 0x5b8], eax
mov eax, r11d
shl eax, 0xd
or eax, r10d
shr r11d, 0xc
and eax, 0x1ffffff
mov qword [rbp + 0x5c8], r9
mov dword [rbp + 0x5bc], eax
mov eax, ebx
shl eax, 0x14
or eax, r11d
shr ebx, 6
and eax, 0x3ffffff
and ebx, 0x1ffffff
mov dword [rbp + 0x5c0], eax
mov dword [rbp + 0x5c4], ebx
call fcn.140070b70
movdqa xmm10, xmmword [rbp + 0x610]
mov r10d, 0xfe
movdqa xmm5, xmmword [rbp + 0x620]
movdqa xmm7, xmmword [rbp + 0x600]
movdqa xmm4, xmmword [rbp + 0x5f0]
movdqa xmm8, xmmword [rbp + 0x5e0]
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmm9, xmmword [rbp + 0x5d0]
movdqa xmm1, xmmword [rbp + 0x5c0]
movdqa xmm2, xmmword [rbp + 0x5b0]
movdqa xmm13, xmmword [rbp + 0x5a0]
movdqa xmmword [rsp + 0x30], xmm8
jmp 0x1400716f2
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm4, xmmword [rsp + 0x70]
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm15, xmmword [0x1400ee290]
pxor xmm2, xmm10
pxor xmm1, xmm5
pxor xmm13, xmm7
movdqa xmm10, xmm2
movdqa xmm14, xmm1
movdqa xmm11, xmm13
mov rax, r10
shr rax, 3
movzx ecx, r10b
and cl, 7
movzx edi, byte [rbp + rax + 0x530]
shr rdi, cl
and edi, 1
mov eax, edi
xor eax, r9d
mov r9d, edi
neg eax
movd xmm0, eax
pshufd xmm3, xmm0, 0
movdqa xmm0, xmmword [rbp + 0x590]
pand xmm10, xmm3
pxor xmm10, xmmword [rsp + 0x50]
pxor xmm0, xmm4
pand xmm14, xmm3
pand xmm11, xmm3
pxor xmm14, xmm5
pxor xmm11, xmm7
movdqa xmm6, xmm10
movdqa xmm7, xmm14
pxor xmm6, xmm2
pxor xmm7, xmm1
movdqa xmm2, xmmword [rbp + 0x570]
movdqa xmm5, xmm11
movdqa xmm1, xmmword [rbp + 0x580]
pxor xmm2, xmm9
pxor xmm1, xmm8
punpckldq xmm14, xmm7
pxor xmm5, xmm13
movdqa xmmword [rsp + 0x60], xmm14
movdqa xmm8, xmm2
movdqa xmm13, xmm0
pand xmm8, xmm3
pand xmm13, xmm3
pxor xmm8, xmm9
pxor xmm13, xmm4
movdqa xmm9, xmm1
movdqa xmm4, xmm13
pand xmm9, xmm3
pxor xmm4, xmm0
pxor xmm9, xmmword [rsp + 0x30]
movdqa xmm3, xmm8
pxor xmm3, xmm2
punpckldq xmm13, xmm4
movdqa xmm2, xmm9
movdqa xmm12, xmm11
pxor xmm2, xmm1
punpckldq xmm12, xmm5
punpckhdq xmm11, xmm5
movdqa xmm1, xmm9
punpckldq xmm1, xmm2
movdqa xmm0, xmm8
punpckldq xmm0, xmm3
movdqa xmm5, xmm10
punpckhdq xmm9, xmm2
movdqa xmm4, xmm1
punpckldq xmm5, xmm6
movdqa xmm2, xmm0
punpckhdq xmm8, xmm3
paddd xmm4, xmm5
punpckhdq xmm10, xmm6
movdqa xmm3, xmm8
movdqa xmm6, xmm9
movdqa xmmword [rsp + 0x20], xmm4
paddd xmm2, xmm12
paddd xmm3, xmm11
paddd xmm6, xmm10
movdqa xmmword [rsp + 0x50], xmm2
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmm7, xmm13
movdqa xmmword [rbp + 0x170], xmm6
paddd xmm12, xmmword [0x1400ee280]
paddd xmm11, xmm15
psubd xmm12, xmm0
paddd xmm7, xmm14
movdqa xmm14, xmm12
movdqa xmmword [rbp + 0x20], xmm7
paddd xmm10, xmm15
paddd xmm5, xmm15
psubd xmm5, xmm1
psubd xmm11, xmm8
movdqa xmm15, xmm11
punpckhqdq xmm12, xmm5
punpcklqdq xmm14, xmm5
psubd xmm10, xmm9
punpcklqdq xmm15, xmm10
movdqa xmm0, xmm14
pand xmm14, xmmword [0x1400ee1f0]
psrld xmm0, 0x1a
paddd xmm12, xmm0
punpckhqdq xmm11, xmm10
movdqa xmm0, xmm15
pand xmm15, xmmword [0x1400ee1f0]
psrld xmm0, 0x1a
paddd xmm11, xmm0
movdqa xmm0, xmm12
pand xmm12, xmmword [0x1400ee200]
movdqa xmm1, xmm11
pand xmm11, xmmword [0x1400ee200]
psrld xmm0, 0x19
paddd xmm15, xmm0
psrld xmm1, 0x19
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x70], xmm11
pslldq xmm0, 8
movdqa xmm11, xmm15
punpcklqdq xmm11, xmmword [rsp + 0x70]
paddd xmm14, xmm0
punpckhqdq xmm15, xmmword [rsp + 0x70]
movdqa xmm10, xmm14
psrldq xmm1, 8
punpcklqdq xmm10, xmm12
punpckhqdq xmm14, xmm12
movdqa xmm12, xmmword [rsp + 0x60]
paddd xmm12, xmmword [0x1400ee290]
pshufd xmm0, xmm2, 0x50
psubd xmm12, xmm13
paddd xmm12, xmm1
movdqa xmmword [rbp + 0x2c0], xmm0
pshufd xmm1, xmm2, 0xfa
movdqa xmmword [rbp + 0x2d0], xmm1
pshufd xmm0, xmm3, 0x50
movdqa xmmword [rbp + 0x2e0], xmm0
pshufd xmm1, xmm3, 0xfa
movdqa xmmword [rbp + 0x2f0], xmm1
pshufd xmm0, xmm4, 0x50
movdqa xmmword [rbp + 0x300], xmm0
pshufd xmm1, xmm4, 0xfa
movdqa xmmword [rbp + 0x310], xmm1
pshufd xmm0, xmm6, 0x50
movdqa xmmword [rbp + 0x320], xmm0
pshufd xmm1, xmm6, 0xfa
movdqa xmmword [rbp + 0x330], xmm1
pshufd xmm0, xmm7, 0x50
movdqa xmmword [rbp + 0x340], xmm0
pshufd xmm1, xmm7, 0xfa
movdqa xmmword [rbp + 0x350], xmm1
pshufd xmm0, xmm10, 5
movdqa xmmword [rbp + 0x220], xmm0
pshufd xmm1, xmm10, 0xaf
movdqa xmmword [rbp + 0x230], xmm1
pshufd xmm0, xmm11, 5
pshufd xmm1, xmm11, 0xaf
movdqa xmmword [rbp + 0x240], xmm0
pshufd xmm0, xmm14, 5
movdqa xmmword [rbp + 0x250], xmm1
pshufd xmm1, xmm14, 0xaf
movdqa xmmword [rbp + 0x260], xmm0
pshufd xmm0, xmm15, 5
movdqa xmmword [rbp + 0x270], xmm1
pshufd xmm1, xmm15, 0xaf
movdqa xmmword [rbp + 0x280], xmm0
movdqa xmmword [rbp + 0x290], xmm1
lea r8, [rbp + 0x220]
pshufd xmm1, xmm12, 0xaf
lea rdx, [rbp + 0x2c0]
pshufd xmm0, xmm12, 5
lea rcx, [rbp + 0x360]
movdqa xmmword [rbp + 0x2b0], xmm1
movdqa xmmword [rbp + 0x2a0], xmm0
call fcn.1400702b0
lea rcx, [rbp + 0x360]
call fcn.14006f150
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x180]
call fcn.1400726a0
movdqa xmm5, xmmword [rbp + 0x1e0]
lea r8, [rbp + 0x400]
movdqa xmm9, xmmword [rbp + 0x180]
lea rdx, [rbp + 0x570]
movdqa xmm7, xmmword [rbp + 0x1a0]
lea rcx, [rbp + 0x570]
movdqa xmm8, xmmword [rbp + 0x1c0]
movdqa xmm13, xmm9
punpckldq xmm13, xmmword [rbp + 0x190]
movdqa xmm3, xmm8
punpckldq xmm3, xmmword [rbp + 0x1d0]
movdqa xmm0, xmm7
punpckldq xmm0, xmmword [rbp + 0x1b0]
punpckhdq xmm9, xmmword [rbp + 0x190]
punpckhdq xmm7, xmmword [rbp + 0x1b0]
punpckhdq xmm8, xmmword [rbp + 0x1d0]
punpcklqdq xmm13, xmm0
movdqa xmm0, xmm5
punpckldq xmm0, xmmword [rbp + 0x1f0]
punpckhdq xmm5, xmmword [rbp + 0x1f0]
punpcklqdq xmm3, xmm0
movdqa xmmword [rsp + 0x60], xmm3
movdqa xmm3, xmmword [rbp + 0x200]
movdqa xmm6, xmm3
movdqa xmmword [rsp + 0x40], xmm3
punpckhdq xmm3, xmmword [rbp + 0x210]
punpckldq xmm6, xmmword [rbp + 0x210]
punpcklqdq xmm8, xmm5
punpcklqdq xmm9, xmm7
movdqa xmmword [rsp + 0x40], xmm6
movdqa xmmword [rbp + 0x570], xmm9
movdqa xmmword [rbp + 0x580], xmm8
movdqa xmmword [rbp + 0x590], xmm3
call fcn.140070d10
movdqa xmm1, xmmword [rsp + 0x50]
lea rdx, [rbp - 0x80]
movdqa xmm2, xmmword [rsp + 0x30]
lea rcx, [rbp + 0x30]
movdqa xmm0, xmm1
punpckhqdq xmm1, xmm10
punpcklqdq xmm0, xmm10
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmm2
punpcklqdq xmm0, xmm11
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmm1, xmmword [rsp + 0x20]
movdqa xmm0, xmm1
punpckhqdq xmm2, xmm11
punpcklqdq xmm0, xmm14
movdqa xmmword [rbp - 0x40], xmm0
punpckhqdq xmm1, xmm14
movdqa xmmword [rbp - 0x50], xmm2
movdqa xmm2, xmmword [rbp + 0x170]
movdqa xmm0, xmm2
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmm1, xmmword [rbp + 0x20]
punpcklqdq xmm0, xmm15
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmm1
punpcklqdq xmm0, xmm12
punpckhqdq xmm2, xmm15
punpckhqdq xmm1, xmm12
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm2
movdqa xmmword [rbp + 0x10], xmm1
call fcn.1400726a0
movdqa xmm12, xmmword [0x1400ee240]
movdqa xmm14, xmmword [0x1400ee1d0]
movdqa xmm15, xmmword [0x1400ee1e0]
movdqa xmm9, xmmword [rbp + 0x70]
movdqa xmm8, xmmword [rbp + 0x30]
movdqa xmm10, xmmword [rbp + 0x80]
movdqa xmm11, xmmword [rbp + 0x40]
movdqa xmm2, xmmword [rbp + 0x90]
movdqa xmm3, xmmword [rbp + 0x50]
movdqa xmm4, xmmword [rbp + 0xa0]
movdqa xmm5, xmmword [rbp + 0x60]
movdqa xmm6, xmmword [rbp + 0xb0]
movdqa xmm7, xmmword [rbp + 0xc0]
pmuludq xmm2, xmm12
pmuludq xmm9, xmm12
pmuludq xmm10, xmm12
pmuludq xmm11, xmm12
pmuludq xmm8, xmm12
pmuludq xmm3, xmm12
movdqa xmm1, xmm9
pmuludq xmm4, xmm12
psrlq xmm1, 0x1a
pand xmm9, xmm14
paddq xmm10, xmm1
pmuludq xmm5, xmm12
movdqa xmm1, xmm10
pmuludq xmm6, xmm12
psrlq xmm1, 0x19
movdqa xmm0, xmm8
paddq xmm2, xmm1
psrlq xmm0, 0x1a
paddq xmm11, xmm0
pmuludq xmm7, xmm12
movdqa xmm1, xmm2
movdqa xmm0, xmm11
psrlq xmm0, 0x19
pand xmm2, xmm14
paddq xmm3, xmm0
psrlq xmm1, 0x1a
paddq xmm4, xmm1
movdqa xmmword [rbp + 0x130], xmm2
movdqa xmm0, xmm3
movdqa xmm1, xmm4
psrlq xmm0, 0x1a
pand xmm8, xmm14
paddq xmm5, xmm0
psrlq xmm1, 0x19
paddq xmm6, xmm1
movdqa xmm0, xmm5
psrlq xmm0, 0x19
pand xmm11, xmm15
paddq xmm9, xmm0
pand xmm10, xmm15
movdqa xmm0, xmm6
movdqa xmm1, xmm9
psrlq xmm0, 0x1a
pand xmm3, xmm14
paddq xmm7, xmm0
psrlq xmm1, 0x1a
movdqa xmm2, xmm7
movdqa xmmword [rbp + 0xf0], xmm3
psrlq xmm2, 0x19
pand xmm5, xmm15
pmuludq xmm2, xmmword [0x1400ee210]
pand xmm4, xmm15
pand xmm6, xmm14
movdqa xmmword [rbp + 0x100], xmm5
pand xmm7, xmm15
movdqa xmmword [rbp + 0x140], xmm4
pand xmm9, xmm14
movdqa xmmword [rbp + 0x150], xmm6
movdqa xmmword [rbp + 0x160], xmm7
paddq xmm10, xmm1
paddq xmm2, xmm8
movdqa xmmword [rbp + 0x110], xmm9
movdqa xmm0, xmm2
pand xmm2, xmm14
psrlq xmm0, 0x1a
paddq xmm11, xmm0
movdqa xmmword [rbp + 0xd0], xmm2
movdqa xmmword [rbp + 0xe0], xmm11
lea r8, [rbp + 0xd0]
movdqa xmmword [rbp + 0x120], xmm10
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.14006f7b0
movdqa xmm11, xmmword [rbp]
dec r10
movdqa xmm9, xmmword [rbp - 0x80]
movdqa xmm12, xmm11
movdqa xmm6, xmmword [rbp - 0x60]
movdqa xmm7, xmm9
movdqa xmm8, xmmword [rbp - 0x40]
movdqa xmm0, xmm6
punpckldq xmm0, xmmword [rbp - 0x50]
movdqa xmm10, xmm8
movdqa xmm4, xmmword [rbp - 0x20]
punpckldq xmm12, xmmword [rbp + 0x10]
punpckldq xmm7, xmmword [rbp - 0x70]
punpckldq xmm10, xmmword [rbp - 0x30]
punpckhdq xmm9, xmmword [rbp - 0x70]
punpckhdq xmm6, xmmword [rbp - 0x50]
punpckhdq xmm8, xmmword [rbp - 0x30]
movdqa xmm2, xmmword [rsp + 0x60]
punpcklqdq xmm7, xmm0
movdqa xmm0, xmm4
punpckldq xmm0, xmmword [rbp - 0x10]
punpckhdq xmm4, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x20], xmm11
punpckhdq xmm11, xmmword [rbp + 0x10]
punpcklqdq xmm10, xmm0
punpcklqdq xmm9, xmm6
punpcklqdq xmm8, xmm4
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmm12, xmmword [0x1400ee240]
movdqa xmmword [rsp + 0x50], xmm10
movdqa xmmword [rbp + 0x20], xmm9
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x70], xmm11
cmp r10, 3
jae 0x1400716e0
movdqa xmm4, xmmword [rsp + 0x40]
pxor xmm13, xmm7
pxor xmm4, xmmword [rsp + 0x20]
pxor xmm2, xmm10
movdqa xmm8, xmm13
neg edi
movdqa xmm9, xmm4
movd xmm0, edi
mov edi, 3
pshufd xmm3, xmm0, 0
pand xmm8, xmm3
pand xmm9, xmm3
pxor xmm9, xmmword [rsp + 0x20]
pxor xmm8, xmm7
movdqa xmm7, xmm2
movdqa xmm0, xmm8
pxor xmm0, xmm13
pand xmm7, xmm3
movdqa xmmword [rbp + 0x5a0], xmm0
pxor xmm7, xmm10
movdqa xmm0, xmm9
movdqa xmm1, xmm7
pxor xmm1, xmm2
pxor xmm0, xmm4
movdqa xmm2, xmmword [rbp + 0x570]
pxor xmm2, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x5c0], xmm0
movdqa xmm10, xmm2
movdqa xmm0, xmmword [rbp + 0x590]
pand xmm10, xmm3
pxor xmm10, xmmword [rbp + 0x20]
pxor xmm0, xmm11
movdqa xmmword [rbp + 0x5b0], xmm1
movdqa xmm13, xmm0
movdqa xmm1, xmmword [rbp + 0x580]
pand xmm13, xmm3
pxor xmm1, xmmword [rsp + 0x30]
pxor xmm2, xmm10
pxor xmm13, xmmword [rsp + 0x70]
movdqa xmm11, xmm1
pxor xmm0, xmm13
movdqa xmmword [rbp + 0x570], xmm2
pand xmm11, xmm3
movdqa xmmword [rbp + 0x590], xmm0
pxor xmm11, xmmword [rsp + 0x30]
movdqa xmm0, xmmword [0x1400ee1a0]
pxor xmm1, xmm11
movdqa xmmword [rbp + 0x580], xmm1
movdqa xmm5, xmm10
lea rdx, [rbp - 0x80]
paddd xmm5, xmm8
lea rcx, [rbp + 0x30]
paddd xmm8, xmmword [0x1400ee250]
movdqa xmm6, xmm11
paddd xmm6, xmm7
psubd xmm8, xmm10
paddd xmm7, xmmword [0x1400ee260]
pshufd xmm2, xmm8, 0xf5
psubd xmm7, xmm11
pand xmm2, xmm0
pshufd xmm4, xmm8, 0xa0
pand xmm4, xmm0
movdqa xmm3, xmm2
psrld xmm3, 0x19
movdqa xmm1, xmm4
psrld xmm1, 0x1a
movdqa xmm0, xmm3
pslldq xmm0, 8
pand xmm2, xmm15
paddd xmm2, xmm1
psrldq xmm3, 8
paddd xmm7, xmm3
pand xmm4, xmm14
paddd xmm4, xmm0
movdqa xmm1, xmm5
movdqa xmm0, xmm4
movdqa xmm3, xmm6
punpckldq xmm0, xmm2
punpckhdq xmm4, xmm2
movdqa xmm2, xmm13
punpcklqdq xmm0, xmm4
paddd xmm2, xmm9
paddd xmm9, xmmword [0x1400ee270]
punpcklqdq xmm1, xmm0
psubd xmm9, xmm13
punpckhqdq xmm5, xmm0
pshufd xmm0, xmm1, 0xf5
punpcklqdq xmm3, xmm7
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmmword [rbp - 0x80], xmm1
pshufd xmm0, xmm3, 0xf5
pshufd xmm1, xmm5, 0xf5
punpcklqdq xmm2, xmm9
punpckhqdq xmm6, xmm7
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x50], xmm1
pshufd xmm0, xmm2, 0xf5
pshufd xmm1, xmm6, 0xf5
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp - 0x60], xmm5
movdqa xmmword [rbp - 0x40], xmm3
movdqa xmmword [rbp - 0x20], xmm6
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
call fcn.1400726a0
movdqa xmm8, xmmword [rbp + 0x30]
movdqa xmm9, xmmword [rbp + 0x70]
movdqa xmm11, xmmword [rbp + 0x40]
movdqa xmm3, xmmword [rbp + 0x50]
movdqa xmm5, xmmword [rbp + 0x60]
movdqa xmm10, xmmword [rbp + 0x80]
movdqa xmm2, xmmword [rbp + 0x90]
movdqa xmm4, xmmword [rbp + 0xa0]
movdqa xmm6, xmmword [rbp + 0xb0]
movdqa xmm7, xmmword [rbp + 0xc0]
pmuludq xmm8, xmm12
pmuludq xmm9, xmm12
pmuludq xmm11, xmm12
pmuludq xmm3, xmm12
pmuludq xmm5, xmm12
movdqa xmm0, xmm8
pmuludq xmm10, xmm12
movdqa xmm1, xmm9
psrlq xmm0, 0x1a
psrlq xmm1, 0x1a
pmuludq xmm2, xmm12
pmuludq xmm4, xmm12
pmuludq xmm6, xmm12
pmuludq xmm7, xmm12
paddq xmm11, xmm0
lea r8, [rbp + 0xd0]
paddq xmm10, xmm1
lea rdx, [rbp + 0x30]
movdqa xmm1, xmm10
lea rcx, [rbp - 0x80]
psrlq xmm1, 0x19
movdqa xmm0, xmm11
paddq xmm2, xmm1
psrlq xmm0, 0x19
paddq xmm3, xmm0
movdqa xmm1, xmm2
pand xmm2, xmm14
psrlq xmm1, 0x1a
paddq xmm4, xmm1
movdqa xmmword [rbp + 0x130], xmm2
movdqa xmm0, xmm3
movdqa xmm1, xmm4
psrlq xmm0, 0x1a
pand xmm9, xmm14
paddq xmm5, xmm0
psrlq xmm1, 0x19
paddq xmm6, xmm1
movdqa xmm0, xmm5
psrlq xmm0, 0x19
pand xmm3, xmm14
paddq xmm9, xmm0
movdqa xmmword [rbp + 0xf0], xmm3
movdqa xmm0, xmm6
movdqa xmm1, xmm9
psrlq xmm0, 0x1a
pand xmm5, xmm15
paddq xmm7, xmm0
psrlq xmm1, 0x1a
movdqa xmm2, xmm7
movdqa xmmword [rbp + 0x100], xmm5
psrlq xmm2, 0x19
pand xmm4, xmm15
pmuludq xmm2, xmmword [0x1400ee210]
pand xmm8, xmm14
pand xmm11, xmm15
movdqa xmmword [rbp + 0x140], xmm4
pand xmm10, xmm15
pand xmm6, xmm14
paddq xmm10, xmm1
movdqa xmmword [rbp + 0x150], xmm6
pand xmm7, xmm15
movdqa xmmword [rbp + 0x120], xmm10
paddq xmm2, xmm8
movdqa xmmword [rbp + 0x160], xmm7
movdqa xmm0, xmm2
pand xmm9, xmm14
psrlq xmm0, 0x1a
pand xmm2, xmm14
paddq xmm11, xmm0
movdqa xmmword [rbp + 0xd0], xmm2
movdqa xmmword [rbp + 0xe0], xmm11
movdqa xmmword [rbp + 0x110], xmm9
call fcn.14006f7b0
movdqa xmm10, xmmword [rbp - 0x80]
movdqa xmm6, xmmword [rbp - 0x60]
movdqa xmm8, xmm10
movdqa xmm11, xmmword [rbp - 0x40]
movdqa xmm0, xmm6
punpckldq xmm0, xmmword [rbp - 0x50]
movdqa xmm7, xmm11
movdqa xmm4, xmmword [rbp - 0x20]
punpckldq xmm8, xmmword [rbp - 0x70]
movdqa xmm13, xmmword [rbp]
punpckldq xmm7, xmmword [rbp - 0x30]
movdqa xmm9, xmm13
punpckhdq xmm10, xmmword [rbp - 0x70]
punpckhdq xmm6, xmmword [rbp - 0x50]
punpckldq xmm9, xmmword [rbp + 0x10]
punpckhdq xmm11, xmmword [rbp - 0x30]
punpcklqdq xmm8, xmm0
movdqa xmm0, xmm4
punpckldq xmm0, xmmword [rbp - 0x10]
punpckhdq xmm4, xmmword [rbp - 0x10]
punpcklqdq xmm7, xmm0
punpcklqdq xmm10, xmm6
punpckhdq xmm13, xmmword [rbp + 0x10]
movdqa xmm0, xmmword [0x1400ee1a0]
punpcklqdq xmm11, xmm4
sub rdi, 1
jne 0x140072011
mov r8d, 1
movdqa xmmword [rbp + 0x610], xmm7
lea rdx, [rbp + 0x5d0]
movdqa xmmword [rbp + 0x600], xmm8
lea rcx, [rbp + 0x660]
movdqa xmmword [rbp + 0x620], xmm9
movdqa xmmword [rbp + 0x5d0], xmm10
movdqa xmmword [rbp + 0x5e0], xmm11
movdqa xmmword [rbp + 0x5f0], xmm13
call fcn.140072c20
mov r8d, 2
lea rdx, [rbp + 0x660]
lea rcx, [rbp + 0x630]
call fcn.140072c20
lea r8, [rbp + 0x5d0]
lea rdx, [rbp + 0x630]
lea rcx, [rbp + 0x570]
call fcn.14006fc00
lea r8, [rbp + 0x660]
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x660]
call fcn.14006fc00
mov r8d, 1
lea rdx, [rbp + 0x660]
lea rcx, [rbp + 0x630]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x630]
lea rcx, [rbp + 0x570]
call fcn.14006fc00
mov r8d, 5
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x570]
call fcn.14006fc00
mov r8d, 0xa
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x630]
call fcn.14006fc00
mov r8d, 0x14
lea rdx, [rbp + 0x630]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x630]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x5a0]
call fcn.14006fc00
mov r8d, 0xa
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x570]
call fcn.14006fc00
mov r8d, 0x32
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x630]
call fcn.14006fc00
mov r8d, 0x64
lea rdx, [rbp + 0x630]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x630]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x5a0]
call fcn.14006fc00
mov r8d, 0x32
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x5a0]
call fcn.140072c20
lea r8, [rbp + 0x570]
lea rdx, [rbp + 0x5a0]
lea rcx, [rbp + 0x570]
call fcn.14006fc00
mov r8d, 5
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x570]
call fcn.140072c20
lea r8, [rbp + 0x660]
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x630]
call fcn.14006fc00
lea r8, [rbp + 0x630]
lea rdx, [rbp + 0x600]
lea rcx, [rbp + 0x5d0]
call fcn.14006fc00
lea rdx, [rbp + 0x5d0]
mov rcx, rsi
call fcn.14006f3f0
mov rdi, qword [rbp + 0x568]
lea rax, [rbp + 0x530]
cmp rdi, rax
jne 0x14007263c
mov rcx, qword [rbp + 0x560]
cmp qword [rbp + 0x558], rcx
cmovb rcx, qword [rbp + 0x558]
xor eax, eax
rep stosb byte [rdi], al
jmp 0x14007263e
xor eax, eax
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.140076590
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rbp
ret