Function at 0x4ffea0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1e8
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
movdqu xmm1, xmmword [ecx]
pshufd xmm0, xmm1, 0x55
movd dword [esp + 0x118], xmm1
movd ecx, xmm1
movdqa xmm2, xmm1
movd esi, xmm0
movd dword [esp + 0x11c], xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
movd dword [esp + 0x120], xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
movd dword [esp + 0x124], xmm0
pxor xmm0, xmm0
punpcklbw xmm1, xmm0
punpckhbw xmm2, xmm0
mov ebx, edi
xor edi, esi
xor esi, ecx
movdqu xmmword [esp + 0xd0], xmm0
movdqu xmmword [esp + 0xc0], xmm0
movdqu xmmword [esp + 0xb0], xmm0
movdqu xmmword [esp + 0xa0], xmm0
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
xor ebx, edx
xor edx, ecx
mov dword [esp + 0x128], esi
pshufhw xmm4, xmm1, 0x1b
movdqa xmm1, xmmword [0x608f70]
pshufhw xmm2, xmm2, 0x1b
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], edi
xor edi, edx
packuswb xmm4, xmm2
mov dword [esp + 0x138], edi
movdqa xmm2, xmm4
psrlw xmm2, 4
pand xmm4, xmm1
pand xmm2, xmm1
psllw xmm4, 4
por xmm4, xmm2
movdqa xmm2, xmmword [str.3333333333333333UUUUUUUUUUUUUUUU]
movdqa xmm3, xmm4
psrlw xmm3, 2
pand xmm4, xmm2
pand xmm3, xmm2
psllw xmm4, 2
por xmm4, xmm3
movdqa xmm3, xmmword [0x608f90]
movdqa xmm5, xmm4
psrlw xmm5, 1
pand xmm4, xmm3
pand xmm5, xmm3
paddb xmm4, xmm4
por xmm4, xmm5
pshufd xmm5, xmm4, 0x55
movdqu xmmword [esp + 0x13c], xmm4
movd ecx, xmm4
movd edx, xmm5
pshufd xmm5, xmm4, 0xee
pshufd xmm4, xmm4, 0xff
movd edi, xmm4
movdqu xmm4, xmmword [eax]
movd esi, xmm5
mov ebx, edi
xor edi, edx
xor edx, ecx
xor ebx, esi
xor esi, ecx
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], edi
xor edi, esi
movdqa xmm5, xmm4
movdqa xmm7, xmm4
pshufd xmm6, xmm4, 0x55
movd dword [esp + 0x160], xmm4
movd eax, xmm4
mov dword [esp + 0x15c], edi
punpckhbw xmm7, xmm0
punpcklbw xmm5, xmm0
movd ecx, xmm6
movd dword [esp + 0x164], xmm6
pshuflw xmm7, xmm7, 0x1b
pshuflw xmm5, xmm5, 0x1b
pshufhw xmm7, xmm7, 0x1b
pshufhw xmm5, xmm5, 0x1b
packuswb xmm5, xmm7
movdqa xmm7, xmm5
pand xmm5, xmm1
psrlw xmm7, 4
psllw xmm5, 4
pand xmm7, xmm1
pshufd xmm1, xmm4, 0xee
pshufd xmm4, xmm4, 0xff
por xmm5, xmm7
movd esi, xmm4
movd dword [esp + 0x168], xmm1
movd edx, xmm1
movd dword [esp + 0x16c], xmm4
movdqa xmm7, xmm5
pand xmm5, xmm2
mov edi, esi
xor esi, ecx
xor ecx, eax
psrlw xmm7, 2
psllw xmm5, 2
xor edi, edx
mov dword [esp + 0x170], ecx
xor edx, eax
pand xmm7, xmm2
mov dword [esp + 0x174], edi
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], esi
xor esi, edx
por xmm5, xmm7
mov dword [esp + 0x180], esi
movdqa xmm2, xmm5
pand xmm5, xmm3
psrlw xmm2, 1
paddb xmm5, xmm5
pand xmm2, xmm3
por xmm5, xmm2
pshufd xmm1, xmm5, 0x55
movd eax, xmm5
movdqu xmmword [esp + 0x184], xmm5
movd ecx, xmm1
pshufd xmm1, xmm5, 0xff
movd edx, xmm1
pshufd xmm1, xmm5, 0xee
mov esi, edx
xor edx, ecx
xor ecx, eax
mov dword [esp + 0x194], ecx
movd ecx, xmm1
xor esi, ecx
xor ecx, eax
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], edx
xor edx, ecx
mov ecx, 0xffffffc0
mov dword [esp + 0x1a4], edx
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm0, xmmword [esp + ecx + 0x158]
movdqu xmm6, xmmword [esp + ecx + 0x1a0]
movdqa xmm3, xmm0
movdqa xmm5, xmm0
movdqa xmm0, xmmword [0x608fa0]
movdqa xmm2, xmm6
movdqa xmm7, xmm6
pand xmm7, xmmword [str.________________DDDDDDDDDDDDDDDD]
pand xmm2, xmm0
pand xmm3, xmm0
movdqa xmm0, xmm2
pshufd xmm4, xmm3, 0xf5
movdqu xmmword [esp + 0x40], xmm2
movdqu xmmword [esp + 0x70], xmm3
movdqu xmmword [esp + 0x108], xmm7
pmuludq xmm0, xmm3
movdqu xmmword [esp + 0x60], xmm4
pshufd xmm1, xmm0, 0xe8
pshufd xmm0, xmm2, 0xf5
movdqa xmm2, xmm5
movdqu xmmword [esp + 0x90], xmm0
pmuludq xmm0, xmm4
movdqa xmm4, xmm6
pshufd xmm0, xmm0, 0xe8
punpckldq xmm1, xmm0
movdqa xmm0, xmmword [str.________________DDDDDDDDDDDDDDDD]
pand xmm2, xmm0
movdqa xmm0, xmmword [0x608fd0]
movdqu xmmword [esp + 0x20], xmm2
pand xmm6, xmm0
movdqa xmm0, xmm6
movdqu xmmword [esp + 0xe8], xmm6
pmuludq xmm0, xmm2
pshufd xmm3, xmm0, 0xe8
pshufd xmm0, xmm6, 0xf5
pshufd xmm6, xmm2, 0xf5
movdqu xmmword [esp + 0x80], xmm0
pmuludq xmm0, xmm6
movdqu xmmword [esp + 0x1a8], xmm6
pshufd xmm2, xmm0, 0xe8
punpckldq xmm3, xmm2
movdqa xmm2, xmm5
pand xmm5, xmmword [0x608fd0]
pxor xmm3, xmm1
movdqa xmm1, xmmword [0x608fc0]
movdqu xmmword [esp + 0x30], xmm5
pand xmm4, xmm1
pand xmm2, xmm1
movdqa xmm1, xmm4
pshufd xmm0, xmm4, 0xf5
pshufd xmm6, xmm2, 0xf5
movdqu xmmword [esp + 0x10], xmm2
movdqu xmmword [esp + 0x1b8], xmm4
pshufd xmm4, xmm5, 0xf5
pmuludq xmm1, xmm2
movdqa xmm2, xmm0
movdqu xmmword [esp + 0x1c8], xmm0
pshufd xmm0, xmm7, 0xf5
movdqu xmmword [esp + 0x50], xmm6
movdqu xmmword [esp], xmm4
pmuludq xmm2, xmm6
pshufd xmm1, xmm1, 0xe8
movdqu xmmword [esp + 0xf8], xmm0
pshufd xmm2, xmm2, 0xe8
punpckldq xmm1, xmm2
movdqa xmm2, xmm7
pmuludq xmm2, xmm5
movdqa xmm5, xmm0
movdqu xmm5, xmmword [esp + 0x1a8]
pshufd xmm6, xmm2, 0xe8
movdqa xmm2, xmm0
pmuludq xmm2, xmm4
movdqu xmm4, xmmword [esp + 0x30]
pshufd xmm2, xmm2, 0xe8
punpckldq xmm6, xmm2
movdqu xmm2, xmmword [esp + 0x60]
pxor xmm6, xmm1
movdqu xmm1, xmmword [esp + 0x70]
pxor xmm6, xmm3
movdqu xmmword [esp + 0x1d8], xmm6
movdqu xmm6, xmmword [esp + 0x50]
pmuludq xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x20]
pmuludq xmm7, xmm1
pshufd xmm0, xmm0, 0xe8
pshufd xmm1, xmm7, 0xe8
punpckldq xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x40]
pmuludq xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x90]
pshufd xmm0, xmm0, 0xe8
pmuludq xmm2, xmm5
pshufd xmm2, xmm2, 0xe8
punpckldq xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x10]
pxor xmm0, xmm1
movdqu xmm1, xmmword [esp + 0xe8]
pmuludq xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x80]
pshufd xmm3, xmm1, 0xe8
movdqu xmm1, xmmword [esp + 0x1b8]
pmuludq xmm2, xmm6
pshufd xmm2, xmm2, 0xe8
punpckldq xmm3, xmm2
movdqa xmm2, xmm1
pmuludq xmm2, xmm4
movdqu xmm4, xmmword [esp]
pshufd xmm7, xmm2, 0xe8
movdqu xmm2, xmmword [esp + 0x1c8]
movdqa xmm6, xmm2
pmuludq xmm6, xmm4
movdqu xmm4, xmmword [esp + 0x30]
pshufd xmm6, xmm6, 0xe8
punpckldq xmm7, xmm6
movdqu xmm6, xmmword [esp + 0x20]
pxor xmm7, xmm3
movdqu xmm3, xmmword [esp + 0x80]
pxor xmm7, xmm0
movdqa xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x70]
pand xmm7, xmmword [str.________________DDDDDDDDDDDDDDDD]
pmuludq xmm0, xmm1
movdqa xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x60]
pshufd xmm0, xmm0, 0xe8
pmuludq xmm1, xmm2
movdqu xmm2, xmmword [esp + 0xe8]
pshufd xmm1, xmm1, 0xe8
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x108]
pmuludq xmm1, xmm6
movdqu xmm6, xmmword [esp + 0xf8]
pshufd xmm1, xmm1, 0xe8
pmuludq xmm6, xmm5
movdqu xmm5, xmmword [esp + 0x10]
pshufd xmm6, xmm6, 0xe8
punpckldq xmm1, xmm6
pxor xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x40]
pmuludq xmm0, xmm5
movdqu xmm5, xmmword [esp + 0x50]
pshufd xmm6, xmm0, 0xe8
movdqu xmm0, xmmword [esp + 0x90]
pmuludq xmm0, xmm5
movdqa xmm5, xmm3
pshufd xmm0, xmm0, 0xe8
punpckldq xmm6, xmm0
movdqa xmm0, xmm2
pmuludq xmm0, xmm4
movdqu xmm4, xmmword [esp]
pshufd xmm0, xmm0, 0xe8
pmuludq xmm5, xmm4
movdqa xmm4, xmm2
movdqu xmm2, xmmword [esp + 0x60]
pshufd xmm5, xmm5, 0xe8
punpckldq xmm0, xmm5
pxor xmm0, xmm6
movdqu xmm6, xmmword [esp + 0xf8]
pxor xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x70]
pand xmm0, xmmword [0x608fc0]
pmuludq xmm4, xmm1
movdqa xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x1b8]
pmuludq xmm1, xmm2
pshufd xmm5, xmm4, 0xe8
movdqu xmm4, xmmword [esp + 0x1c8]
movdqu xmm2, xmmword [esp]
pshufd xmm1, xmm1, 0xe8
punpckldq xmm5, xmm1
movdqu xmm1, xmmword [esp + 0x20]
pmuludq xmm3, xmm1
movdqu xmm1, xmmword [esp + 0x1a8]
pmuludq xmm4, xmm1
pshufd xmm1, xmm3, 0xe8
pshufd xmm3, xmm4, 0xe8
movdqu xmm4, xmmword [esp + 0x10]
punpckldq xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x108]
pxor xmm1, xmm5
pmuludq xmm3, xmm4
movdqu xmm4, xmmword [esp + 0x50]
pshufd xmm5, xmm3, 0xe8
pmuludq xmm6, xmm4
movdqu xmm4, xmmword [esp + 0x30]
pshufd xmm3, xmm6, 0xe8
movdqu xmm6, xmmword [esp + 0x90]
punpckldq xmm5, xmm3
movdqu xmm3, xmmword [esp + 0x40]
pmuludq xmm6, xmm2
movdqu xmm2, xmmword [esp + 0x1d8]
pmuludq xmm3, xmm4
pshufd xmm6, xmm6, 0xe8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm3, xmm6
pxor xmm3, xmm5
pand xmm2, xmmword [0x608fa0]
pxor xmm3, xmm1
pand xmm3, xmmword [0x608fd0]
por xmm7, xmm2
por xmm3, xmm0
por xmm3, xmm7
movdqu xmmword [esp + ecx + 0xe0], xmm3
add ecx, 0x10
jne 0x5001a0
mov ecx, dword [esp + 0x158]
mov eax, ecx
and eax, 0x11111111
mov edi, eax
mov dword [esp + 0x40], eax
mov eax, ecx
and eax, 0x22222222
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1a0]
mov esi, eax
mov edx, eax
mov ebp, eax
and eax, 0x88888888
and esi, 0x11111111
mov ebx, eax
and edx, 0x44444444
mov dword [esp + 0x50], esi
imul esi, edi
mov edi, ecx
and ecx, 0x88888888
imul ebx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, ebp
and edi, 0x44444444
and ecx, 0x22222222
mov dword [esp], edi
mov ebp, ecx
mov dword [esp + 0x30], ecx
imul ebp, dword [esp + 0x20]
xor ebx, esi
mov esi, edx
imul esi, edi
mov edi, dword [esp + 0x40]
xor ebp, esi
mov esi, ecx
mov ecx, eax
xor ebp, ebx
mov ebx, dword [esp + 0x50]
imul esi, edi
imul ecx, dword [esp]
and ebp, 0x11111111
imul ebx, dword [esp + 0x10]
xor ebx, esi
mov esi, edx
imul esi, dword [esp + 0x20]
xor esi, ecx
mov ecx, edx
imul edx, dword [esp + 0x10]
imul ecx, edi
mov edi, dword [esp + 0x30]
xor esi, ebx
mov ebx, eax
imul eax, dword [esp + 0x40]
imul ebx, dword [esp + 0x20]
and esi, 0x22222222
or esi, ebp
imul edi, dword [esp + 0x10]
xor edx, eax
mov eax, dword [esp + 0x50]
xor edi, ecx
mov ecx, dword [esp + 0x50]
imul eax, dword [esp + 0x20]
imul ecx, dword [esp]
xor ebx, ecx
mov ecx, dword [esp + 0x30]
xor ebx, edi
mov edi, dword [esp + 0x1a4]
and ebx, 0x44444444
or ebx, esi
imul ecx, dword [esp]
mov esi, edi
and esi, 0x44444444
xor eax, ecx
mov ecx, dword [esp + 0x15c]
xor eax, edx
and eax, 0x88888888
or eax, ebx
mov ebx, edi
mov dword [esp + 0x50], eax
mov eax, ecx
mov edx, ecx
and ebx, 0x22222222
and eax, 0x22222222
and edx, 0x11111111
mov ebp, eax
mov eax, edi
and edi, 0x88888888
mov dword [esp + 0x60], edx
and eax, 0x11111111
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], ebp
imul edi, ebp
mov dword [esp + 0x20], eax
imul eax, edx
mov edx, ebp
mov ebp, ecx
and ecx, 0x88888888
xor edi, eax
and ebp, 0x44444444
mov eax, esi
mov dword [esp + 0x10], ecx
mov dword [esp], ebp
imul eax, ebp
mov ebp, ebx
imul ebp, ecx
mov ecx, dword [esp + 0x60]
xor ebp, eax
mov eax, dword [esp + 0x20]
xor ebp, edi
mov edi, ebx
and ebp, 0x11111111
imul edi, ecx
imul eax, edx
mov edx, dword [esp + 0x30]
xor eax, edi
mov edi, esi
imul edi, dword [esp + 0x10]
imul edx, dword [esp]
xor edi, edx
mov edx, ebx
imul ebx, dword [esp]
imul edx, dword [esp + 0x40]
xor edi, eax
mov eax, esi
imul esi, dword [esp + 0x40]
imul eax, ecx
mov ecx, dword [esp + 0x20]
and edi, 0x22222222
or edi, ebp
xor edx, eax
mov eax, dword [esp + 0x30]
imul ecx, dword [esp]
imul eax, dword [esp + 0x10]
xor eax, ecx
mov ecx, dword [esp + 0x30]
xor eax, edx
mov edx, dword [esp + 0x20]
and eax, 0x44444444
or eax, edi
imul ecx, dword [esp + 0x60]
imul edx, dword [esp + 0x10]
xor esi, ecx
mov ecx, dword [esp + 0x50]
xor edx, ebx
xor edx, esi
and edx, 0x88888888
or edx, eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xc8]
xor ecx, ebp
mov ebx, ebp
xor ebp, eax
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xc4]
xor ebp, edx
mov dword [esp], ecx
xor edx, eax
bswap eax
mov esi, eax
shr eax, 4
mov dword [esp + 0x30], edx
and esi, 0xf0f0f0f
and eax, 0xf0f0f0f
shl esi, 4
or eax, esi
mov esi, eax
shr eax, 2
and esi, 0x33333333
and eax, 0x33333333
lea eax, [eax + esi*4]
mov esi, eax
shr eax, 1
and esi, 0x55555555
and eax, 0x55555554
lea eax, [eax + esi*2]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x10], eax
xor esi, edx
mov edx, dword [esp + 0xa0]
mov eax, esi
bswap eax
mov edi, eax
shr eax, 4
and edi, 0xf0f0f0f
and eax, 0xf0f0f0f
mov dword [esp + 0xf8], edx
shl edi, 4
or eax, edi
mov edi, eax
shr eax, 2
and edi, 0x33333333
and eax, 0x33333333
lea eax, [eax + edi*4]
mov edi, eax
shr eax, 1
and edi, 0x55555555
and eax, 0x55555554
lea ecx, [eax + edi*2]
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xb0]
shr ecx, 1
mov dword [esp + 0x70], eax
xor eax, edx
mov edx, dword [esp + 0xa8]
xor edi, eax
mov dword [esp + 0x40], edx
xor eax, edx
mov edx, dword [esp + 0xb8]
xor eax, edx
mov dword [esp + 0x60], edx
xor eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xdc]
shr ecx, 1
xor ebx, eax
mov dword [esp + 0x80], eax
xor ecx, edi
xor edi, dword [esp + 0x60]
xor ebx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xb4]
xor esi, dword [esp + 0x80]
bswap ebx
xor ecx, dword [esp + 0x40]
xor esi, dword [esp + 0x20]
mov eax, ebx
shr ebx, 4
and eax, 0xf0f0f0f
and ebx, 0xf0f0f0f
shl eax, 4
or ebx, eax
mov eax, ebx
shr ebx, 2
and eax, 0x33333333
and ebx, 0x33333333
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0xe8]
mov edx, eax
shr eax, 1
and edx, 0x55555555
and eax, 0x55555554
lea eax, [eax + edx*2]
mov edx, dword [esp + 0xac]
shr eax, 1
xor eax, dword [esp + 0xc0]
xor ecx, edx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x60], ecx
xor edi, edx
mov dword [esp + 0x108], edx
xor edi, ecx
mov ecx, dword [esp]
xor edi, eax
mov eax, dword [esp + 0x50]
xor ecx, ebx
xor ebp, eax
xor eax, ecx
mov dword [esp], ecx
xor eax, esi
bswap ebp
mov esi, dword [esp + 0xf8]
bswap eax
mov edx, eax
shr eax, 4
and edx, 0xf0f0f0f
and eax, 0xf0f0f0f
shl edx, 4
or eax, edx
mov edx, eax
shr eax, 2
and edx, 0x33333333
and eax, 0x33333333
lea eax, [eax + edx*4]
mov edx, eax
shr eax, 1
and edx, 0x55555555
and eax, 0x55555554
lea eax, [eax + edx*2]
mov edx, esi
mov dword [esp + 0x80], eax
mov eax, ebp
shr ebp, 4
shr edx, 2
and eax, 0xf0f0f0f
and ebp, 0xf0f0f0f
shl eax, 4
or ebp, eax
mov eax, ebp
shr ebp, 2
and eax, 0x33333333
and ebp, 0x33333333
lea eax, [ebp + eax*4]
mov ecx, eax
shr eax, 1
and ecx, 0x55555555
and eax, 0x55555554
lea eax, [eax + ecx*2]
mov ecx, dword [esp]
mov dword [esp + 0x20], eax
bswap ecx
mov eax, ecx
shr ecx, 4
and eax, 0xf0f0f0f
and ecx, 0xf0f0f0f
shl eax, 4
or ecx, eax
mov eax, ecx
shr ecx, 2
and eax, 0x33333333
and ecx, 0x33333333
lea eax, [ecx + eax*4]
mov ecx, eax
shr eax, 1
and ecx, 0x55555555
and eax, 0x55555554
lea eax, [eax + ecx*2]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
bswap ecx
mov dword [esp + 0x50], eax
mov eax, ecx
shr ecx, 4
and eax, 0xf0f0f0f
and ecx, 0xf0f0f0f
shl eax, 4
mov ebp, ebx
or ecx, eax
shl ebp, 0x19
mov eax, ecx
shr ecx, 2
and eax, 0x33333333
and ecx, 0x33333333
lea eax, [ecx + eax*4]
mov ecx, eax
shr eax, 1
and ecx, 0x55555555
and eax, 0x55555554
lea eax, [eax + ecx*2]
mov ecx, esi
mov dword [esp], eax
mov eax, esi
shl ecx, 0x1e
shr eax, 1
xor edx, eax
mov eax, esi
shr eax, 7
xor edx, eax
mov eax, esi
shl eax, 0x1f
xor ecx, eax
mov eax, ebx
shl eax, 0x1e
xor eax, edx
mov edx, ebx
shl edx, 0x1f
xor ebp, edx
mov edx, dword [esp + 0x90]
xor ebp, eax
mov eax, ebx
xor ebp, esi
shl esi, 0x19
shr eax, 1
xor ebp, dword [esp + 0x70]
xor esi, ecx
mov ecx, ebx
mov dword [esp + 0x70], edi
shr ecx, 2
xor esi, edi
xor ecx, eax
mov eax, ebx
mov ebx, edx
shr eax, 7
shr ebx, 2
xor ebp, dword [esp + 0x40]
xor ecx, eax
mov eax, dword [esp + 0x80]
xor ebp, dword [esp + 0x30]
shr eax, 1
xor ebp, dword [esp + 0x108]
xor ebp, eax
mov eax, edx
shr eax, 7
xor ebx, eax
mov eax, edx
mov dword [esp + 0x40], ebx
mov ebx, edx
mov edx, edi
shl edi, 0x19
xor dword [esp + 0x50], eax
xor edi, dword [esp + 0x30]
shl ebx, 0x1e
shl edx, 0x1e
xor ebx, ecx
mov ecx, eax
shl ecx, 0x1f
xor edi, eax
shl eax, 0x19
xor eax, ecx
mov ecx, dword [esp + 0x20]
xor eax, ebx
shr ecx, 1
xor eax, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x60]
xor ecx, eax
mov eax, esi
mov ebx, ecx
mov ecx, esi
shr eax, 7
shr ecx, 2
xor ecx, eax
mov eax, dword [esp]
xor eax, esi
shr eax, 1
xor eax, ecx
xor eax, esi
mov ecx, eax
mov eax, dword [esp + 0x70]
shl eax, 0x1f
xor edx, eax
mov eax, dword [esp + 0x50]
shr eax, 1
xor eax, dword [esp + 0x40]
xor eax, edx
xor edi, eax
mov eax, dword [esp + 0x1fc]
mov dword [eax], ebp
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
add esp, 0x1e8
pop esi
pop edi
pop ebx
pop ebp
ret