Function at 0x140011f40
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x718]
sub rsp, 0x7e0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rbp + 0x630], rax
mov r15, qword [rbp + 0x740]
mov ebx, r8d
mov rdi, rdx
add dword [rdx + 0x27], ebx
lea r14, [r15 + 0x200000]
mov qword [rbp - 0x20], rcx
lea rsi, [r14 + 0x200000]
lea r8, [rbp + 0xc0]
mov edx, 0x4c
mov rcx, rdi
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x10], rsi
call fcn.1400091b0
add dword [rdi + 0x27], ebx
lea r8, [rbp + 0x190]
mov edx, 0x4c
mov rcx, rdi
call fcn.1400091b0
add dword [rdi + 0x27], ebx
lea r8, [rbp + 0x260]
mov edx, 0x4c
mov rcx, rdi
call fcn.1400091b0
lea rcx, [rbp + 0x330]
movaps xmm0, xmmword [rbp + 0xc0]
movaps xmm1, xmmword [rbp + 0xd0]
movaps xmmword [rbp + 0x330], xmm0
movaps xmmword [rbp + 0x340], xmm1
call fcn.140010370
lea rcx, [rbp + 0x430]
movaps xmm0, xmmword [rbp + 0x190]
movaps xmm1, xmmword [rbp + 0x1a0]
movaps xmm14, xmmword [rbp + 0x1d0]
movaps xmm15, xmmword [rbp + 0x1e0]
movaps xmmword [rbp + 0x430], xmm0
movaps xmmword [rbp + 0x440], xmm1
call fcn.140010370
lea rcx, [rbp + 0x530]
movaps xmm0, xmmword [rbp + 0x260]
movaps xmm1, xmmword [rbp + 0x270]
movaps xmm6, xmmword [rbp + 0x2a0]
movaps xmm7, xmmword [rbp + 0x2b0]
movaps xmm8, xmmword [rbp + 0x2c0]
movaps xmm9, xmmword [rbp + 0x2d0]
movaps xmm10, xmmword [rbp + 0x2e0]
movaps xmm11, xmmword [rbp + 0x2f0]
movaps xmmword [rbp + 0x530], xmm0
movaps xmmword [rbp + 0x540], xmm1
call fcn.140010370
movaps xmm0, xmmword [rbp + 0x100]
movaps xmm1, xmmword [rbp + 0x110]
xor r8d, r8d
mov edx, r8d
movaps xmm2, xmmword [rbp + 0x120]
movaps xmm3, xmmword [rbp + 0x130]
movaps xmm4, xmmword [rbp + 0x140]
movaps xmm5, xmmword [rbp + 0x150]
movaps xmm13, xmmword [rbp + 0x160]
movaps xmm12, xmmword [rbp + 0x170]
nop dword [rax]
aesenc xmm0, xmmword [rbp + 0x330]
aesenc xmm1, xmmword [rbp + 0x330]
aesenc xmm2, xmmword [rbp + 0x330]
mov rcx, rdx
aesenc xmm3, xmmword [rbp + 0x330]
aesenc xmm4, xmmword [rbp + 0x330]
aesenc xmm5, xmmword [rbp + 0x330]
aesenc xmm13, xmmword [rbp + 0x330]
aesenc xmm12, xmmword [rbp + 0x330]
aesenc xmm0, xmmword [rbp + 0x340]
aesenc xmm1, xmmword [rbp + 0x340]
aesenc xmm2, xmmword [rbp + 0x340]
aesenc xmm3, xmmword [rbp + 0x340]
aesenc xmm4, xmmword [rbp + 0x340]
aesenc xmm5, xmmword [rbp + 0x340]
aesenc xmm13, xmmword [rbp + 0x340]
aesenc xmm12, xmmword [rbp + 0x340]
aesenc xmm0, xmmword [rbp + 0x350]
aesenc xmm1, xmmword [rbp + 0x350]
aesenc xmm2, xmmword [rbp + 0x350]
aesenc xmm3, xmmword [rbp + 0x350]
aesenc xmm4, xmmword [rbp + 0x350]
aesenc xmm5, xmmword [rbp + 0x350]
aesenc xmm13, xmmword [rbp + 0x350]
aesenc xmm12, xmmword [rbp + 0x350]
aesenc xmm0, xmmword [rbp + 0x360]
aesenc xmm1, xmmword [rbp + 0x360]
aesenc xmm2, xmmword [rbp + 0x360]
aesenc xmm3, xmmword [rbp + 0x360]
aesenc xmm4, xmmword [rbp + 0x360]
aesenc xmm5, xmmword [rbp + 0x360]
aesenc xmm13, xmmword [rbp + 0x360]
aesenc xmm12, xmmword [rbp + 0x360]
aesenc xmm0, xmmword [rbp + 0x370]
aesenc xmm1, xmmword [rbp + 0x370]
aesenc xmm2, xmmword [rbp + 0x370]
aesenc xmm3, xmmword [rbp + 0x370]
aesenc xmm4, xmmword [rbp + 0x370]
aesenc xmm5, xmmword [rbp + 0x370]
aesenc xmm13, xmmword [rbp + 0x370]
aesenc xmm12, xmmword [rbp + 0x370]
aesenc xmm0, xmmword [rbp + 0x380]
aesenc xmm1, xmmword [rbp + 0x380]
aesenc xmm2, xmmword [rbp + 0x380]
aesenc xmm3, xmmword [rbp + 0x380]
aesenc xmm4, xmmword [rbp + 0x380]
aesenc xmm5, xmmword [rbp + 0x380]
aesenc xmm13, xmmword [rbp + 0x380]
aesenc xmm12, xmmword [rbp + 0x380]
aesenc xmm0, xmmword [rbp + 0x390]
aesenc xmm1, xmmword [rbp + 0x390]
aesenc xmm2, xmmword [rbp + 0x390]
aesenc xmm3, xmmword [rbp + 0x390]
aesenc xmm4, xmmword [rbp + 0x390]
aesenc xmm5, xmmword [rbp + 0x390]
aesenc xmm13, xmmword [rbp + 0x390]
aesenc xmm12, xmmword [rbp + 0x390]
aesenc xmm0, xmmword [rbp + 0x3a0]
aesenc xmm1, xmmword [rbp + 0x3a0]
aesenc xmm2, xmmword [rbp + 0x3a0]
aesenc xmm3, xmmword [rbp + 0x3a0]
aesenc xmm4, xmmword [rbp + 0x3a0]
aesenc xmm5, xmmword [rbp + 0x3a0]
aesenc xmm13, xmmword [rbp + 0x3a0]
aesenc xmm12, xmmword [rbp + 0x3a0]
aesenc xmm0, xmmword [rbp + 0x3b0]
aesenc xmm1, xmmword [rbp + 0x3b0]
aesenc xmm2, xmmword [rbp + 0x3b0]
aesenc xmm3, xmmword [rbp + 0x3b0]
aesenc xmm4, xmmword [rbp + 0x3b0]
aesenc xmm5, xmmword [rbp + 0x3b0]
aesenc xmm13, xmmword [rbp + 0x3b0]
aesenc xmm12, xmmword [rbp + 0x3b0]
aesenc xmm0, xmmword [rbp + 0x3c0]
aesenc xmm1, xmmword [rbp + 0x3c0]
aesenc xmm2, xmmword [rbp + 0x3c0]
aesenc xmm3, xmmword [rbp + 0x3c0]
aesenc xmm4, xmmword [rbp + 0x3c0]
aesenc xmm5, xmmword [rbp + 0x3c0]
aesenc xmm13, xmmword [rbp + 0x3c0]
aesenc xmm12, xmmword [rbp + 0x3c0]
shr rcx, 4
sub rdx, 0xffffffffffffff80
mov rax, rcx
add rax, rax
movdqa xmmword [r15 + rax*8], xmm0
movdqa xmmword [r15 + rax*8 + 0x10], xmm1
lea rax, [rcx + 2]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm2
lea rax, [rcx + 3]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm3
lea rax, [rcx + 4]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm4
lea rax, [rcx + 5]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm5
lea rax, [rcx + 6]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm13
lea rax, [rcx + 7]
add rax, rax
movdqa xmmword [r15 + rax*8], xmm12
cmp rdx, 0x200000
jb 0x140012120
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xc0]
mov r11, qword [rbp + 0xe8]
movaps xmm12, xmmword [rbp + 0x300]
movaps xmm13, xmmword [rbp + 0x310]
movaps xmm0, xmmword [rbp + 0x1f0]
xor rax, qword [rbp + 0xf0]
xor rdx, qword [rbp + 0xe0]
xor r11, qword [rbp + 0xc8]
movaps xmm1, xmmword [rbp + 0x200]
movaps xmm2, xmmword [rbp + 0x210]
movaps xmm3, xmmword [rbp + 0x220]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x80], rdx
movaps xmm4, xmmword [rbp + 0x230]
movaps xmm5, xmmword [rbp + 0x240]
xor rax, qword [rbp + 0xd8]
mov qword [rsp + 0x50], r11
mov r9, r8
mov qword [rsp + 0x28], rax
aesenc xmm14, xmmword [rbp + 0x430]
aesenc xmm15, xmmword [rbp + 0x430]
aesenc xmm0, xmmword [rbp + 0x430]
mov rcx, r9
aesenc xmm1, xmmword [rbp + 0x430]
aesenc xmm2, xmmword [rbp + 0x430]
aesenc xmm3, xmmword [rbp + 0x430]
aesenc xmm4, xmmword [rbp + 0x430]
aesenc xmm5, xmmword [rbp + 0x430]
aesenc xmm14, xmmword [rbp + 0x440]
aesenc xmm15, xmmword [rbp + 0x440]
aesenc xmm0, xmmword [rbp + 0x440]
aesenc xmm1, xmmword [rbp + 0x440]
aesenc xmm2, xmmword [rbp + 0x440]
aesenc xmm3, xmmword [rbp + 0x440]
aesenc xmm4, xmmword [rbp + 0x440]
aesenc xmm5, xmmword [rbp + 0x440]
aesenc xmm14, xmmword [rbp + 0x450]
aesenc xmm15, xmmword [rbp + 0x450]
aesenc xmm0, xmmword [rbp + 0x450]
aesenc xmm1, xmmword [rbp + 0x450]
aesenc xmm2, xmmword [rbp + 0x450]
aesenc xmm3, xmmword [rbp + 0x450]
aesenc xmm4, xmmword [rbp + 0x450]
aesenc xmm5, xmmword [rbp + 0x450]
aesenc xmm14, xmmword [rbp + 0x460]
aesenc xmm15, xmmword [rbp + 0x460]
aesenc xmm0, xmmword [rbp + 0x460]
aesenc xmm1, xmmword [rbp + 0x460]
aesenc xmm2, xmmword [rbp + 0x460]
aesenc xmm3, xmmword [rbp + 0x460]
aesenc xmm4, xmmword [rbp + 0x460]
aesenc xmm5, xmmword [rbp + 0x460]
aesenc xmm14, xmmword [rbp + 0x470]
aesenc xmm15, xmmword [rbp + 0x470]
aesenc xmm0, xmmword [rbp + 0x470]
aesenc xmm1, xmmword [rbp + 0x470]
aesenc xmm2, xmmword [rbp + 0x470]
aesenc xmm3, xmmword [rbp + 0x470]
aesenc xmm4, xmmword [rbp + 0x470]
aesenc xmm5, xmmword [rbp + 0x470]
aesenc xmm14, xmmword [rbp + 0x480]
aesenc xmm15, xmmword [rbp + 0x480]
aesenc xmm0, xmmword [rbp + 0x480]
aesenc xmm1, xmmword [rbp + 0x480]
aesenc xmm2, xmmword [rbp + 0x480]
aesenc xmm3, xmmword [rbp + 0x480]
aesenc xmm4, xmmword [rbp + 0x480]
aesenc xmm5, xmmword [rbp + 0x480]
aesenc xmm14, xmmword [rbp + 0x490]
aesenc xmm15, xmmword [rbp + 0x490]
aesenc xmm0, xmmword [rbp + 0x490]
aesenc xmm1, xmmword [rbp + 0x490]
aesenc xmm2, xmmword [rbp + 0x490]
aesenc xmm3, xmmword [rbp + 0x490]
aesenc xmm4, xmmword [rbp + 0x490]
aesenc xmm5, xmmword [rbp + 0x490]
aesenc xmm14, xmmword [rbp + 0x4a0]
aesenc xmm15, xmmword [rbp + 0x4a0]
aesenc xmm0, xmmword [rbp + 0x4a0]
aesenc xmm1, xmmword [rbp + 0x4a0]
aesenc xmm2, xmmword [rbp + 0x4a0]
aesenc xmm3, xmmword [rbp + 0x4a0]
aesenc xmm4, xmmword [rbp + 0x4a0]
aesenc xmm5, xmmword [rbp + 0x4a0]
aesenc xmm14, xmmword [rbp + 0x4b0]
aesenc xmm15, xmmword [rbp + 0x4b0]
aesenc xmm0, xmmword [rbp + 0x4b0]
aesenc xmm1, xmmword [rbp + 0x4b0]
aesenc xmm2, xmmword [rbp + 0x4b0]
aesenc xmm3, xmmword [rbp + 0x4b0]
aesenc xmm4, xmmword [rbp + 0x4b0]
aesenc xmm5, xmmword [rbp + 0x4b0]
aesenc xmm14, xmmword [rbp + 0x4c0]
aesenc xmm15, xmmword [rbp + 0x4c0]
aesenc xmm0, xmmword [rbp + 0x4c0]
aesenc xmm1, xmmword [rbp + 0x4c0]
aesenc xmm2, xmmword [rbp + 0x4c0]
aesenc xmm3, xmmword [rbp + 0x4c0]
aesenc xmm4, xmmword [rbp + 0x4c0]
aesenc xmm5, xmmword [rbp + 0x4c0]
shr rcx, 4
sub r9, 0xffffffffffffff80
mov rax, rcx
add rax, rax
movdqa xmmword [r14 + rax*8], xmm14
movdqa xmmword [r14 + rax*8 + 0x10], xmm15
lea rax, [rcx + 2]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm0
lea rax, [rcx + 3]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm1
lea rax, [rcx + 4]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm2
lea rax, [rcx + 5]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm3
lea rax, [rcx + 6]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm4
lea rax, [rcx + 7]
add rax, rax
movdqa xmmword [r14 + rax*8], xmm5
cmp r9, 0x200000
jb 0x140012505
mov rax, qword [rbp + 0x190]
mov r10, qword [rbp + 0x1b8]
movdqa xmm0, xmmword [rbp + 0x5c0]
xor rax, qword [rbp + 0x1b0]
xor r10, qword [rbp + 0x198]
movdqa xmm1, xmmword [rbp + 0x5b0]
movdqa xmm2, xmmword [rbp + 0x5a0]
movdqa xmm3, xmmword [rbp + 0x590]
movdqa xmm4, xmmword [rbp + 0x580]
movdqa xmm5, xmmword [rbp + 0x570]
movdqa xmm14, xmmword [rbp + 0x560]
movdqa xmm15, xmmword [rbp + 0x550]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x70], r10
xor rax, qword [rbp + 0x1c0]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x1c8]
xor rax, qword [rbp + 0x1a8]
mov qword [rsp + 0x38], rax
nop
aesenc xmm6, xmmword [rbp + 0x530]
aesenc xmm7, xmmword [rbp + 0x530]
aesenc xmm8, xmmword [rbp + 0x530]
mov rcx, r8
aesenc xmm9, xmmword [rbp + 0x530]
aesenc xmm10, xmmword [rbp + 0x530]
aesenc xmm11, xmmword [rbp + 0x530]
aesenc xmm12, xmmword [rbp + 0x530]
aesenc xmm13, xmmword [rbp + 0x530]
aesenc xmm6, xmmword [rbp + 0x540]
aesenc xmm7, xmmword [rbp + 0x540]
aesenc xmm8, xmmword [rbp + 0x540]
aesenc xmm9, xmmword [rbp + 0x540]
aesenc xmm10, xmmword [rbp + 0x540]
aesenc xmm11, xmmword [rbp + 0x540]
aesenc xmm12, xmmword [rbp + 0x540]
aesenc xmm13, xmmword [rbp + 0x540]
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm8, xmm15
aesenc xmm9, xmm15
aesenc xmm10, xmm15
aesenc xmm11, xmm15
aesenc xmm12, xmm15
aesenc xmm13, xmm15
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm14
aesenc xmm12, xmm14
aesenc xmm13, xmm14
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
shr rcx, 4
sub r8, 0xffffffffffffff80
mov rax, rcx
add rax, rax
movdqa xmmword [rsi + rax*8], xmm6
movdqa xmmword [rsi + rax*8 + 0x10], xmm7
lea rax, [rcx + 2]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm8
lea rax, [rcx + 3]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm9
lea rax, [rcx + 4]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm10
lea rax, [rcx + 5]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm11
lea rax, [rcx + 6]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm12
lea rax, [rcx + 7]
add rax, rax
movdqa xmmword [rsi + rax*8], xmm13
cmp r8, 0x200000
jb 0x1400128f0
movdqa xmm1, xmmword [rsp + 0x20]
movdqa xmm5, xmmword [rsp + 0x30]
mov rax, qword [rbp + 0x270]
xor rax, qword [rbp + 0x290]
mov r8, qword [rbp + 0x260]
mov r9, qword [rbp + 0x288]
xor r8, qword [rbp + 0x280]
xor r9, qword [rbp + 0x268]
mov rcx, qword [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp - 0x30], r8
xor rax, qword [rbp + 0x278]
mov qword [rbp - 0x40], r9
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x30], rcx
movdqa xmm6, xmmword [rsp + 0x40]
mov qword [rsp + 0x40], 0x80000
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], r9
nop
mov rax, rdx
and eax, 0x1ffff0
lea rdx, [rax + r15]
mov rax, rcx
and eax, 0x1ffff0
movdqa xmm4, xmmword [rdx]
aesenc xmm4, xmmword [rsp + 0x60]
lea rcx, [rax + r14]
mov rax, r8
and eax, 0x1ffff0
movdqa xmm0, xmm4
movdqa xmm3, xmmword [rcx]
movdqa xmm2, xmmword [rax + rsi]
pxor xmm0, xmm1
aesenc xmm3, xmmword [rsp + 0x30]
movdqa xmmword [rdx], xmm0
aesenc xmm2, xmmword [rsp + 0x20]
movq r8, xmm3
movdqa xmm1, xmm3
movdqa xmm0, xmm2
movq r9, xmm2
pxor xmm1, xmm5
pxor xmm0, xmm6
movdqa xmmword [rcx], xmm1
movdqa xmmword [rax + rsi], xmm0
movdqa xmm1, xmm4
movq rcx, xmm4
mov rax, rcx
and eax, 0x1ffff0
lea r13, [rax + r15]
mov rax, r8
mov r10, qword [r13]
mov r11, qword [r13 + 8]
and eax, 0x1ffff0
add r14, rax
mov rax, r9
mov rdi, qword [r14]
and eax, 0x1ffff0
mov r15, qword [rax + rsi]
mov r12, qword [rax + rsi + 8]
lea rbx, [rax + rsi]
mov rsi, qword [r14 + 8]
mov rax, r10
mul rcx
mov rax, r10
add qword [rbp - 0x80], rdx
imul rax, rcx
mov rcx, qword [rbp - 0x60]
add qword [rsp + 0x50], rax
mov rax, rdi
mul r8
mov rax, rdi
add rcx, rdx
imul rax, r8
mov r8, qword [rbp - 0x30]
add qword [rsp + 0x70], rax
mov rax, r15
mul r9
mov rax, r15
add r8, rdx
mov rdx, qword [rbp - 0x80]
mov qword [r13], rdx
xor rdx, r10
mov r10, qword [rsp + 0x50]
imul rax, r9
mov r9, qword [rbp - 0x40]
xor r10, r11
mov qword [rbp - 0x80], rdx
add r9, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x60], rdx
mov qword [r13 + 8], rax
mov rax, qword [rsp + 0x70]
mov qword [r14], rcx
mov qword [r14 + 8], rax
xor rcx, rdi
mov qword [rsp + 0x50], r10
mov qword [rbx], r8
mov qword [rbx + 8], r9
mov qword [rsp + 0x68], r10
mov qword [rbp - 0x60], rcx
mov r14, qword [rbp - 0x70]
xor rax, rsi
mov rsi, qword [rbp - 0x10]
movdqa xmm5, xmm3
movdqa xmm6, xmm2
xor r8, r15
mov r15, qword [rbp - 0x50]
xor r9, r12
dec qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x30], r8
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x40], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rcx
jne 0x140012c00
movaps xmm0, xmmword [rbp + 0x100]
movaps xmm1, xmmword [rbp + 0x110]
lea rcx, [rbp + 0x330]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rsp + 0x30], xmm1
movaps xmm1, xmmword [rbp + 0x130]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp - 0x10], xmm1
movaps xmm1, xmmword [rbp + 0x150]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp - 0x40], xmm1
movaps xmm1, xmmword [rbp + 0x170]
movdqa xmmword [rbp - 0x30], xmm0
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp - 0x60], xmm1
movaps xmm1, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0x330], xmm0
movaps xmmword [rbp + 0x340], xmm1
call fcn.140010370
movaps xmm0, xmmword [rbp + 0x1f0]
movaps xmm1, xmmword [rbp + 0x200]
lea rcx, [rbp + 0x430]
movaps xmm15, xmmword [rbp + 0x1e0]
movaps xmm14, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp], xmm1
movaps xmm1, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x70], xmm0
movaps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp + 0x40], xmm1
movaps xmm1, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x90], xmm0
movaps xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp + 0x60], xmm1
movaps xmm1, xmmword [rbp + 0x1c0]
movaps xmmword [rbp + 0x430], xmm0
movaps xmmword [rbp + 0x440], xmm1
movdqa xmmword [rsp + 0x50], xmm15
call fcn.140010370
lea rcx, [rbp + 0x530]
movaps xmm0, xmmword [rbp + 0x280]
movaps xmm1, xmmword [rbp + 0x290]
movaps xmm6, xmmword [rbp + 0x2a0]
movaps xmm7, xmmword [rbp + 0x2b0]
movaps xmm8, xmmword [rbp + 0x2c0]
movaps xmm9, xmmword [rbp + 0x2d0]
movaps xmm10, xmmword [rbp + 0x2e0]
movaps xmm11, xmmword [rbp + 0x2f0]
movaps xmm12, xmmword [rbp + 0x300]
movaps xmm13, xmmword [rbp + 0x310]
movdqa xmmword [rsp + 0x70], xmm6
movdqa xmmword [rbp - 0x80], xmm7
movdqa xmmword [rbp + 0xb0], xmm8
movdqa xmmword [rbp + 0x80], xmm9
movdqa xmmword [rbp + 0xa0], xmm10
movdqa xmmword [rbp + 0x10], xmm11
movdqa xmmword [rbp + 0x30], xmm12
movdqa xmmword [rbp + 0x50], xmm13
movaps xmmword [rbp + 0x530], xmm0
movaps xmmword [rbp + 0x540], xmm1
call fcn.140010370
xor edi, edi
mov rdx, r15
mov r8d, edi
movdqa xmm1, xmmword [rsp + 0x20]
movdqa xmm2, xmmword [rsp + 0x30]
movdqa xmm3, xmmword [rsp + 0x60]
movdqa xmm4, xmmword [rbp - 0x10]
movdqa xmm5, xmmword [rsp + 0x40]
movdqa xmm7, xmmword [rbp - 0x40]
movdqa xmm6, xmmword [rbp - 0x30]
movdqa xmm15, xmmword [rbp - 0x60]
nop word [rax + rax]
mov rcx, r8
shr rcx, 4
mov rax, rcx
add rax, rax
pxor xmm1, xmmword [rdx + rax*8]
movdqa xmm0, xmmword [rdx + rax*8 + 0x10]
lea rax, [rcx + 2]
pxor xmm0, xmm2
add rax, rax
movdqa xmm2, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
lea rax, [rcx + 3]
add rax, rax
pxor xmm0, xmm3
movdqa xmm3, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
lea rax, [rcx + 4]
add rax, rax
pxor xmm0, xmm4
movdqa xmm4, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
lea rax, [rcx + 5]
add rax, rax
pxor xmm0, xmm5
movdqa xmm5, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
lea rax, [rcx + 6]
add rax, rax
pxor xmm0, xmm7
movdqa xmm7, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
lea rax, [rcx + 7]
add rax, rax
pxor xmm0, xmm6
movdqa xmm6, xmm0
movdqa xmm0, xmmword [rdx + rax*8]
pxor xmm0, xmm15
movdqa xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x330]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x340]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x350]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x360]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x370]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x380]
sub r8, 0xffffffffffffff80
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x390]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x3a0]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x3b0]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
movdqa xmm0, xmmword [rbp + 0x3c0]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm15, xmm0
cmp r8, 0x200000
jb 0x140012f80
lea rcx, [rbp + 0xc0]
movaps xmmword [rbp + 0x100], xmm1
movaps xmmword [rbp + 0x110], xmm2
movaps xmmword [rbp + 0x120], xmm3
movaps xmmword [rbp + 0x130], xmm4
movaps xmmword [rbp + 0x140], xmm5
movaps xmmword [rbp + 0x150], xmm7
movaps xmmword [rbp + 0x160], xmm6
movaps xmmword [rbp + 0x170], xmm15
call fcn.140008f90
movzx eax, byte [rbp + 0xc0]
mov rsi, qword [rbp - 0x20]
lea r14, [0x1400d38d0]
lea rcx, [rbp + 0xc0]
and eax, 3
mov r8, rsi
mov edx, 0xc8
call qword [r14 + rax*8]
mov rbx, qword [rbp - 0x70]
mov rdx, rdi
movdqa xmm2, xmmword [rbp + 0x4c0]
movdqa xmm3, xmmword [rbp + 0x4b0]
movdqa xmm4, xmmword [rbp + 0x4a0]
movdqa xmm5, xmmword [rbp + 0x490]
movdqa xmm6, xmmword [rsp + 0x70]
movdqa xmm7, xmmword [rbp - 0x80]
movdqa xmm15, xmmword [rsp + 0x50]
movdqa xmm13, xmmword [rbp + 0x20]
movdqa xmm12, xmmword [rbp]
movdqa xmm11, xmmword [rbp + 0x70]
movdqa xmm10, xmmword [rbp + 0x40]
movdqa xmm9, xmmword [rbp + 0x90]
movdqa xmm8, xmmword [rbp + 0x60]
mov rcx, rdx
shr rcx, 4
mov rax, rcx
add rax, rax
movdqa xmm0, xmmword [rbx + rax*8]
movdqa xmm1, xmmword [rbx + rax*8 + 0x10]
lea rax, [rcx + 2]
add rax, rax
pxor xmm0, xmm14
movdqa xmm14, xmm0
pxor xmm1, xmm15
movdqa xmm0, xmmword [rbx + rax*8]
movdqa xmm15, xmm1
lea rax, [rcx + 3]
add rax, rax
pxor xmm0, xmm13
movdqa xmm13, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 4]
add rax, rax
pxor xmm0, xmm12
movdqa xmm12, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 5]
add rax, rax
pxor xmm0, xmm11
movdqa xmm11, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 6]
add rax, rax
pxor xmm0, xmm10
movdqa xmm10, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
lea rax, [rcx + 7]
add rax, rax
pxor xmm0, xmm9
movdqa xmm9, xmm0
movdqa xmm0, xmmword [rbx + rax*8]
pxor xmm0, xmm8
movdqa xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x430]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x440]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x450]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x460]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x470]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
sub rdx, 0xffffffffffffff80
aesenc xmm8, xmm0
movdqa xmm0, xmmword [rbp + 0x480]
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
aesenc xmm14, xmm5
aesenc xmm15, xmm5
aesenc xmm13, xmm5
aesenc xmm12, xmm5
aesenc xmm11, xmm5
aesenc xmm10, xmm5
aesenc xmm9, xmm5
aesenc xmm8, xmm5
aesenc xmm14, xmm4
aesenc xmm15, xmm4
aesenc xmm13, xmm4
aesenc xmm12, xmm4
aesenc xmm11, xmm4
aesenc xmm10, xmm4
aesenc xmm9, xmm4
aesenc xmm8, xmm4
aesenc xmm14, xmm3
aesenc xmm15, xmm3
aesenc xmm13, xmm3
aesenc xmm12, xmm3
aesenc xmm11, xmm3
aesenc xmm10, xmm3
aesenc xmm9, xmm3
aesenc xmm8, xmm3
aesenc xmm14, xmm2
aesenc xmm15, xmm2
aesenc xmm13, xmm2
aesenc xmm12, xmm2
aesenc xmm11, xmm2
aesenc xmm10, xmm2
aesenc xmm9, xmm2
aesenc xmm8, xmm2
cmp rdx, 0x200000
jb 0x1400132e2
lea rcx, [rbp + 0x190]
movaps xmmword [rbp + 0x1d0], xmm14
movaps xmmword [rbp + 0x1e0], xmm15
movaps xmmword [rbp + 0x1f0], xmm13
movaps xmmword [rbp + 0x200], xmm12
movaps xmmword [rbp + 0x210], xmm11
movaps xmmword [rbp + 0x220], xmm10
movaps xmmword [rbp + 0x230], xmm9
movaps xmmword [rbp + 0x240], xmm8
call fcn.140008f90
movzx eax, byte [rbp + 0x190]
lea r8, [rsi + 0x20]
lea rcx, [rbp + 0x190]
and eax, 3
mov edx, 0xc8
call qword [r14 + rax*8]
movdqa xmm1, xmmword [rbp + 0x5c0]
movdqa xmm2, xmmword [rbp + 0x5b0]
movdqa xmm3, xmmword [rbp + 0x5a0]
movdqa xmm4, xmmword [rbp + 0x590]
movdqa xmm5, xmmword [rbp + 0x580]
movdqa xmm14, xmmword [rbp + 0x570]
movdqa xmm15, xmmword [rbp + 0x560]
movdqa xmm8, xmmword [rbp + 0xb0]
movdqa xmm9, xmmword [rbp + 0x80]
movdqa xmm10, xmmword [rbp + 0xa0]
movdqa xmm11, xmmword [rbp + 0x10]
movdqa xmm12, xmmword [rbp + 0x30]
movdqa xmm13, xmmword [rbp + 0x50]
nop word [rax + rax]
mov rcx, rdi
shr rcx, 4
mov rax, rcx
add rax, rax
pxor xmm6, xmmword [rbx + rax*8 + 0x200000]
movdqa xmm0, xmmword [rbx + rax*8 + 0x200010]
lea rax, [rcx + 2]
pxor xmm0, xmm7
add rax, rax
movdqa xmm7, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
lea rax, [rcx + 3]
add rax, rax
pxor xmm0, xmm8
movdqa xmm8, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
lea rax, [rcx + 4]
add rax, rax
pxor xmm0, xmm9
movdqa xmm9, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
lea rax, [rcx + 5]
add rax, rax
pxor xmm0, xmm10
movdqa xmm10, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
lea rax, [rcx + 6]
add rax, rax
pxor xmm0, xmm11
movdqa xmm11, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
lea rax, [rcx + 7]
add rax, rax
pxor xmm0, xmm12
movdqa xmm12, xmm0
movdqa xmm0, xmmword [rbx + rax*8 + 0x200000]
pxor xmm0, xmm13
movdqa xmm13, xmm0
movdqa xmm0, xmmword [rbp + 0x530]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
movdqa xmm0, xmmword [rbp + 0x540]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
movdqa xmm0, xmmword [rbp + 0x550]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
aesenc xmm6, xmm15
aesenc xmm7, xmm15
aesenc xmm8, xmm15
aesenc xmm9, xmm15
aesenc xmm10, xmm15
aesenc xmm11, xmm15
aesenc xmm12, xmm15
aesenc xmm13, xmm15
aesenc xmm6, xmm14
aesenc xmm7, xmm14
aesenc xmm8, xmm14
aesenc xmm9, xmm14
aesenc xmm10, xmm14
aesenc xmm11, xmm14
aesenc xmm12, xmm14
aesenc xmm13, xmm14
aesenc xmm6, xmm5
aesenc xmm7, xmm5
aesenc xmm8, xmm5
sub rdi, 0xffffffffffffff80
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm6, xmm4
aesenc xmm7, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm6, xmm3
aesenc xmm7, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm6, xmm2
aesenc xmm7, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
cmp rdi, 0x200000
jb 0x140013690
lea rcx, [rbp + 0x260]
movaps xmmword [rbp + 0x2a0], xmm6
movaps xmmword [rbp + 0x2b0], xmm7
movaps xmmword [rbp + 0x2c0], xmm8
movaps xmmword [rbp + 0x2d0], xmm9
movaps xmmword [rbp + 0x2e0], xmm10
movaps xmmword [rbp + 0x2f0], xmm11
movaps xmmword [rbp + 0x300], xmm12
movaps xmmword [rbp + 0x310], xmm13
call fcn.140008f90
movzx eax, byte [rbp + 0x260]
lea r8, [rsi + 0x40]
lea rcx, [rbp + 0x260]
and eax, 3
mov edx, 0xc8
call qword [r14 + rax*8]
mov rcx, qword [rbp + 0x630]
xor rcx, rsp
call fcn.140084a30
lea r11, [rsp + 0x7e0]
mov rbx, qword [r11 + 0x50]
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 r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret