Function at 0x14003f300
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
push r15
push rbp
sub rsp, 0x2e0
mov r15, r8
mov qword [rsp + 0x20], r13
lea r13, [rsp + 0xef]
and r13, 0xffffffffffffffe0
mov r8d, edx
movsxd r11, r8d
mov r9, rcx
mov ebp, r8d
mov eax, 0xa0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [r13 + 0x150], xmm0
vmovq qword [r13 + 0x160], xmm0
vmovups xmmword [r13 + rax + 0xa0], xmm0
vmovups xmmword [r13 + rax + 0x90], xmm0
vmovups xmmword [r13 + rax + 0x80], xmm0
vmovups xmmword [r13 + rax + 0x70], xmm0
vmovups xmmword [r13 + rax + 0x60], xmm0
sub rax, 0x50
jne 0x14003f34c
vmovups xmmword [r13 + 0xa0], xmm0
mov rax, qword [r13 + 0x150]
xor r10d, r10d
mov rsi, qword [r13 + 0x140]
xor ecx, ecx
mov r12, qword [r13 + 0x148]
mov r14, qword [r13 + 0x128]
mov qword [rsp + 0x258], rax
mov rax, qword [r13 + 0x160]
mov qword [rsp + 0x270], rsi
mov qword [rsp + 0x268], r12
mov qword [rsp + 0x260], r14
mov rdi, qword [r13 + 0x120]
mov r14, qword [r13 + 0x130]
mov r12, qword [r13 + 0x158]
mov rsi, qword [r13 + 0x138]
mov qword [rsp + 0x88], rax
cmp r11, 0x88
jl 0x14003fbbf
neg r11
movabs rax, 0x7878787878787879
imul r11
shr rdx, 6
sar r11, 0x3f
neg rdx
add rdx, r11
mov qword [rsp + 0x278], rdi
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x280], rsi
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0x288], r14
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x28], r15
vmovdqu xmm0, xmmword [r13 + 0xa0]
vpxor xmm1, xmm0, xmmword [r9]
vmovdqu xmmword [r13 + 0xa0], xmm1
vmovdqu xmm2, xmmword [r13 + 0xb0]
vpxor xmm3, xmm2, xmmword [r9 + 0x10]
vmovdqu xmmword [r13 + 0xb0], xmm3
vmovdqu xmm4, xmmword [r13 + 0xc0]
vpxor xmm5, xmm4, xmmword [r9 + 0x20]
vmovdqu xmmword [r13 + 0xc0], xmm5
vmovdqu xmm0, xmmword [r13 + 0xd0]
vpxor xmm1, xmm0, xmmword [r9 + 0x30]
vmovdqu xmmword [r13 + 0xd0], xmm1
vmovdqu xmm2, xmmword [r13 + 0xe0]
vpxor xmm3, xmm2, xmmword [r9 + 0x40]
vmovdqu xmmword [r13 + 0xe0], xmm3
vmovdqu xmm4, xmmword [r13 + 0xf0]
vpxor xmm5, xmm4, xmmword [r9 + 0x50]
vmovdqu xmmword [r13 + 0xf0], xmm5
vmovdqu xmm0, xmmword [r13 + 0x100]
vpxor xmm1, xmm0, xmmword [r9 + 0x60]
vmovdqu xmmword [r13 + 0x100], xmm1
vmovdqu xmm2, xmmword [r13 + 0x110]
vpxor xmm3, xmm2, xmmword [r9 + 0x70]
vmovdqu xmmword [r13 + 0x110], xmm3
mov r14, qword [rsp + 0x278]
mov r11, qword [r13 + 0xa0]
mov r12, qword [r13 + 0xc8]
mov rax, qword [r13 + 0xa8]
xor r14, qword [r9 + 0x80]
mov r15, qword [r13 + 0x110]
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x298], r12
mov qword [rsp + 0x2a0], rax
mov r12, qword [r13 + 0xf0]
mov r11, qword [r13 + 0x118]
mov rcx, qword [r13 + 0xd8]
mov rax, qword [r13 + 0xd0]
mov rdx, qword [r13 + 0x100]
mov r10, qword [r13 + 0xf8]
mov qword [rsp + 0x278], r14
mov qword [r13 + 0x120], r14
xor r14d, r14d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x38], r9
mov rbp, qword [r13 + 0xb0]
mov rsi, qword [r13 + 0xb8]
mov rdi, qword [r13 + 0xe0]
mov r8, qword [r13 + 0x108]
mov rcx, qword [r13 + 0xe8]
mov rbx, qword [r13 + 0xc0]
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xc0], r14
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
mov r11, qword [rsp + 0x280]
mov r12, qword [rsp + 0x288]
jmp 0x14003f62f
mov r10, qword [rsp + 0x278]
mov qword [r13 + 0x120], r10
xor rax, qword [rsp + 0x298]
xor rsi, rdi
xor rax, qword [rsp + 0x90]
xor rbx, rcx
xor rax, qword [rsp + 0xb8]
xor rsi, r8
xor rax, qword [rsp + 0x270]
xor rbx, rdx
mov qword [rsp + 0x2b0], rax
xor rsi, r12
mov rax, qword [rsp + 0x2a0]
xor rbx, r11
xor rax, qword [rsp + 0xa0]
xor rbx, r9
xor rbp, qword [rsp + 0x290]
xor ecx, ecx
xor rax, qword [rsp + 0x98]
xor rbp, qword [rsp + 0x80]
xor rax, qword [rsp + 0x278]
xor rbp, qword [rsp + 0x260]
xor rax, qword [rsp + 0x268]
xor rbp, qword [rsp + 0x258]
xor rsi, qword [rsp + 0xc8]
mov qword [rsp + 0x2b8], rax
mov qword [rsp + 0x2c0], rbp
mov qword [rsp + 0x2c8], rsi
mov qword [rsp + 0x2d0], rbx
nop
mov edi, ecx
mov eax, 0x66666667
lea ebp, [rdi + 1]
add edi, 4
imul ebp
mov eax, 0x66666667
sar edx, 1
lea ebx, [rdx + rdx*4]
sub ebp, ebx
movsxd rbp, ebp
imul edi
mov r8, qword [rsp + rbp*8 + 0x2b0]
shld r8, r8, 1
sar edx, 1
lea esi, [rdx + rdx*4]
sub edi, esi
movsxd rdi, edi
xor r8, qword [rsp + rdi*8 + 0x2b0]
xor qword [r13 + rcx*8 + 0xa0], r8
xor qword [r13 + rcx*8 + 0xc8], r8
xor qword [r13 + rcx*8 + 0xf0], r8
xor qword [r13 + rcx*8 + 0x118], r8
xor qword [r13 + rcx*8 + 0x140], r8
inc rcx
cmp rcx, 5
jb 0x14003f6e0
mov rdx, qword [r13 + 0xa8]
xor eax, eax
lea rdi, [0x140000000]
movsxd rbx, dword [rdi + rax*8 + 0x153d40]
movsxd rsi, dword [rdi + rax*8 + 0x153d44]
mov ecx, dword [rdi + rax*8 + 0x153da0]
mov rbp, qword [r13 + rbx*8 + 0xa0]
rol rdx, cl
mov qword [r13 + rbx*8 + 0xa0], rdx
mov ecx, dword [rdi + rax*8 + 0x153da4]
inc rax
rol rbp, cl
mov rdx, qword [r13 + rsi*8 + 0xa0]
mov qword [r13 + rsi*8 + 0xa0], rbp
cmp rax, 0xc
jb 0x14003f760
mov r8, qword [r13 + 0xa8]
mov rax, r8
mov rbp, qword [r13 + 0xb0]
not rax
mov rbx, qword [r13 + 0xc0]
mov rcx, rbp
mov rdx, rbx
and rax, rbp
not rcx
not rdx
mov r9, qword [r13 + 0xa0]
xor rax, r9
mov rsi, qword [r13 + 0xb8]
and rcx, rsi
and rdx, r9
not r9
xor rcx, r8
mov rdi, rsi
and r9, r8
xor rsi, rdx
mov r8, qword [r13 + 0xd0]
mov rdx, r8
mov qword [rsp + 0x2a0], rcx
not rdi
mov qword [r13 + 0xa8], rcx
not rdx
mov rcx, qword [r13 + 0xe8]
mov r10, rcx
mov r14, qword [r13 + 0xd8]
and rdi, rbx
and rdx, r14
not r10
mov r15, qword [r13 + 0xc8]
xor rbp, rdi
mov rdi, qword [r13 + 0xe0]
xor rdx, r15
mov r12, rdi
and r10, r15
not r15
not r12
and r15, r8
and r12, rcx
xor rcx, r15
xor rbx, r9
mov r15, qword [r13 + 0xf8]
mov r9, r15
mov r11, r14
not r9
xor r14, r12
not r11
mov qword [rsp + 0x290], r14
and r11, rdi
mov qword [r13 + 0xd8], r14
xor rdi, r10
mov r14, qword [r13 + 0x100]
and r9, r14
mov r10, qword [r13 + 0xf0]
xor r9, r10
mov qword [rsp + 0x298], rdx
xor r11, r8
mov qword [r13 + 0xc8], rdx
mov rdx, qword [r13 + 0x110]
mov qword [rsp + 0x90], r9
mov qword [r13 + 0xf0], r9
mov r9, rdx
not r9
mov qword [rsp + 0xa0], r11
and r9, r10
mov qword [r13 + 0xd0], r11
mov r11, r14
mov r8, qword [r13 + 0x108]
mov r12, r8
not r10
not r11
not r12
and r10, r15
and r11, r8
xor r8, r9
mov r9, qword [r13 + 0x120]
and r12, rdx
xor rdx, r10
mov r10, r9
not r10
xor r11, r15
mov r15, qword [r13 + 0x128]
and r10, r15
mov qword [rsp + 0x98], r11
xor r14, r12
mov qword [r13 + 0xf8], r11
mov r11, qword [r13 + 0x118]
xor r10, r11
mov qword [rsp + 0xb8], r10
mov qword [r13 + 0x118], r10
mov r10, r15
not r10
mov qword [rsp + 0x80], r14
mov qword [r13 + 0x100], r14
mov r14, qword [r13 + 0x130]
and r10, r14
xor r10, r9
mov qword [rsp + 0x278], r10
mov r10, r14
not r10
mov r12, qword [r13 + 0x138]
and r10, r12
xor r15, r10
mov qword [rsp + 0x260], r15
mov qword [r13 + 0x128], r15
mov r15, r12
not r15
and r15, r11
not r11
and r11, r9
xor r14, r15
xor r12, r11
mov qword [rsp + 0x280], r12
mov qword [r13 + 0x138], r12
mov r12, qword [r13 + 0x148]
mov r15, r12
not r15
mov r10, qword [r13 + 0x150]
and r15, r10
mov r9, qword [r13 + 0x140]
xor r15, r9
mov qword [rsp + 0x270], r15
mov qword [r13 + 0x140], r15
mov r15, r10
not r15
mov r11, qword [r13 + 0x158]
and r15, r11
xor r15, r12
mov qword [rsp + 0x268], r15
mov qword [r13 + 0x148], r15
mov r15, r11
not r15
mov qword [rsp + 0x288], r14
mov qword [r13 + 0x130], r14
mov r14, qword [r13 + 0x160]
and r15, r14
mov qword [rsp + 0x68], r10
xor r15, r10
mov r10, r14
not r10
and r10, r9
mov qword [rsp + 0x70], r11
xor r10, r11
lea r11, [0x140000000]
mov qword [rsp + 0xc8], r10
mov qword [r13 + 0x158], r10
mov r10, qword [rsp + 0xc0]
mov qword [rsp + 0xa8], r9
not r9
and r9, r12
xor rax, qword [r11 + r10*8 + 0x153e00]
inc r10
xor r9, r14
mov qword [rsp + 0xb0], r12
mov qword [r13 + 0xb0], rbp
mov qword [r13 + 0xb8], rsi
mov qword [r13 + 0xc0], rbx
mov qword [r13 + 0xe0], rdi
mov qword [r13 + 0xe8], rcx
mov qword [r13 + 0x108], r8
mov qword [r13 + 0x110], rdx
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x258], r15
mov qword [r13 + 0x150], r15
mov qword [r13 + 0x160], r9
mov qword [r13 + 0xa0], rax
mov qword [rsp + 0xc0], r10
mov r11, qword [rsp + 0x280]
mov r12, qword [rsp + 0x288]
cmp r10, 0x18
jb 0x14003f620
mov ebp, dword [rsp + 0x30]
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
inc ecx
mov qword [rsp + 0x88], r9
lea ebp, [rax + rbp - 0x88]
mov r9, qword [rsp + 0x38]
add eax, 0xffffff78
add r9, 0x88
mov qword [rsp + 0x280], r11
mov qword [rsp + 0x288], r12
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ecx
cmp ecx, dword [rsp + 0x50]
jb 0x14003f455
mov rdi, qword [rsp + 0x278]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x280]
mov r12, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x288]
mov r15, qword [rsp + 0x28]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x2c8], rcx
mov qword [rsp + 0x2c0], r8
mov qword [rsp + 0x2b8], r10
mov qword [rsp + 0x2b0], r11
mov qword [r13 + 0x120], rdi
movsxd rbp, ebp
lea rcx, [r13]
mov rdx, r9
mov r8, rbp
call fcn.140106bc0
movsxd rbp, ebp
xor edx, edx
mov byte [r13 + rbp], 1
lea r8, [rbp + 1]
neg r8
lea rcx, [r13 + rbp + 1]
add r8, 0x88
call fcn.140106cf0
vmovdqu xmm0, xmmword [r13 + 0xa0]
vmovdqu xmm2, xmmword [r13 + 0xb0]
vmovdqu xmm4, xmmword [r13 + 0xc0]
vpxor xmm1, xmm0, xmmword [r13]
vpxor xmm3, xmm2, xmmword [r13 + 0x10]
vpxor xmm5, xmm4, xmmword [r13 + 0x20]
vmovdqu xmm0, xmmword [r13 + 0xd0]
vmovdqu xmm2, xmmword [r13 + 0xe0]
vmovdqu xmm4, xmmword [r13 + 0xf0]
vmovdqu xmmword [r13 + 0xa0], xmm1
vmovdqu xmmword [r13 + 0xb0], xmm3
vmovdqu xmmword [r13 + 0xc0], xmm5
vpxor xmm1, xmm0, xmmword [r13 + 0x30]
vpxor xmm3, xmm2, xmmword [r13 + 0x40]
vpxor xmm5, xmm4, xmmword [r13 + 0x50]
vmovdqu xmm0, xmmword [r13 + 0x100]
vmovdqu xmm2, xmmword [r13 + 0x110]
vmovdqu xmmword [r13 + 0xd0], xmm1
vmovdqu xmmword [r13 + 0xe0], xmm3
vmovdqu xmmword [r13 + 0xf0], xmm5
vpxor xmm1, xmm0, xmmword [r13 + 0x60]
vpxor xmm3, xmm2, xmmword [r13 + 0x70]
mov rax, qword [r13 + 0xf0]
vmovdqu xmmword [r13 + 0x100], xmm1
vmovdqu xmmword [r13 + 0x110], xmm3
or byte [r13 + 0x87], 0x80
mov qword [rsp + 0xb8], rax
mov r8, qword [r13 + 0xc8]
mov rcx, qword [r13 + 0xa8]
mov r9, qword [r13 + 0xd0]
mov r10, qword [r13 + 0xf8]
mov rdx, qword [r13 + 0x118]
mov r11, qword [r13 + 0xd8]
mov rax, qword [r13 + 0x100]
xor rdi, qword [r13 + 0x80]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xb0], rax
mov qword [r13 + 0x120], rdi
mov qword [rsp + 0x30], 0
mov rbp, qword [r13 + 0xa0]
mov r8, qword [r13 + 0xb0]
mov r9, qword [r13 + 0xb8]
mov r10, qword [r13 + 0xe0]
mov r11, qword [r13 + 0x108]
mov rdx, qword [r13 + 0xe8]
mov rcx, qword [r13 + 0xc0]
mov rax, qword [r13 + 0x110]
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x28], r15
mov rbx, qword [rsp + 0xc8]
xor rcx, rdx
xor rbp, qword [rsp + 0xa0]
xor r9, r10
xor rbx, qword [rsp + 0x90]
xor rcx, rax
xor r8, qword [rsp + 0xa8]
xor r9, r11
xor rbp, qword [rsp + 0xb8]
xor rcx, rsi
xor rbx, qword [rsp + 0x98]
xor r9, r14
xor r8, qword [rsp + 0xb0]
xor r9, r12
xor rbp, qword [rsp + 0xc0]
xor rbx, qword [rsp + 0x278]
xor r8, qword [rsp + 0x260]
xor rbp, qword [rsp + 0x270]
xor rbx, qword [rsp + 0x268]
xor r8, qword [rsp + 0x258]
xor rcx, qword [rsp + 0x88]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], rcx
xor ecx, ecx
nop dword [rax + rax]
nop dword [rax + rax]
mov edi, ecx
mov eax, 0x66666667
lea ebp, [rdi + 1]
add edi, 4
imul ebp
mov eax, 0x66666667
sar edx, 1
lea ebx, [rdx + rdx*4]
sub ebp, ebx
movsxd rbp, ebp
imul edi
mov r8, qword [rsp + rbp*8 + 0x60]
shld r8, r8, 1
sar edx, 1
lea esi, [rdx + rdx*4]
sub edi, esi
movsxd rdi, edi
xor r8, qword [rsp + rdi*8 + 0x60]
xor qword [r13 + rcx*8 + 0xa0], r8
xor qword [r13 + rcx*8 + 0xc8], r8
xor qword [r13 + rcx*8 + 0xf0], r8
xor qword [r13 + rcx*8 + 0x118], r8
xor qword [r13 + rcx*8 + 0x140], r8
inc rcx
cmp rcx, 5
jb 0x14003fe40
mov rdx, qword [r13 + 0xa8]
xor eax, eax
lea rdi, [0x140000000]
nop word [rax + rax]
movsxd rbx, dword [rdi + rax*8 + 0x153d40]
movsxd rsi, dword [rdi + rax*8 + 0x153d44]
mov ecx, dword [rdi + rax*8 + 0x153da0]
mov rbp, qword [r13 + rbx*8 + 0xa0]
rol rdx, cl
mov qword [r13 + rbx*8 + 0xa0], rdx
mov ecx, dword [rdi + rax*8 + 0x153da4]
inc rax
rol rbp, cl
mov rdx, qword [r13 + rsi*8 + 0xa0]
mov qword [r13 + rsi*8 + 0xa0], rbp
cmp rax, 0xc
jb 0x14003fec0
mov r11, qword [r13 + 0xa8]
mov rbp, r11
mov r8, qword [r13 + 0xb0]
not rbp
mov rcx, qword [r13 + 0xc0]
mov rdx, r8
mov rax, rcx
and rbp, r8
not rdx
not rax
mov r12, qword [r13 + 0xa0]
xor rbp, r12
mov r9, qword [r13 + 0xb8]
and rdx, r9
and rax, r12
not r12
xor rdx, r11
mov r10, r9
and r12, r11
xor r9, rax
mov r11, qword [r13 + 0xd0]
mov rax, r11
mov qword [rsp + 0xc8], rdx
not r10
mov qword [r13 + 0xa8], rdx
not rax
mov rdx, qword [r13 + 0xe8]
mov rsi, rdx
mov rbx, qword [r13 + 0xd8]
and r10, rcx
and rax, rbx
not rsi
mov r15, qword [r13 + 0xc8]
xor r8, r10
mov r10, qword [r13 + 0xe0]
xor rax, r15
mov r14, r10
and rsi, r15
not r15
not r14
and r15, r11
and r14, rdx
xor rdx, r15
xor rcx, r12
mov r15, qword [r13 + 0xf8]
mov r12, r15
mov rdi, rbx
not r12
xor rbx, r14
not rdi
mov qword [rsp + 0xa8], rbx
and rdi, r10
mov qword [r13 + 0xd8], rbx
xor r10, rsi
mov rbx, qword [r13 + 0x100]
and r12, rbx
mov rsi, qword [r13 + 0xf0]
xor r12, rsi
mov qword [rsp + 0xa0], rax
xor rdi, r11
mov qword [r13 + 0xc8], rax
mov rax, qword [r13 + 0x110]
mov qword [rsp + 0xb8], r12
mov qword [r13 + 0xf0], r12
mov r12, rax
not r12
mov qword [rsp + 0x90], rdi
and r12, rsi
mov qword [r13 + 0xd0], rdi
mov rdi, rbx
mov r11, qword [r13 + 0x108]
mov r14, r11
not rsi
not rdi
not r14
and rsi, r15
and rdi, r11
xor r11, r12
mov r12, qword [r13 + 0x120]
and r14, rax
xor rax, rsi
mov rsi, r12
not rsi
xor rdi, r15
mov r15, qword [r13 + 0x128]
and rsi, r15
mov qword [rsp + 0x98], rdi
xor rbx, r14
mov qword [r13 + 0xf8], rdi
mov rdi, qword [r13 + 0x118]
xor rsi, rdi
mov qword [rsp + 0xc0], rsi
mov qword [r13 + 0x118], rsi
mov rsi, r15
not rsi
mov qword [rsp + 0xb0], rbx
mov qword [r13 + 0x100], rbx
mov rbx, qword [r13 + 0x130]
and rsi, rbx
xor rsi, r12
mov qword [rsp + 0x278], rsi
mov qword [r13 + 0x120], rsi
mov rsi, rbx
not rsi
mov r14, qword [r13 + 0x138]
and rsi, r14
xor r15, rsi
mov qword [rsp + 0x260], r15
mov qword [r13 + 0x128], r15
mov r15, r14
not r15
and r15, rdi
not rdi
and rdi, r12
xor rbx, r15
xor r14, rdi
mov rdi, qword [r13 + 0x148]
mov r15, rdi
not r15
mov r12, qword [r13 + 0x150]
and r15, r12
mov qword [rsp + 0x288], rbx
mov qword [r13 + 0x130], rbx
mov rbx, qword [r13 + 0x140]
xor r15, rbx
mov qword [rsp + 0x270], r15
mov qword [r13 + 0x140], r15
mov r15, r12
not r15
mov rsi, qword [r13 + 0x158]
and r15, rsi
xor r15, rdi
mov qword [rsp + 0x268], r15
mov qword [r13 + 0x148], r15
mov r15, rsi
not r15
mov qword [rsp + 0x280], r14
mov qword [r13 + 0x138], r14
mov r14, qword [r13 + 0x160]
and r15, r14
mov qword [rsp + 0x38], r12
xor r15, r12
mov r12, r14
not r12
and r12, rbx
mov qword [rsp + 0x50], rbx
not rbx
mov qword [rsp + 0x40], rsi
xor r12, rsi
lea rsi, [0x140000000]
and rbx, rdi
mov qword [rsp + 0x58], rdi
xor rbx, r14
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x48], r14
mov qword [r13 + 0xb0], r8
xor rbp, qword [rsi + rdi*8 + 0x153e00]
inc rdi
mov qword [r13 + 0xb8], r9
mov qword [r13 + 0xc0], rcx
mov qword [r13 + 0xe0], r10
mov qword [r13 + 0xe8], rdx
mov qword [r13 + 0x108], r11
mov qword [r13 + 0x110], rax
mov qword [rsp + 0x258], r15
mov qword [r13 + 0x150], r15
mov qword [r13 + 0x158], r12
mov qword [rsp + 0x88], rbx
mov qword [r13 + 0x160], rbx
mov qword [r13 + 0xa0], rbp
mov qword [rsp + 0x30], rdi
mov rsi, qword [rsp + 0x280]
mov r14, qword [rsp + 0x288]
cmp rdi, 0x18
jb 0x14003fd90
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rsi
mov r15, qword [rsp + 0x28]
vmovups xmm0, xmmword [r13 + 0x150]
vmovups xmmword [r15 + 0xb0], xmm0
mov rax, qword [r13 + 0x160]
mov qword [r15 + 0xc0], rax
mov eax, 0xa0
vmovups xmm0, xmmword [r13 + rax + 0xa0]
vmovups xmmword [r15 + rax], xmm0
vmovups xmm1, xmmword [r13 + rax + 0x90]
vmovups xmmword [r15 + rax - 0x10], xmm1
vmovups xmm2, xmmword [r13 + rax + 0x80]
vmovups xmmword [r15 + rax - 0x20], xmm2
vmovups xmm3, xmmword [r13 + rax + 0x70]
vmovups xmmword [r15 + rax - 0x30], xmm3
vmovups xmm4, xmmword [r13 + rax + 0x60]
vmovups xmmword [r15 + rax - 0x40], xmm4
sub rax, 0x50
jne 0x1400402b6
vmovups xmm0, xmmword [r13 + 0xa0]
vmovups xmmword [r15], xmm0
mov r13, qword [rsp + 0x20]
add rsp, 0x2e0
pop rbp
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret