Function at 0x71f620
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
add ecx, 0xfc
mov dword [esp], ecx
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, edi
shr eax, 0x10
mov ebp, edx
shr ebp, 0x10
mov ecx, 0xfffffffb
nop dword [eax]
mov dword [esp + 8], ecx
movzx ecx, di
movzx edx, dx
mov esi, eax
shl esi, 0xb
shr eax, 5
mov ebx, ecx
not ebx
and ebx, edx
and edi, ebp
add edi, ebx
mov ebx, dword [esp]
add edi, dword [ebx]
or eax, esi
mov esi, eax
sub esi, edi
movzx eax, si
mov dword [esp + 4], esi
mov edi, ecx
shl edi, 0xd
shr ecx, 3
or ecx, edi
mov edi, ebp
not edi
and edi, esi
mov ebx, ebp
and ebx, edx
mov esi, dword [esp]
add ebx, dword [esi - 4]
add ebx, edi
mov edi, ecx
sub edi, ebx
mov ecx, ebp
shl ecx, 0xe
shr ebp, 2
or ebp, ecx
mov ecx, edx
not ecx
mov esi, dword [esp + 4]
and esi, edx
mov ebx, dword [esp]
add esi, dword [ebx - 8]
and ecx, edi
add esi, ecx
mov ebx, ebp
sub ebx, esi
mov ecx, edx
shl ecx, 0xf
shr edx, 1
or edx, ecx
mov ecx, eax
not ecx
and ecx, ebx
mov esi, edi
and esi, dword [esp + 4]
mov ebp, dword [esp]
add esi, dword [ebp - 0xc]
add esi, ecx
mov ecx, dword [esp + 8]
sub edx, esi
movzx ebp, bx
add dword [esp], 0xfffffff0
inc ecx
jne 0x71f650
mov eax, edi
and eax, 0x3f
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 4]
sub ebp, dword [esi + eax*4]
movzx eax, bp
mov dword [esp + 0xc], eax
mov ecx, ebx
and ecx, 0x3f
sub edi, dword [esi + ecx*4]
mov ecx, edx
and ecx, 0x3f
sub ebx, dword [esi + ecx*4]
and ebp, 0x3f
sub edx, dword [esi + ebp*4]
mov dword [esp + 4], 0
nop word cs:[eax + eax]
movzx ebp, di
movzx eax, bx
mov dword [esp + 8], eax
movzx edx, dx
mov ecx, dword [esp + 0xc]
mov esi, ecx
shl esi, 0xb
shr ecx, 5
or ecx, esi
mov esi, ebp
not esi
and esi, edx
and edi, eax
add edi, esi
mov esi, dword [esp + 4]
mov eax, dword [esp]
add edi, dword [eax + esi]
sub ecx, edi
movzx eax, cx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov edi, ebp
shl edi, 0xd
shr ebp, 3
or ebp, edi
mov eax, dword [esp + 8]
mov edi, eax
not edi
and edi, ecx
and ebx, edx
mov esi, dword [esp + 4]
mov ecx, dword [esp]
add ebx, dword [ecx + esi - 4]
add ebx, edi
mov edi, ebp
sub edi, ebx
mov ebx, eax
shl ebx, 0xe
shr eax, 2
or eax, ebx
mov dword [esp + 8], eax
mov ebx, edx
not ebx
and ebx, edi
mov eax, dword [esp + 0x10]
mov ebp, eax
and ebp, edx
mov esi, dword [esp + 4]
mov ecx, dword [esp]
add ebp, dword [ecx + esi - 8]
add ebp, ebx
mov ebx, dword [esp + 8]
sub ebx, ebp
mov ecx, edx
shl ecx, 0xf
shr edx, 1
or edx, ecx
mov ecx, dword [esp + 0xc]
not ecx
and ecx, ebx
mov ebp, edi
and ebp, eax
mov esi, dword [esp + 4]
mov eax, dword [esp]
add ebp, dword [eax + esi - 0xc]
add ebp, ecx
sub edx, ebp
mov ecx, dword [esp + 4]
add ecx, 0xfffffff0
mov dword [esp + 4], ecx
cmp ecx, 0xffffffa0
jne 0x71f730
mov eax, edi
and eax, 0x3f
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
sub esi, dword [ecx + eax*4]
mov eax, ebx
and eax, 0x3f
sub edi, dword [ecx + eax*4]
mov eax, edx
and eax, 0x3f
sub ebx, dword [ecx + eax*4]
movzx eax, si
and esi, 0x3f
sub edx, dword [ecx + esi*4]
movzx edi, di
movzx ebx, bx
movzx edx, dx
mov ebp, dword [esp]
add ebp, dword [esp + 4]
mov ecx, 0xfffffffb
nop dword [eax + eax]
mov dword [esp + 4], ecx
mov dword [esp], ebp
mov ecx, eax
shl ecx, 0xb
shr eax, 5
mov esi, ebx
xor esi, edx
and esi, edi
xor esi, edx
add esi, dword [ebp]
or eax, ecx
mov ebp, eax
sub ebp, esi
mov eax, edi
shl eax, 0xd
shr edi, 3
or edi, eax
mov eax, ebx
not eax
and eax, ebp
mov esi, ebx
and esi, edx
mov ecx, dword [esp]
add esi, dword [ecx - 4]
add esi, eax
mov ecx, edi
sub ecx, esi
mov eax, ebx
shl eax, 0xe
shr ebx, 2
or ebx, eax
mov eax, edx
not eax
and eax, ecx
mov edi, ebp
and edi, edx
mov esi, dword [esp]
add edi, dword [esi - 8]
add edi, eax
movzx eax, bp
mov esi, ebx
sub esi, edi
mov edi, edx
shl edi, 0xf
shr edx, 1
or edx, edi
movzx edi, cx
and ecx, ebp
not ebp
and ebp, esi
mov ebx, dword [esp]
add ecx, dword [ebx - 0xc]
add ecx, ebp
mov ebp, dword [esp]
sub edx, ecx
mov ecx, dword [esp + 4]
movzx ebx, si
movzx edx, dx
add ebp, 0xfffffff0
inc ecx
jne 0x71f840
shl ebx, 0x10
or edx, ebx
mov ecx, dword [esp + 0x28]
mov dword [ecx], edx
shl eax, 0x10
or edi, eax
mov dword [ecx + 4], edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret