Function at 0x140074a30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x158
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0xc0], xmm15
vmovdqa xmmword [rbp + 0xb0], xmm14
vmovdqa xmmword [rbp + 0xa0], xmm13
vmovdqa xmmword [rbp + 0x90], xmm12
vmovdqa xmmword [rbp + 0x80], xmm11
vmovdqa xmmword [rbp + 0x70], xmm10
vmovdqa xmmword [rbp + 0x60], xmm9
vmovdqa xmmword [rbp + 0x50], xmm8
vmovdqa xmmword [rbp + 0x40], xmm7
vmovaps xmmword [rbp + 0x30], xmm6
and rsp, 0xffffffffffffffe0
mov rbx, rsp
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x141f382c8]
sub eax, dword [0x141f382cc]
imul eax, eax, 0xd4932a10
cmp eax, 0x61862761
jne 0x140074ae0
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
and rax, 0xffffffffffffffe0
mov rsp, rax
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
and rax, 0xffffffffffffffe0
mov rsp, rax
mov eax, dword [0x141f382d0]
xor eax, dword [0x141f382d4]
imul ecx, eax, 0x83759a54
add ecx, 0x97cd6a10
and ecx, 0xae7a9208
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
and r15, 0xffffffffffffffe0
mov rsp, r15
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
and r13, 0xffffffffffffffe0
mov rsp, r13
cmp ecx, 0x71a3e349
je 0x140074ae0
mov eax, 0x60
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
cmp byte [rsi], 0
je 0x140074df4
vpbroadcastq ymm0, qword [0x140108b40]
nop word cs:[rax + rax]
mov eax, dword [0x141f382d8]
and eax, dword [0x141f382dc]
or eax, 0x49200180
xor eax, 0x40682810
or eax, 0x9697c66d
cmp eax, 0xe3b60123
je 0x140074b60
vmovdqa ymm4, ymmword [rsi + 0xe0]
vmovdqa ymm2, ymmword [rsi + 0x100]
vmovdqa ymm3, ymmword [rsi + 0x120]
vpbroadcastq ymm5, qword [rsi + 0xa0]
vpbroadcastq ymm8, qword [rsi + 0xa8]
vpmuludq ymm7, ymm2, ymm5
vpmuludq ymm9, ymm3, ymm5
vpmuludq ymm10, ymm8, ymm2
vpshufd ymm6, ymm5, 0xf5
vpshufd ymm11, ymm8, 0xf5
vpmuludq ymm12, ymm6, ymm4
vpaddq ymm12, ymm12, ymm7
vpmuludq ymm7, ymm11, ymm4
vpaddq ymm1, ymm10, ymm7
vmovdqa ymmword [rbx], ymm1
vpmuludq ymm10, ymm11, ymm2
vpbroadcastq ymm11, qword [rsi + 0xb0]
vpmuludq ymm13, ymm11, ymm4
vpaddq ymm9, ymm9, ymm13
vpaddq ymm9, ymm9, ymm10
vpshufd ymm10, ymm4, 0xf5
vpshufd ymm13, ymm2, 0xf5
vpshufd ymm11, ymm11, 0xf5
vpmuludq ymm14, ymm13, ymm6
vpmuludq ymm15, ymm10, ymm8
vpaddq ymm14, ymm15, ymm14
vpaddq ymm9, ymm9, ymm14
vpbroadcastq ymm14, qword [rsi + 0xb8]
vpmuludq ymm15, ymm13, ymm11
vpmuludq ymm1, ymm10, ymm14
vpaddq ymm1, ymm15, ymm1
vpmuludq ymm8, ymm8, ymm4
vpmuludq ymm15, ymm14, ymm3
vpaddq ymm8, ymm8, ymm15
vpmuludq ymm15, ymm6, ymm2
vpaddq ymm8, ymm15, ymm8
vpmuludq ymm11, ymm11, ymm3
vpshufd ymm15, ymm14, 0xf5
vpmuludq ymm7, ymm10, ymm15
vpaddq ymm7, ymm11, ymm7
vpaddq ymm7, ymm12, ymm7
vpmuludq ymm11, ymm13, ymm14
vpaddq ymm7, ymm11, ymm7
vpmuludq ymm4, ymm4, ymm5
vpmuludq ymm6, ymm10, ymm6
vpmuludq ymm10, ymm10, ymm5
vpmuludq ymm5, ymm13, ymm5
vpmuludq ymm11, ymm13, ymm15
vpaddq ymm10, ymm10, ymm11
vpaddq ymm8, ymm8, ymm10
vpmuludq ymm10, ymm15, ymm3
vpaddq ymm6, ymm10, ymm6
vpaddq ymm6, ymm6, ymmword [rbx]
vpaddq ymm5, ymm6, ymm5
vpmuludq ymm3, ymm3, ymmword [rsi + 0xc0]
vpmuludq ymm2, ymm15, ymm2
vpaddq ymm3, ymm4, ymm3
vpaddq ymm2, ymm2, ymm3
vpaddq ymm1, ymm2, ymm1
vpsrlq ymm2, ymm1, 0x1a
vpaddq ymm2, ymm7, ymm2
vpsrlq ymm3, ymm5, 0x1a
vpaddq ymm3, ymm9, ymm3
vpsrlq ymm4, ymm2, 0x1a
vpaddq ymm4, ymm8, ymm4
vpsrlq ymm6, ymm3, 0x1a
vpblendd ymm6, ymm6, ymmword [0x140108d00], 0xaa
vpand ymm1, ymm1, ymm0
vpaddq ymm1, ymm6, ymm1
vpsllq ymm6, ymm6, 2
vpaddq ymm6, ymm6, ymm1
vpand ymm1, ymm5, ymm0
vpand ymm2, ymm2, ymm0
vpand ymm0, ymm3, ymm0
vpsrlq ymm3, ymm4, 0x1a
vpaddq ymm3, ymm3, ymm1
vpsrlq ymm1, ymm6, 0x1a
vpaddq ymm1, ymm1, ymm2
vpsrlq ymm2, ymm3, 0x1a
vpaddq ymm0, ymm2, ymm0
vpsllq ymm2, ymm4, 0x20
vpblendd ymm2, ymm6, ymm2, 0xaa
mov eax, dword [0x141f382e0]
imul eax, dword [0x141f382e4]
or eax, 0xd1a1f2f0
xor eax, 0x7a689c83
imul rax, rax, 0x33e40be3
shr rax, 0x3b
vpsllq ymm3, ymm3, 0x20
cmp eax, 0x2f209462
jne 0x140074d81
vpbroadcastd ymm4, dword [0x140108c90]
vpand ymm5, ymm2, ymm4
vpand ymm4, ymm3, ymm4
vpblendd ymm4, ymm1, ymm4, 0xaa
vpaddd ymm5, ymm5, ymmword [rdi]
vpaddd ymm4, ymm4, ymmword [rdi + 0x20]
vpaddd ymm6, ymm0, ymmword [rdi + 0x40]
vmovdqa ymmword [rsi + 0xe0], ymm5
vmovdqa ymmword [rsi + 0x100], ymm4
vmovdqa ymmword [rsi + 0x120], ymm6
vpbroadcastd ymm4, dword [0x140108c90]
vpand ymm2, ymm2, ymm4
vpand ymm3, ymm3, ymm4
vpblendd ymm1, ymm1, ymm3, 0xaa
nop dword [rax + rax]
mov eax, dword [0x141f382e8]
and eax, dword [0x141f382ec]
imul eax, eax, 0xe46c620a
imul rax, rax, 0x457ff3f3
shr rax, 0x3e
or eax, 0x615893ec
vpaddd ymm3, ymm2, ymmword [rdi]
vpaddd ymm4, ymm1, ymmword [rdi + 0x20]
vpaddd ymm5, ymm0, ymmword [rdi + 0x40]
vmovdqa ymmword [rsi + 0xe0], ymm3
vmovdqa ymmword [rsi + 0x100], ymm4
vmovdqa ymmword [rsi + 0x120], ymm5
cmp eax, 0xcb6c1d22
jae 0x140074da0
jmp 0x1400750c2
lea r8, [rsi + 0x160]
lea r12, [rsi + 0x1a0]
vmovaps ymm0, ymmword [rsi + 0x1a0]
vmovaps ymmword [rbx + 0x80], ymm0
sub rsp, 0x20
mov rcx, r13
mov rdx, r12
mov qword [rbx], r8
vzeroupper
call fcn.140071550
add rsp, 0x20
vmovaps ymm0, ymmword [r13]
vmovaps ymmword [rbx + 0x60], ymm0
vandps ymm0, ymm0, ymmword [0x1401089a0]
vmovaps ymmword [rbx + 0x40], ymm0
mov eax, dword [0x141f382f0]
and eax, dword [0x141f382f4]
vmovaps ymm0, ymmword [r13 + 0x20]
vmovaps ymmword [rbx + 0x20], ymm0
imul eax, eax, 0x148742df
or eax, 0x77fef7df
cmp eax, 0x316b99ae
je 0x140074eaa
mov r13d, dword [0x141f382f8]
or r13d, dword [0x141f382fc]
or r13d, 0x97100034
and r13d, 0xd718007e
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
mov r8, r12
vzeroupper
call fcn.140071550
add rsp, 0x20
cmp r13d, 0x934c5208
jae 0x140074ec5
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
mov r8, r12
vzeroupper
call fcn.140071550
add rsp, 0x20
jmp 0x140074e6c
vmovdqa ymm0, ymmword [0x1401089c0]
vmovdqa ymm1, ymmword [rbx + 0x60]
vpsrlvq ymm1, ymm1, ymm0
vpermq ymm1, ymm1, 0x93
vpaddq ymm1, ymm1, ymmword [rbx + 0x40]
vpsrlq ymm2, ymm1, 0x1a
vpermq ymm2, ymm2, 0x93
vpaddq ymm2, ymm2, ymmword [rbx + 0x20]
vpand ymm1, ymm1, ymmword [0x1401089e0]
vpsrlvq ymm3, ymm2, ymmword [0x140108a00]
vpsllq ymm4, ymm3, 2
vpaddq ymm1, ymm1, ymm3
vpaddq ymm1, ymm1, ymm4
mov eax, 0x3ffffff
vpand ymm3, ymm1, ymmword [0x1401089a0]
vmovq xmm4, rax
vpsrlvq ymm1, ymm1, ymm0
vpermq ymm1, ymm1, 0x93
vpaddq ymm1, ymm3, ymm1
vpsrlq ymm3, ymm1, 0x1a
vpermq ymm3, ymm3, 0xff
vpand ymm1, ymm1, ymmword [0x140108ca0]
vpand xmm2, xmm2, xmm4
vpaddq xmm2, xmm3, xmm2
vpbroadcastd ymm2, xmm2
vshufps ymm1, ymm1, ymm2, 0xc8
vmovdqa ymm2, ymmword [r15]
vmovdqa ymm3, ymmword [0x1401089a0]
vpand ymm4, ymm2, ymm3
vpsrlvq ymm2, ymm2, ymm0
vpermq ymm2, ymm2, 0x93
vpaddq ymm2, ymm2, ymm4
vpsrlq ymm4, ymm2, 0x1a
vpermq ymm4, ymm4, 0x93
vpaddq ymm4, ymm4, ymmword [r15 + 0x20]
vpand ymm2, ymm2, ymmword [0x1401089e0]
vpermpd ymm1, ymm1, 0xf8
vpsrlvq ymm5, ymm4, ymmword [0x140108a00]
vpsllq ymm6, ymm5, 2
vpaddq ymm2, ymm2, ymm5
vpaddq ymm2, ymm2, ymm6
vpand ymm3, ymm2, ymm3
vpsrlvq ymm0, ymm2, ymm0
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm3, ymm0
vpsrlq ymm2, ymm0, 0x1a
vpermq ymm2, ymm2, 0xff
vpand xmm3, xmm4, xmmword [0x140108a20]
vpaddq xmm2, xmm2, xmm3
vpbroadcastd ymm2, xmm2
vpshufd ymm0, ymm0, 0x28
vpand ymm0, ymm0, ymmword [0x140108a40]
vpermq ymm0, ymm0, 0xf8
vpblendd ymm0, ymm0, ymm2, 0x90
vbroadcastf128 ymm2, xmmword [0x140108cc0]
vmovaps ymm3, ymmword [rbx + 0x80]
vpermps ymm2, ymm2, ymm3
vblendps ymm1, ymm1, ymm2, 0xe0
vbroadcastf128 ymm2, xmmword [0x140108cd0]
vpermps ymm2, ymm2, ymm3
vpblendd ymm2, ymm0, ymm2, 0xe0
vpslld ymm3, ymm0, 2
vpaddd ymm3, ymm0, ymm3
vmovdqa ymm4, ymmword [0x140108ce0]
vpermd ymm3, ymm4, ymm3
vpblendd ymm0, ymm0, ymm3, 0xe0
vpbroadcastq ymm3, xmm3
vmovaps ymm4, ymmword [rdi]
vmovaps ymm5, ymmword [rdi + 0x20]
vmovaps ymm6, ymmword [rdi + 0x40]
vmovaps ymmword [rsi + 0x120], ymm6
vmovaps ymmword [rsi + 0x100], ymm5
vmovaps ymmword [rsi + 0xe0], ymm4
mov rax, qword [rbx]
vmovups ymm4, ymmword [rax]
vmovups ymm5, ymmword [rax + 0x20]
vmovups ymmword [r14 + 0x3f], ymm5
vmovups ymmword [r14 + 0x1f], ymm4
mov byte [rsi], 1
vmovdqu ymm4, ymmword [r14]
vmovdqu ymm5, ymmword [r14 + 0x20]
vmovdqu ymm6, ymmword [r14 + 0x3f]
vmovdqu ymmword [rsi + 1], ymm4
vmovdqu ymmword [rsi + 0x21], ymm5
vmovdqu ymmword [rsi + 0x40], ymm6
vmovaps ymmword [rsi + 0x60], ymm1
vmovdqa ymmword [rsi + 0x80], ymm2
vmovdqa ymmword [rsi + 0xa0], ymm0
vmovdqa ymmword [rsi + 0xc0], ymm3
vmovaps xmm6, xmmword [rbp + 0x30]
vmovaps xmm7, xmmword [rbp + 0x40]
vmovaps xmm8, xmmword [rbp + 0x50]
vmovaps xmm9, xmmword [rbp + 0x60]
vmovaps xmm10, xmmword [rbp + 0x70]
vmovaps xmm11, xmmword [rbp + 0x80]
vmovaps xmm12, xmmword [rbp + 0x90]
vmovaps xmm13, xmmword [rbp + 0xa0]
vmovaps xmm14, xmmword [rbp + 0xb0]
vmovaps xmm15, xmmword [rbp + 0xc0]
lea rsp, [rbp + 0xd8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret