Function at 0x1400e4b20
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x318
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x300], xmm7
mov rbx, rdx
mov qword [rsp + 0x360], rcx
mov rsi, r8
call fcn.140104fa0
movdqu xmm7, xmmword [rbx]
test eax, eax
jne 0x1400e58c8
movzx r9d, byte [rsi + 4]
movzx eax, byte [rsi + 5]
movaps xmmword [rsp + 0xc0], xmm7
lea r13, [rsp + 0x1a0]
mov ecx, dword [rsi]
mov r8d, dword [rsi + 7]
lea r15, [rsp + 0x110]
mov qword [rsp + 0x38], 0
shl rax, 0x28
shl r9, 0x20
mov r11d, dword [rsi + 0xd]
mov edi, dword [rsi + 0x1a]
or r9, rax
movzx eax, byte [rsi + 0xb]
movdqu xmm7, xmmword [rbx + 0x10]
mov qword [rsp + 0x90], 0
or r9, rcx
movzx ecx, byte [rsi + 0xc]
mov ebx, dword [rsi + 0x14]
mov ebp, 1
shl rax, 0x20
movaps xmmword [rsp + 0xd0], xmm7
movzx r10d, byte [rsi + 6]
movzx edx, byte [rsp + 0xdf]
shl rcx, 0x28
and byte [rsp + 0xc0], 0xf8
lea r14, [rsp + 0x140]
or rax, rcx
movzx ecx, byte [rsi + 0x11]
and edx, 0x7f
shl r10, 0x30
or rax, r8
movzx r8d, byte [rsi + 0x12]
or edx, 0x40
or r9, r10
shl rcx, 0x20
shl rax, 5
mov byte [rsp + 0xdf], dl
lea r12, [rsp + 0x200]
shl r8, 0x28
or rcx, r8
movzx r8d, byte [rsi + 0x13]
or rcx, r11
movzx r11d, byte [rsi + 0x19]
shl r8, 0x30
or rcx, r8
movzx r8d, byte [rsi + 0x18]
shl r11, 0x28
shl rcx, 2
shl r8, 0x20
or r8, r11
movzx r11d, byte [rsi + 0x1f]
or r8, rbx
movzx ebx, byte [rsi + 0x1e]
movabs rsi, 0x7ffffffffffff
shl r11, 0x28
shl r8, 7
shl rbx, 0x20
or rbx, r11
movabs r11, 0x7fffffffffff0
or rbx, rdi
lea rdi, [rsp + 0x1d0]
shl rbx, 4
and rbx, r11
shr r10, 0x33
and r9, rsi
or r10, rax
shr rax, 0x33
mov qword [rsp + 0xe0], r9
or rax, rcx
and r10, rsi
mov r11, rax
mov rax, rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0xe8], r10
shr rax, 0x33
and r11, rsi
or rax, r8
shr r8, 0x33
mov qword [rsp + 0xf0], r11
and rax, rsi
or r8, rbx
xor ebx, ebx
xor esi, esi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xf8], rax
xor eax, eax
mov qword [rsp + 0x100], r8
mov qword [rsp + 0x78], 0
movdqa xmm7, xmmword [0x140394220]
mov qword [rsp + 0xb0], rcx
lea rcx, [rsp + 0xe0]
movdqa xmm6, xmmword [0x140394230]
mov qword [rsp + 0x60], r9
xor r9d, r9d
mov qword [rsp + 0xa8], r15
mov r15, rdi
xor edi, edi
mov qword [rsp + 0xb8], r13
xor r13d, r13d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 1
mov dword [rsp + 0x20], 0xfe
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x68], rbx
jmp 0x1400e4e8a
mov rdi, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x188]
sar ebx, 3
movsxd rax, ebx
mov rbx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x110]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x140]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0x50], rdi
mov rdi, qword [rsp + 0x170]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x60], rdi
mov rdi, qword [rsp + 0x1a8]
mov qword [rsp + 0x68], rbx
mov rbx, qword [rsp + 0x120]
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0x1b0]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0x98], rdi
movzx edx, byte [rsp + rax + 0xc0]
mov qword [rsp + 0x70], rbx
mov r13, qword [rsp + 0x148]
mov qword [rsp + 0x38], rcx
mov r10, qword [rsp + 0x178]
mov r9, qword [rsp + 0x150]
mov r11, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x158]
mov r8, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x130]
mov eax, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x20]
movzx edx, dl
and ecx, 7
sar edx, cl
mov rcx, qword [rsp + 0x60]
and edx, 1
xor eax, edx
mov dword [rsp + 0x8c], edx
mov rdx, rcx
neg rax
xor rdx, rbp
and rdx, rax
xor rbp, rdx
mov qword [rsp + 0x60], rbp
mov rbp, rcx
mov rcx, qword [rsp + 0x68]
xor rbp, rdx
mov rdx, rcx
mov qword [rsp + 0x170], rbp
xor rdx, r10
and rdx, rax
xor rcx, rdx
xor r10, rdx
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x178], r10
mov rdx, rcx
xor rdx, r11
and rdx, rax
xor rcx, rdx
xor r11, rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x180], r11
xor rdx, rcx
and rdx, rax
xor rcx, rdx
xor rdx, qword [rsp + 0x40]
mov qword [rsp + 0x78], rcx
mov rcx, r8
xor rcx, rsi
mov qword [rsp + 0x188], rdx
and rcx, rax
xor rsi, rcx
xor rcx, r8
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x80], rsi
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x190], rcx
xor r8, rsi
and r8, rax
xor rsi, r8
xor r8, qword [rsp + 0x48]
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x1a0], r8
mov r8, rsi
xor r8, r13
and r8, rax
xor r13, r8
mov qword [rsp + 0x50], r13
mov r13, r8
xor r13, rsi
mov rsi, qword [rsp + 0x98]
mov qword [rsp + 0x58], r13
mov r8, rsi
mov qword [rsp + 0x1a8], r13
xor r8, r9
and r8, rax
xor rsi, r8
xor r9, r8
mov r8, rdi
xor r8, rbx
mov r13, rsi
mov qword [rsp + 0x1b0], rsi
mov rsi, qword [rsp + 0x90]
and r8, rax
xor rdi, r8
xor rbx, r8
mov qword [rsp + 0x1b8], rdi
mov r8, qword [rsp + 0x38]
xor r8, rsi
and r8, rax
mov rax, qword [rsp + 0x38]
xor rax, r8
xor r8, rsi
movabs rsi, 0xfffffffffffda
add rsi, rbp
sub rsi, qword [rsp + 0x48]
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x1d0], rsi
movabs rsi, 0xffffffffffffe
add rsi, r10
sub rsi, qword [rsp + 0x58]
mov qword [rsp + 0x1d8], rsi
movabs rsi, 0xffffffffffffe
add rsi, r11
sub rsi, r13
mov qword [rsp + 0x1e0], rsi
movabs rsi, 0xffffffffffffe
add rsi, rdx
sub rsi, rdi
mov qword [rsp + 0x1e8], rsi
movabs rsi, 0xffffffffffffe
add rsi, rcx
sub rsi, r8
mov qword [rsp + 0x1f0], rsi
movabs rsi, 0xfffffffffffda
add rsi, qword [rsp + 0x60]
sub rsi, qword [rsp + 0x40]
mov qword [rsp + 0x200], rsi
movabs rsi, 0xffffffffffffe
add rsi, qword [rsp + 0x68]
sub rsi, qword [rsp + 0x50]
mov qword [rsp + 0x208], rsi
movabs rsi, 0xffffffffffffe
add rsi, qword [rsp + 0x70]
sub rsi, r9
mov qword [rsp + 0x210], rsi
movabs rsi, 0xffffffffffffe
add rsi, qword [rsp + 0x78]
sub rsi, rbx
mov qword [rsp + 0x218], rsi
movabs rsi, 0xffffffffffffe
add rsi, qword [rsp + 0x80]
sub rsi, rax
add r9, qword [rsp + 0x70]
add rbx, qword [rsp + 0x78]
add rdi, rdx
mov qword [rsp + 0x220], rsi
mov rsi, qword [rsp + 0x40]
add r8, rcx
mov rdx, r15
add rsi, qword [rsp + 0x60]
mov qword [rsp + 0x120], r9
mov qword [rsp + 0x110], rsi
mov rsi, qword [rsp + 0x50]
add rsi, qword [rsp + 0x68]
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x118], rsi
add rax, qword [rsp + 0x80]
movabs rsi, 0xffffffffffffe
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x158], rdi
mov rdi, qword [rsp + 0xb8]
lea rax, [r9 + rbp]
mov r9, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
mov qword [rsp + 0x160], r8
mov qword [rsp + 0x140], rax
mov rcx, rdi
lea rax, [r9 + r10]
mov r8, rbp
mov qword [rsp + 0x148], rax
lea rax, [r13 + r11]
mov qword [rsp + 0x150], rax
call fcn.140104b60
mov r8, r12
mov rdx, r14
mov rcx, r14
call fcn.140104b60
mov rdx, r12
mov rcx, r15
call fcn.140104d20
mov rdx, rbp
mov rcx, r12
call fcn.140104d20
mov r8, r15
mov rdx, r12
mov rcx, rbp
mov rax, qword [rsp + 0x1c0]
mov r11, qword [rsp + 0x160]
movdqa xmm0, xmmword [rsp + 0x140]
paddq xmm0, xmmword [rsp + 0x1a0]
add r11, rax
add rax, rsi
sub rax, qword [rsp + 0x160]
movaps xmmword [rsp + 0x170], xmm0
movdqa xmm0, xmmword [rsp + 0x1b0]
paddq xmm0, xmmword [rsp + 0x150]
mov qword [rsp + 0x190], r11
movaps xmmword [rsp + 0x180], xmm0
movdqa xmm0, xmmword [rsp + 0x1a0]
mov qword [rsp + 0x160], rax
paddq xmm0, xmm7
psubq xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x140], xmm0
movdqa xmm0, xmmword [rsp + 0x1b0]
paddq xmm0, xmm6
psubq xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x150], xmm0
call fcn.140104b60
mov rax, qword [rsp + 0x220]
mov rdx, r14
mov rcx, r14
movdqa xmm0, xmmword [rsp + 0x210]
movdqa xmm1, xmmword [rsp + 0x200]
add rax, rsi
sub rax, qword [rsp + 0x1f0]
paddq xmm0, xmm6
paddq xmm1, xmm7
mov qword [rsp + 0x220], rax
psubq xmm0, xmmword [rsp + 0x1e0]
psubq xmm1, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x200], xmm1
call fcn.140104d20
mov rdx, r12
mov rcx, rdi
call fcn.140104f20
mov rcx, qword [rsp + 0xb0]
mov rdx, rcx
call fcn.140104d20
mov rdx, qword [rsp + 0xa0]
mov r8, r14
movdqa xmm0, xmmword [rsp + 0x1e0]
movdqa xmm1, xmmword [rsp + 0x1d0]
mov rcx, rdi
paddq xmm0, xmmword [rsp + 0x1b0]
paddq xmm1, xmmword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1c0]
movaps xmmword [rsp + 0x1e0], xmm0
add qword [rsp + 0x1f0], rax
movaps xmmword [rsp + 0x1d0], xmm1
call fcn.140104b60
mov r8, r15
mov rdx, r12
mov rcx, r14
call fcn.140104b60
sub dword [rsp + 0x20], 1
mov ebx, dword [rsp + 0x20]
cmp ebx, 0xffffffff
jne 0x1400e4d98
lea rbx, [rsp + 0x230]
mov rdx, r14
lea rdi, [rsp + 0x260]
mov r15, qword [rsp + 0xa8]
mov rcx, rbx
lea r12, [rsp + 0x290]
mov esi, 4
call fcn.140104d20
mov rdx, rbx
mov rcx, rdi
call fcn.140104d20
mov rdx, rdi
mov rcx, rdi
call fcn.140104d20
mov r8, rdi
mov rdx, r14
mov rcx, rdi
call fcn.140104b60
mov r8, rdi
mov rdx, rbx
mov rcx, rbx
call fcn.140104b60
mov rdx, rbx
mov rcx, r12
call fcn.140104d20
mov r8, r12
mov rdx, rdi
mov rcx, rdi
call fcn.140104b60
mov rdx, rdi
mov rcx, r12
call fcn.140104d20
mov rdx, r12
mov rcx, r12
call fcn.140104d20
sub esi, 1
jne 0x1400e540b
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 9
call fcn.140104b60
mov rdx, rdi
mov rcx, r12
call fcn.140104d20
nop dword [rax]
mov rdx, r12
mov rcx, r12
call fcn.140104d20
sub esi, 1
jne 0x1400e5440
mov r8, rdi
mov rdx, r12
mov rcx, r12
mov esi, 0x13
call fcn.140104b60
lea r13, [rsp + 0x2c0]
mov rdx, r12
mov rcx, r13
call fcn.140104d20
nop word cs:[rax + rax]
mov rdx, r13
mov rcx, r13
call fcn.140104d20
sub esi, 1
jne 0x1400e5480
mov r8, r12
mov rdx, r13
mov rcx, r12
mov esi, 0xa
call fcn.140104b60
nop dword [rax + rax]
mov rdx, r12
mov rcx, r12
call fcn.140104d20
sub esi, 1
jne 0x1400e54a8
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 0x31
call fcn.140104b60
mov rdx, rdi
mov rcx, r12
call fcn.140104d20
nop word cs:[rax + rax]
mov rdx, r12
mov rcx, r12
call fcn.140104d20
sub esi, 1
jne 0x1400e54e0
mov r8, rdi
mov rdx, r12
mov rcx, r12
mov esi, 0x63
call fcn.140104b60
mov rdx, r12
mov rcx, r13
call fcn.140104d20
nop
mov rdx, r13
mov rcx, r13
call fcn.140104d20
sub esi, 1
jne 0x1400e5510
mov r8, r12
mov rdx, r13
mov rcx, r12
mov esi, 0x32
call fcn.140104b60
nop dword [rax + rax]
mov rdx, r12
mov rcx, r12
call fcn.140104d20
sub esi, 1
jne 0x1400e5538
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 5
call fcn.140104b60
mov rdx, rdi
mov rcx, rdi
call fcn.140104d20
sub esi, 1
jne 0x1400e555b
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.140104b60
mov r8, r14
mov rdx, r15
mov rcx, r15
call fcn.140104b60
mov rdx, qword [rsp + 0x110]
movabs r9, 0x7ffffffffffff
lea rax, [rdx + 0x13]
shr rax, 0x33
add rax, qword [rsp + 0x118]
shr rax, 0x33
add rax, qword [rsp + 0x120]
shr rax, 0x33
add rax, qword [rsp + 0x128]
shr rax, 0x33
add rax, qword [rsp + 0x130]
shr rax, 0x33
lea rcx, [rax + rax*8]
lea rbx, [rax + rcx*2]
add rbx, rdx
mov rdx, rbx
and rbx, r9
shr rdx, 0x33
mov rbp, rbx
mov r12, rbx
mov r13, rbx
add rdx, qword [rsp + 0x118]
mov r14, rbx
shr rbp, 0x10
shr r12, 0x18
mov r8, rdx
and rdx, r9
shr r13, 0x20
shr r8, 0x33
mov rdi, rdx
mov rsi, rdx
shr r14, 0x28
shr rdi, 0xd
mov r15, rdx
mov r11, rdx
movzx r14d, r14b
add r8, qword [rsp + 0x120]
movzx r13d, r13b
movzx r12d, r12b
movzx ebp, bpl
mov rax, r8
and r8, r9
lea r10d, [rdx*8]
mov qword [rsp + 0x20], rdi
shr rax, 0x33
add rax, qword [rsp + 0x128]
mov rdi, r8
mov rcx, rax
and rax, r9
shr rcx, 0x33
add rcx, qword [rsp + 0x130]
and rcx, r9
mov r9, rbx
shr r9, 0x30
or r10d, r9d
shr rsi, 0x15
mov r9d, r8d
mov qword [rsp + 0x38], rsi
mov rsi, rdx
shl rdx, 3
movzx r10d, r10b
shr rdi, 0xa
and edx, 0xff00
shr rsi, 0x2d
shl r9d, 6
or rdx, r10
mov r10, rdi
movzx edi, dil
or r9d, esi
shl rdx, 8
mov rsi, r8
and r10d, 0xff00
or rdx, r14
or r10, rdi
shr rsi, 2
movzx r9d, r9b
shl rdx, 8
movzx esi, sil
shl r10, 8
mov r14, rax
shr r11, 0x25
or rdx, r13
or r10, rsi
shr r15, 0x1d
shl rdx, 8
shl r10, 8
movzx r11d, r11b
movzx r15d, r15b
or rdx, r12
or r10, r9
movzx r9d, byte [rsp + 0x38]
mov r12, rax
shl rdx, 8
shl r10, 8
mov r13, rax
mov rsi, rcx
or rdx, rbp
or r10, r11
movzx ebp, bh
movzx ebx, bl
shl rdx, 8
shl r10, 8
mov rdi, qword [rsp + 0x360]
mov r11, rcx
or rdx, rbp
or r10, r15
mov rbp, r8
shl rdx, 8
shl r10, 8
shr r14, 0x17
or r10, r9
movzx r9d, byte [rsp + 0x20]
or rdx, rbx
shl r10, 8
mov qword [rsp + 0x20], rdx
lea edx, [rax + rax]
mov rbx, rax
shr r13, 0xf
or r10, r9
mov r9, r8
shr r12, 7
shr rbp, 0x2a
movzx r13d, r13b
movzx r12d, r12b
shr rbx, 0x27
mov qword [rsp + 0x28], r10
mov r10d, ecx
movzx ebp, bpl
shr r9, 0x1a
movdqa xmm7, xmmword [rsp + 0x20]
shl r10d, 4
shr r11, 0x14
movzx r9d, r9b
mov r15d, r10d
mov qword [rsp + 0x20], rbx
mov r10, rcx
mov rbx, rcx
movups xmmword [rdi], xmm7
mov rdi, r8
shr r8, 0x32
movzx r11d, r11b
shr rdi, 0x22
or edx, r8d
mov r8, rax
mov rax, r14
and eax, 0xff00
movzx r14d, r14b
movzx edx, dl
shr r8, 0x2f
or rax, r14
or r15d, r8d
mov r8, rcx
shr r10, 0xc
shl rax, 8
shr r8, 4
movzx r10d, r10b
movzx edi, dil
or rax, r13
shr rbx, 0x1c
movzx r8d, r8b
movzx r15d, r15b
shl rax, 8
shr rsi, 0x24
movzx ebx, bl
or rax, r12
movzx esi, sil
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x20]
shl rax, 8
or rax, rbp
shl rax, 8
shr rcx, 0x2c
shl rcx, 8
or rax, rdi
or rcx, rsi
shl rax, 8
shl rcx, 8
or rax, r9
or rcx, rbx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x360]
shl rcx, 8
or rcx, r11
shl rcx, 8
or rcx, r10
shl rcx, 8
or rcx, r8
shl rcx, 8
or rcx, r15
shl rcx, 8
or rcx, rdx
mov edx, 0x20
mov qword [rsp + 0x28], rcx
movdqa xmm7, xmmword [rsp + 0x20]
lea rcx, [rsp + 0xc0]
movups xmmword [rax + 0x10], xmm7
call fcn.1400186f0
nop
movaps xmm6, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
add rsp, 0x318
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rsi + 0x10]
pxor xmm2, xmm2
xor r12d, r12d
mov r9, qword [rsi + 8]
movaps xmmword [rsp + 0x200], xmm7
mov rdx, qword [rsi]
movdqu xmm7, xmmword [rbx + 0x10]
lea rdi, [rsp + 0xe0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x40], rbp
movabs r11, 0x7fffffffffffffff
and r11, qword [rsi + 0x18]
mov qword [rsp + 0x48], rax
movdqa xmm5, xmm2
movdqa xmm4, xmm2
xor r10d, r10d
movaps xmmword [rsp + 0x210], xmm7
movdqu xmm7, xmmword [rsi]
xor eax, eax
movzx ecx, byte [rsp + 0x21f]
mov qword [rsp + 0xa0], rdi
movdqa xmm0, xmmword [0x140394210]
mov r8d, 1
mov esi, 0xfe
and ecx, 0x7f
mov qword [rsp + 0xd0], rbp
lea rbx, [rsp + 0x170]
mov rbp, qword [rsp + 0xa0]
or ecx, 0x40
mov qword [rsp + 0x38], r12
lea r14, [rsp + 0x140]
lea r13, [rsp + 0x1a0]
and byte [rsp + 0x200], 0xf8
lea r15, [rsp + 0x110]
lea rdi, [rsp + 0x1d0]
mov byte [rsp + 0x21f], cl
mov qword [rsp + 0xd8], r11
mov qword [rsp + 0x20], 0
movaps xmmword [rsp + 0xc0], xmm7
jmp 0x1400e5a45
mov eax, esi
movdqa xmm4, xmmword [rsp + 0x110]
movdqa xmm5, xmmword [rsp + 0x120]
sar eax, 3
mov r8, qword [rsp + 0xe0]
movdqa xmm0, xmmword [rsp + 0x170]
cdqe
mov rdx, qword [rsp + 0x140]
movdqa xmm2, xmmword [rsp + 0x180]
movzx ecx, byte [rsp + rax + 0x200]
mov rax, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x148]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x150]
mov r11, qword [rsp + 0x158]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
mov eax, r12d
movzx r12d, cl
movdqa xmm1, xmm4
movdqa xmm3, xmm5
mov ecx, esi
and ecx, 7
pxor xmm1, xmm0
pxor xmm3, xmm2
sar r12d, cl
mov rcx, r8
and r12d, 1
xor rcx, rdx
xor eax, r12d
neg rax
and rcx, rax
movq xmm6, rax
xor r8, rcx
xor rcx, rdx
punpcklqdq xmm6, xmm6
mov rdx, r10
xor rdx, r9
mov qword [rsp + 0x140], rcx
pand xmm1, xmm6
mov rcx, qword [rsp + 0x38]
pand xmm3, xmm6
pxor xmm4, xmm1
pxor xmm0, xmm1
and rdx, rax
xor r10, rdx
xor rdx, r9
pxor xmm5, xmm3
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], r10
mov r10, qword [rsp + 0x40]
pxor xmm2, xmm3
mov r8, rbx
mov qword [rsp + 0x148], rdx
mov rdx, rcx
xor rdx, r10
movaps xmmword [rsp + 0x110], xmm4
and rdx, rax
movaps xmmword [rsp + 0x120], xmm5
xor rcx, rdx
xor rdx, r10
movaps xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x150], rdx
mov rdx, rcx
movaps xmmword [rsp + 0x180], xmm2
xor rdx, r11
and rax, rdx
mov rdx, r14
xor rcx, rax
xor rax, r11
mov qword [rsp + 0xf8], rcx
mov rcx, r13
mov qword [rsp + 0x158], rax
call fcn.140105420
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.140105420
mov r8, r15
mov rdx, rbp
mov rcx, rbp
call fcn.1401053a0
mov r8, rbx
mov rdx, r14
mov rcx, r15
call fcn.1401053a0
mov r8, r13
mov rdx, rbp
mov rcx, rbx
call fcn.140104fc0
mov r8, rdi
mov rdx, r15
mov rcx, r15
call fcn.140104fc0
mov rdx, rdi
mov rcx, r13
call fcn.140105140
mov rdx, rbp
mov rcx, rdi
call fcn.140105140
mov r8, r15
mov rdx, rbx
mov rcx, r14
call fcn.1401053a0
mov r8, r15
mov rdx, rbx
mov rcx, r15
call fcn.140105420
mov r8, r13
mov rdx, rdi
mov rcx, rbp
call fcn.140104fc0
mov r8, r13
mov rdx, rdi
mov rcx, rdi
call fcn.140105420
mov rdx, r15
mov rcx, r15
call fcn.140105140
mov rdx, rdi
mov rcx, rbx
call fcn.140105320
mov rdx, r14
mov rcx, r14
call fcn.140105140
mov r8, rbx
mov rdx, r13
mov rcx, r13
call fcn.1401053a0
mov rdx, qword [rsp + 0x48]
mov r8, r15
mov rcx, rbx
call fcn.140104fc0
mov r8, r13
mov rdx, rdi
mov rcx, r15
call fcn.140104fc0
sub esi, 1
jae 0x1400e59c0
lea rbx, [rsp + 0x230]
mov rdx, r15
lea rdi, [rsp + 0x260]
mov esi, 4
mov rcx, rbx
lea r12, [rsp + 0x290]
call fcn.140105140
mov rdx, rbx
mov rcx, rdi
call fcn.140105140
mov rdx, rdi
mov rcx, rdi
call fcn.140105140
mov r8, rdi
mov rdx, r15
mov rcx, rdi
call fcn.140104fc0
mov r8, rdi
mov rdx, rbx
mov rcx, rbx
call fcn.140104fc0
mov rdx, rbx
mov rcx, r12
call fcn.140105140
mov r8, r12
mov rdx, rdi
mov rcx, rdi
call fcn.140104fc0
mov rdx, rdi
mov rcx, r12
call fcn.140105140
mov rdx, r12
mov rcx, r12
call fcn.140105140
sub esi, 1
jne 0x1400e5cad
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 9
call fcn.140104fc0
mov rdx, rdi
mov rcx, r12
call fcn.140105140
mov rdx, r12
mov rcx, r12
call fcn.140105140
sub esi, 1
jne 0x1400e5cdb
mov r8, rdi
mov rdx, r12
mov rcx, r12
mov esi, 0x13
call fcn.140104fc0
lea r13, [rsp + 0x2c0]
mov rdx, r12
mov rcx, r13
call fcn.140105140
nop dword [rax]
mov rdx, r13
mov rcx, r13
call fcn.140105140
sub esi, 1
jne 0x1400e5d18
mov r8, r12
mov rdx, r13
mov rcx, r12
mov esi, 0xa
call fcn.140104fc0
mov rdx, r12
mov rcx, r12
call fcn.140105140
sub esi, 1
jne 0x1400e5d3b
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 0x31
call fcn.140104fc0
mov rdx, rdi
mov rcx, r12
call fcn.140105140
nop dword [rax]
mov rdx, r12
mov rcx, r12
call fcn.140105140
sub esi, 1
jne 0x1400e5d70
mov r8, rdi
mov rdx, r12
mov rcx, r12
mov esi, 0x63
call fcn.140104fc0
mov rdx, r12
mov rcx, r13
call fcn.140105140
nop
mov rdx, r13
mov rcx, r13
call fcn.140105140
sub esi, 1
jne 0x1400e5da0
mov r8, r12
mov rdx, r13
mov rcx, r12
mov esi, 0x32
call fcn.140104fc0
nop dword [rax + rax]
mov rdx, r12
mov rcx, r12
call fcn.140105140
sub esi, 1
jne 0x1400e5dc8
mov r8, rdi
mov rdx, r12
mov rcx, rdi
mov esi, 5
call fcn.140104fc0
mov rdx, rdi
mov rcx, rdi
call fcn.140105140
sub esi, 1
jne 0x1400e5deb
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.140104fc0
mov rdi, qword [rsp + 0xa0]
mov r8, r15
mov rdx, rdi
mov rcx, rdi
call fcn.140104fc0
mov rcx, qword [rsp + 0x360]
mov rdx, rdi
call fcn.1401054a0
lea rcx, [rsp + 0x200]
mov edx, 0x20
call fcn.1400186f0
jmp 0x1400e58a4