Function at 0x771c20
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x758
mov eax, dword [0x94bd40]
xor eax, esp
mov dword [esp + 0x754], eax
mov eax, dword [esp + 0x75c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x770]
push edi
mov edi, dword [esp + 0x778]
push 0xa0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x108]
push 0
push eax
call fcn.007bdf30
push 0x5a0
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.007bdf30
movups xmm0, xmmword [esi]
add esp, 0x18
lea ecx, [esp + 0x184]
mov ebx, 2
movups xmmword [esp + 0x164], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x174], xmm0
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x184], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esp + 0x194], xmm0
movups xmm0, xmmword [0x93fcf8]
movups xmmword [esp + 0x1a4], xmm0
movups xmm0, xmmword [0x93fd08]
movups xmmword [esp + 0x1b4], xmm0
lea edx, [ecx + 0x80]
lea esi, [ecx + 0x60]
lea edi, [ecx + 0x40]
test bl, 1
je 0x771d15
lea eax, [ecx + 0x20]
push eax
push ecx
lea eax, [ecx - 0x20]
push eax
push 0
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x198]
push eax
lea eax, [esp + 0x17c]
push eax
push edx
push esi
push edi
call fcn.0076fe40
add esp, 0x28
jmp 0x771d48
mov eax, ebx
shr eax, 1
lea ecx, [eax + eax*2]
shl ecx, 5
lea eax, [esp + 0x144]
add eax, ecx
push eax
lea eax, [esp + 0x128]
add eax, ecx
push eax
lea eax, [esp + 0x10c]
add eax, ecx
push eax
push edx
push esi
push edi
call fcn.00770330
add esp, 0x18
inc ebx
mov ecx, esi
cmp ebx, 0x10
jbe 0x771cd4
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
mov ecx, 1
movq qword [esp + 0x58], xmm0
mov edi, 0x102
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x64], 0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x80], 0
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x88], xmm0
mov dword [esp + 0xa0], 0
movq qword [esp + 0x98], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
test ecx, ecx
jne 0x771df5
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00770330
add esp, 0x18
lea esi, [edi - 3]
mov eax, 0xcccccccd
mul esi
mov ecx, esi
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
jne 0x772018
mov ebx, dword [esp + 0x770]
lea ecx, [edi + 1]
cmp ecx, 0xff
ja 0x771e33
mov eax, ecx
and ecx, 0x1f
sar eax, 5
mov eax, dword [ebx + eax*4]
shr eax, cl
and eax, 1
jmp 0x771e35
xor eax, eax
shl eax, 5
cmp edi, 0xff
ja 0x771e54
mov edx, edi
mov ecx, edi
sar edx, 5
and ecx, 0x1f
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x771e56
xor edx, edx
shl edx, 4
lea ecx, [edi - 1]
or eax, edx
cmp ecx, 0xff
ja 0x771e79
lea edx, [edi - 1]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x771e7b
xor edx, edx
lea ecx, [edx*8]
or eax, ecx
lea ecx, [edi - 2]
cmp ecx, 0xff
ja 0x771ea2
lea edx, [edi - 2]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x771ea4
xor edx, edx
shl edx, 2
or eax, edx
cmp esi, 0xff
ja 0x771ec6
lea edx, [edi - 3]
and esi, 0x1f
sar edx, 5
mov ecx, esi
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x771ec8
xor edx, edx
lea ecx, [edx + edx]
or eax, ecx
lea ecx, [edi - 4]
cmp ecx, 0xff
ja 0x771eeb
lea edx, [edi - 4]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x771eed
xor edx, edx
or eax, edx
mov edx, 0x3f
mov ecx, eax
sub edx, eax
shr ecx, 5
dec ecx
mov ebx, ecx
and ecx, eax
not ebx
and edx, ebx
and ebx, 1
or edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, edx
and edx, 1
shr eax, 1
add eax, edx
push 0x60
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xa8]
push 0
push eax
call fcn.007bdf30
mov edi, dword [esp + 0x24]
lea ebx, [esp + 0x130]
add esp, 0xc
xor ebp, ebp
nop dword [eax + eax]
lea eax, [esp + 0xa4]
mov esi, ebp
push eax
lea eax, [ebx - 0x20]
xor esi, edi
push eax
lea eax, [esp + 0xac]
push esi
push eax
call fcn.0076e790
lea eax, [esp + 0xd4]
push eax
push ebx
push esi
push eax
call fcn.0076e790
lea eax, [esp + 0x104]
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [esp + 0x10c]
push esi
push eax
call fcn.0076e790
inc ebp
add esp, 0x30
add ebx, 0x60
cmp ebp, 0x11
jb 0x771f40
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0076fd00
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x2c]
push eax
call fcn.0076e790
mov edi, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x10], 0
jne 0x772084
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xac]
push eax
push 0
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.0076fe40
add esp, 0x28
mov ecx, dword [esp + 0x10]
dec edi
mov dword [esp + 0x14], edi
lea eax, [edi - 3]
cmp eax, 0x100
jb 0x771dc5
mov eax, dword [esp + 0x20]
movups xmm0, xmmword [esp + 0x44]
mov ecx, dword [esp + 0x764]
pop edi
movups xmmword [eax], xmm0
pop esi
movups xmm0, xmmword [esp + 0x4c]
pop ebp
pop ebx
movups xmmword [eax + 0x10], xmm0
xor ecx, esp
movups xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [esp + 0x64]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [esp + 0x74]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [esp + 0x84]
movups xmmword [eax + 0x50], xmm0
call fcn.007bcf1e
add esp, 0x758
ret
movups xmm0, xmmword [esp + 0xa4]
xor ecx, ecx
mov dword [esp + 0x10], ecx
movups xmmword [esp + 0x44], xmm0
movups xmm0, xmmword [esp + 0xb4]
movups xmmword [esp + 0x54], xmm0
movups xmm0, xmmword [esp + 0xc4]
movups xmmword [esp + 0x64], xmm0
movups xmm0, xmmword [esp + 0xd4]
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [esp + 0xe4]
movups xmmword [esp + 0x84], xmm0
movups xmm0, xmmword [esp + 0xf4]
movups xmmword [esp + 0x94], xmm0
jmp 0x77201c