Function at 0x10002f30
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x168
cmp edx, 0x18
ja 0x10003928
mov eax, 0x18
sub eax, edx
shl eax, 3
cmp eax, 0xc0
je 0x1000391d
mov eax, dword [ecx + 0x14]
movups xmm0, xmmword [ecx + 0x28]
movss xmm1, dword [ecx + 0x48]
movss xmm2, dword [ecx + 0x4c]
movups xmm6, xmmword [ecx + 0x18]
movq xmm5, qword [ecx + 0xc0]
movups xmm3, xmmword [ecx + 0x60]
movdqu xmm7, xmmword [ecx]
movups xmm4, xmmword [ecx + 0xb0]
shl edx, 3
mov dword [esp + 0x30], ecx
neg edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x10]
movups xmmword [esp + 0x58], xmm0
movups xmm0, xmmword [ecx + 0x50]
movlhps xmm2, xmm1
movdqu xmm1, xmmword [ecx + 0x98]
movups xmmword [esp + 0x10], xmm3
shufps xmm6, xmm2, 0x24
movups xmm2, xmmword [ecx + 0x38]
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 0x24]
movups xmmword [esp + 0x78], xmm0
movups xmm0, xmmword [ecx + 0x78]
punpcklqdq xmm5, xmm1
movups xmmword [esp + 0x48], xmm2
movdqu xmm2, xmmword [ecx + 0x88]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x20]
movups xmmword [esp + 0x38], xmm0
movdqu xmm0, xmmword [ecx + 0xa0]
movdqu xmmword [esp + 0x68], xmm2
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x88], eax
mov eax, 0xffffffff
movd xmm1, eax
mov eax, dword [ecx + 0x70]
pshufd xmm1, xmm1, 0x50
movdqu xmmword [esp + 0x128], xmm1
mov dword [esp], eax
nop word cs:[eax + eax]
nop dword [eax]
pshufd xmm1, xmm5, 0xee
movdqu xmmword [esp + 0xd8], xmm0
movdqu xmm2, xmmword [esp + 0x78]
movaps xmm3, xmm4
movdqu xmmword [esp + 0xc8], xmm5
mov ebx, dword [esp + 8]
movups xmmword [esp + 0xa8], xmm6
movups xmmword [esp + 0x138], xmm4
pxor xmm1, xmm5
movd eax, xmm1
pshufd xmm1, xmm1, 0x55
movd edi, xmm1
pshufd xmm1, xmm6, 0xee
movd ecx, xmm1
pshufd xmm1, xmm6, 0xff
movd edx, xmm1
movdqa xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x38]
xor ecx, dword [esp]
xor edx, dword [esp + 0x88]
pxor xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x58]
xor ecx, eax
xor edx, dword [esp + 4]
xor ecx, ebx
pxor xmm2, xmm1
movss xmm1, dword [esp + 0x20]
pxor xmm2, xmm0
movss xmm0, dword [esp + 0x98]
xor edx, edi
pxor xmm2, xmm7
movlhps xmm1, xmm0
movaps xmm0, xmm1
movups xmmword [esp + 0x20], xmm1
movups xmm1, xmmword [esp + 0x68]
shufps xmm0, xmm6, 0x42
xorps xmm3, xmm1
movups xmm1, xmmword [esp + 0x10]
xorps xmm3, xmm1
movaps xmm5, xmm1
movups xmm1, xmmword [esp + 0x48]
xorps xmm3, xmm1
movd xmm1, ecx
xorps xmm3, xmm0
pshufd xmm0, xmm2, 0xee
movd ebp, xmm0
pshufd xmm0, xmm2, 0xff
movd dword [esp + 0x118], xmm0
movd xmm0, edx
punpckldq xmm1, xmm0
mov edx, dword [esp + 0x118]
movdqu xmmword [esp + 0x108], xmm1
movdqa xmm1, xmm0
movd xmm0, ecx
punpcklqdq xmm1, xmm0
shufps xmm1, xmm2, 0x42
movaps xmm0, xmm1
paddq xmm1, xmm1
mov ecx, edx
psrlq xmm0, 0x3f
shld ecx, ebp, 1
shld ebp, edx, 1
por xmm1, xmm0
pxor xmm1, xmm3
movdqa xmm6, xmm1
movdqu xmmword [esp + 0xb8], xmm1
movdqa xmm1, xmm3
psrlq xmm3, 0x3f
paddq xmm1, xmm1
por xmm1, xmm3
pxor xmm1, xmm2
movdqa xmm2, xmm6
movups xmm6, xmmword [esp + 0x58]
pshufd xmm0, xmm1, 0xee
pxor xmm0, xmm4
movdqa xmm4, xmm1
movd edi, xmm0
pshufd xmm0, xmm0, 0x55
movdqu xmmword [esp + 0x98], xmm4
shufps xmm2, xmm6, 0x4e
shufps xmm6, xmm5, 0x4e
movd esi, xmm0
xorps xmm6, xmm1
movups xmmword [esp + 0xf8], xmm2
movupd xmm2, xmmword [esp + 0x48]
movaps xmm0, xmm6
movaps xmm1, xmm6
psrlq xmm0, 0x14
psrlq xmm1, 0x15
movsd xmm1, xmm0
movaps xmm0, xmm6
psllq xmm6, 0x2b
psllq xmm0, 0x2c
movsd xmm6, xmm0
movdqa xmm0, xmm4
orpd xmm6, xmm1
movups xmm1, xmmword [esp + 0x20]
movapd xmm3, xmm6
shufpd xmm3, xmm7, 1
shufpd xmm7, xmm2, 1
shufps xmm1, xmm2, 0xe2
movdqa xmm2, xmm4
movups xmm4, xmmword [esp + 0xb8]
xorpd xmm7, xmm2
movapd xmm2, xmm7
psrlq xmm2, 0x3a
shufps xmm0, xmm4, 0x4e
xorps xmm1, xmm0
movups xmm0, xmmword [esp + 0xc8]
movups xmmword [esp + 0x20], xmm1
unpckhpd xmm5, xmm0
movups xmmword [esp + 0x10], xmm5
movdqu xmm5, xmmword [esp + 0x68]
pshufd xmm1, xmm5, 0xee
punpcklqdq xmm1, xmm0
movapd xmm0, xmm7
psrlq xmm0, 0x3f
pxor xmm1, xmm4
movsd xmm2, xmm0
movapd xmm0, xmm7
paddq xmm7, xmm7
psllq xmm0, 6
movdqu xmmword [esp + 0x158], xmm7
movdqu xmmword [esp + 0x148], xmm0
movsd xmm0, xmm7
movupd xmm7, xmmword [esp + 0x78]
orpd xmm0, xmm2
movaps xmm2, xmm4
movupd xmmword [esp + 0xc8], xmm0
movups xmm0, xmmword [esp + 0x38]
shufps xmm2, xmm0, 0x4e
movsd xmm0, xmm7
shufpd xmm7, xmm5, 1
movdqu xmm5, xmmword [esp + 0x10]
movupd xmmword [esp + 0x48], xmm0
movupd xmm0, xmmword [esp + 0x98]
movups xmmword [esp + 0x58], xmm2
xorpd xmm7, xmm0
movapd xmm0, xmm7
movapd xmm2, xmm7
psrlq xmm0, 0x36
psrlq xmm2, 0x31
movsd xmm2, xmm0
movapd xmm0, xmm7
psllq xmm7, 0xf
psllq xmm0, 0xa
movsd xmm7, xmm0
movdqa xmm0, xmm1
orpd xmm7, xmm2
psrlq xmm0, 0x2b
movupd xmmword [esp + 0x38], xmm7
movdqa xmm7, xmm4
movdqa xmm4, xmm1
psrlq xmm4, 0x32
pxor xmm5, xmm7
movsd xmm4, xmm0
movdqa xmm0, xmm1
psllq xmm1, 0xe
psllq xmm0, 0x15
shufpd xmm0, xmm1, 2
pshufd xmm1, xmm1, 0xff
orpd xmm0, xmm4
movdqa xmm4, xmm5
movapd xmm2, xmm0
movdqa xmm0, xmm5
psrlq xmm4, 0x38
psrlq xmm0, 0x27
movupd xmmword [esp + 0xe8], xmm2
movsd xmm4, xmm0
movdqa xmm0, xmm5
psllq xmm5, 8
psllq xmm0, 0x19
movsd xmm5, xmm0
orpd xmm5, xmm4
movupd xmmword [esp + 0x10], xmm5
movdqu xmm5, xmmword [esp + 0x20]
movdqa xmm0, xmm5
movdqa xmm4, xmm5
psrlq xmm0, 2
psrlq xmm4, 9
movsd xmm4, xmm0
movdqa xmm0, xmm5
psllq xmm5, 0x37
psllq xmm0, 0x3e
movsd xmm5, xmm0
orpd xmm5, xmm4
movupd xmmword [esp + 0x20], xmm5
movdqu xmm5, xmmword [esp + 0xa8]
pxor xmm5, xmm7
movdqa xmm0, xmm5
movdqa xmm4, xmm5
psrlq xmm0, 0x24
psrlq xmm4, 0x2c
movsd xmm4, xmm0
movdqa xmm0, xmm5
psllq xmm5, 0x14
psllq xmm0, 0x1c
movdqu xmmword [esp + 0xa8], xmm5
movsd xmm5, xmm0
movups xmmword [esp + 0x78], xmm0
pshufd xmm0, xmm2, 0xee
movd eax, xmm0
orpd xmm5, xmm4
movd xmm4, ecx
movd xmm0, ebp
mov ecx, edi
punpcklqdq xmm4, xmm0
pcmpeqd xmm0, xmm0
not eax
shld ecx, esi, 0x1d
shld esi, edi, 0x1d
pxor xmm1, xmm0
movd xmm0, eax
movd eax, xmm5
punpcklqdq xmm1, xmm0
movapd xmm0, xmm6
not eax
shufpd xmm0, xmm2, 1
shufps xmm1, xmm6, 0x42
andnpd xmm0, xmm2
movups xmmword [esp + 0x68], xmm1
movups xmm1, xmmword [esp + 0x108]
pcmpeqd xmm2, xmm2
mov dword [esp + 0x108], ecx
xorpd xmm0, xmm6
shufps xmm6, xmm4, 0x24
movupd xmmword [esp + 0x118], xmm0
movups xmm0, xmmword [esp + 0x128]
movlhps xmm0, xmm1
movdqu xmm1, xmmword [esp + 0xd8]
xorps xmm0, xmm6
movd xmm6, ebx
pshufd xmm4, xmm0, 0xee
pxor xmm4, xmm1
movss xmm1, dword [esp]
movd ebp, xmm4
pshufd xmm4, xmm4, 0x55
movd edx, xmm4
movd xmm4, dword [esp + 4]
punpcklqdq xmm4, xmm6
movss xmm6, dword [esp + 0x88]
shufps xmm4, xmm0, 0xe2
movlhps xmm6, xmm1
movapd xmm1, xmm3
xorpd xmm3, xmm0
andpd xmm1, xmm0
shufps xmm6, xmm0, 0xe2
movupd xmmword [esp + 0x88], xmm1
movdqu xmm1, xmmword [esp + 0x98]
pshufd xmm7, xmm1, 0x44
movdqu xmm1, xmmword [esp + 0x48]
punpckhqdq xmm0, xmm7
pxor xmm0, xmm1
movups xmm1, xmmword [esp + 0xf8]
movdqa xmm7, xmm0
psrlq xmm7, 0x3d
xorps xmm4, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x13
movsd xmm1, xmm7
movdqa xmm7, xmm0
psllq xmm0, 0x2d
psllq xmm7, 3
movsd xmm0, xmm7
movaps xmm7, xmm4
orpd xmm0, xmm1
movaps xmm1, xmm4
psrlq xmm7, 0x1c
psrlq xmm1, 0x25
movsd xmm7, xmm1
movaps xmm1, xmm4
psllq xmm4, 0x24
psllq xmm1, 0x1b
movsd xmm4, xmm1
movups xmm1, xmmword [esp + 0x58]
orpd xmm4, xmm7
xorps xmm6, xmm1
movaps xmm1, xmm6
movaps xmm7, xmm6
psrlq xmm1, 0x19
psrlq xmm7, 0x17
movsd xmm7, xmm1
movaps xmm1, xmm6
psllq xmm6, 0x29
psllq xmm1, 0x27
movsd xmm6, xmm1
pshufd xmm1, xmm3, 0xee
orpd xmm6, xmm7
pshufd xmm7, xmm3, 0xff
movd dword [esp + 4], xmm1
pxor xmm1, xmm2
movd dword [esp + 8], xmm7
pxor xmm7, xmm2
movd xmm2, ecx
punpcklqdq xmm7, xmm1
movups xmm1, xmmword [esp + 0x68]
shufps xmm3, xmm7, 0x2e
movapd xmm7, xmm0
andps xmm3, xmm1
movups xmm1, xmmword [esp + 0xe8]
mov dword [esp + 0xe8], esi
xorps xmm3, xmm1
movd xmm1, esi
mov esi, ebp
punpcklqdq xmm2, xmm1
shld esi, edx, 0x12
shld edx, ebp, 0x12
shufps xmm7, xmm2, 0x2e
mov dword [esp + 0xf8], esi
movaps xmm1, xmm7
shufps xmm1, xmm5, 0x4e
andnps xmm7, xmm1
movapd xmm1, xmm5
shufpd xmm1, xmm0, 1
xorps xmm7, xmm0
andnpd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x78]
movups xmmword [esp + 0x48], xmm7
movups xmm7, xmmword [esp + 0x10]
xorpd xmm1, xmm5
movupd xmmword [esp + 0x58], xmm1
movd xmm1, edx
movdqa xmm2, xmm1
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x34], xmm0
pshufd xmm0, xmm5, 0xee
movupd xmm5, xmmword [esp + 0x38]
movd ecx, xmm0
movdqu xmm0, xmmword [esp + 0xa8]
mov dword [esp + 0xa8], edx
and ecx, eax
mov eax, dword [esp + 0x34]
xor ecx, dword [esp + 0xe8]
pshufd xmm0, xmm0, 0xff
movd edi, xmm0
movd xmm0, esi
not eax
punpcklqdq xmm2, xmm0
movd xmm0, esi
and edi, eax
mov eax, dword [esp + 0xc]
punpcklqdq xmm1, xmm0
movups xmm0, xmmword [esp + 0xc8]
shufps xmm7, xmm2, 0x2e
movdqu xmm2, xmmword [esp + 0xd8]
xor edi, dword [esp + 0x108]
shufps xmm1, xmm0, 0x42
movdqu xmm0, xmmword [esp + 0x98]
andnps xmm7, xmm1
movdqu xmm1, xmmword [esp + 0xb8]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x138]
punpckhqdq xmm2, xmm1
pxor xmm2, xmm0
movdqa xmm0, xmm2
movdqa xmm1, xmm2
psrlq xmm0, 0x3e
psrlq xmm1, 8
movsd xmm1, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0x38
psllq xmm0, 2
movsd xmm2, xmm0
orpd xmm2, xmm1
pshufd xmm1, xmm4, 0xee
movapd xmm0, xmm2
unpckhpd xmm5, xmm2
movupd xmmword [esp + 0xd8], xmm2
movups xmm2, xmmword [esp + 0x10]
shufpd xmm0, xmm4, 1
andnpd xmm5, xmm0
movupd xmm0, xmmword [esp + 0x38]
xorps xmm7, xmm2
movups xmmword [esp + 0x10], xmm7
xorpd xmm5, xmm0
punpcklqdq xmm1, xmm0
movupd xmmword [esp + 0x68], xmm5
movdqu xmm5, xmmword [esp + 0xc8]
pandn xmm1, xmm0
pxor xmm1, xmm4
movdqu xmmword [esp + 0x38], xmm1
movdqu xmm1, xmmword [esp + 0x20]
movdqa xmm0, xmm5
movd edx, xmm5
shufps xmm0, xmm2, 0x4e
not edx
andnps xmm0, xmm2
movdqu xmm2, xmmword [esp + 0xd8]
movaps xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x158]
xorps xmm7, xmm5
movups xmmword [esp + 0x78], xmm7
movdqa xmm7, xmm2
pshufd xmm0, xmm0, 0x55
punpcklqdq xmm7, xmm1
movd dword [esp + 0xb8], xmm0
pshufd xmm0, xmm5, 0xee
movdqa xmm5, xmm1
movd dword [esp], xmm0
movdqu xmm0, xmmword [esp + 0x148]
punpcklqdq xmm5, xmm4
and dword [esp], edx
mov edx, dword [esp + 0xb8]
pshufd xmm0, xmm0, 0xff
not edx
movd esi, xmm0
pshufd xmm0, xmm1, 0xee
punpcklqdq xmm0, xmm6
and esi, edx
mov edx, dword [esp]
pandn xmm0, xmm6
xor esi, dword [esp + 0xa8]
pxor xmm0, xmm1
punpckhqdq xmm1, xmm4
pandn xmm5, xmm1
movdqa xmm1, xmm6
pxor xmm5, xmm2
pshufd xmm2, xmm2, 0x44
xor edx, dword [esp + 0xf8]
punpckhqdq xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x88]
mov dword [esp + 0x88], esi
pandn xmm1, xmm7
pxor xmm1, xmm6
movaps xmm6, xmm3
movdqa xmm4, xmm1
mov dword [esp], edx
pshufd xmm1, xmm2, 0x55
movd ebx, xmm2
movd xmm2, edi
movd ebp, xmm1
xor ebx, dword [eax + str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fkeccak_0.1.4_srclib.rsA_round_count_greater_than_KECCAK_F_ROUND_COUNT_is_not_supported_]
movd xmm1, ecx
xor ebp, dword [eax + 0x1002d4a4]
punpcklqdq xmm2, xmm1
shufps xmm6, xmm2, 0x24
movdqu xmm2, xmmword [esp + 0x118]
xor ebx, dword [esp + 4]
xor ebp, dword [esp + 8]
add eax, 8
mov dword [esp + 0xc], eax
movd xmm7, ebx
movd xmm1, ebp
punpckldq xmm7, xmm1
pshufd xmm1, xmm2, 0xff
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm2, 0xee
punpcklqdq xmm7, xmm2
movd dword [esp + 0x98], xmm1
pshufd xmm1, xmm3, 0xff
movd dword [esp + 4], xmm1
pshufd xmm1, xmm3, 0xee
movd dword [esp + 8], xmm1
jne 0x10003030
mov eax, dword [esp + 0x30]
movups xmm1, xmmword [esp + 0x58]
movups xmm7, xmmword [esp + 0x78]
movups xmm6, xmmword [esp + 0x38]
mov esi, dword [esp]
mov edx, dword [esp + 0x88]
movups xmmword [eax + 0x28], xmm1
movups xmmword [eax + 0x50], xmm7
movups xmmword [eax + 0x78], xmm6
movdqu xmmword [eax + 0xa0], xmm0
movups xmm0, xmmword [esp + 0x48]
movdqu xmmword [eax + 8], xmm2
movups xmmword [eax + 0x38], xmm0
movups xmm0, xmmword [esp + 0x10]
movups xmmword [eax + 0x60], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [eax + 0x88], xmm0
pshufd xmm0, xmm5, 0xee
movups xmmword [eax + 0xb0], xmm4
movups xmmword [eax + 0x18], xmm3
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], edi
mov dword [eax + 0x70], esi
mov dword [eax + 0x74], edx
movq qword [eax + 0x98], xmm0
movq qword [eax + 0xc0], xmm5
mov dword [eax], ebx
mov dword [eax + 4], ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1002d544
push 0x41
push 0x1002d501
call fcn.1002b8c0
int3