Function at 0x10007750
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
test eax, eax
jne 0x10007b52
lea eax, [ebp - 1]
test ebp, ebp
mov dword [esp + 0x10], eax
jne 0x10007b38
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x50]
movzx eax, byte [edi]
xor al, byte [edx]
mov byte [esi], al
movzx eax, byte [edi + 1]
xor al, byte [edx + 1]
mov byte [esi + 1], al
movzx eax, byte [edi + 2]
xor al, byte [edx + 2]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
xor al, byte [edx + 3]
mov byte [esi + 3], al
movzx eax, byte [edi + 4]
xor al, byte [edx + 4]
mov byte [esi + 4], al
movzx eax, byte [edi + 5]
xor al, byte [edx + 5]
mov byte [esi + 5], al
movzx eax, byte [edi + 6]
xor al, byte [edx + 6]
mov byte [esi + 6], al
movzx eax, byte [edi + 7]
xor al, byte [edx + 7]
mov edx, dword [esi]
bswap edx
mov byte [esi + 7], al
mov ebp, dword [esi + 4]
bswap ebp
xor edx, dword [ebx]
mov eax, edx
mov ecx, edx
shr eax, 0x10
shr ecx, 0x18
movzx eax, al
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + eax*4 + 0x448]
movzx eax, dh
xor ecx, dword [ebx + eax*4 + 0x848]
movzx eax, dl
xor edx, dword [ebx + 8]
add ecx, dword [ebx + eax*4 + 0xc48]
mov eax, dword [ebx + 4]
xor eax, ebp
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0xc]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x10]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x14]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x18]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x1c]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x20]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x24]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
xor edx, dword [ebx + 0x28]
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x2c]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x30]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x34]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x38]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x3c]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
movzx ebp, cl
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, dh
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, dl
xor edx, dword [ebx + 0x40]
add ecx, dword [ebx + ebp*4 + 0xc48]
xor eax, ecx
mov ecx, eax
shr ecx, 0x10
movzx ebp, cl
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ebx + ecx*4 + 0x48]
add ecx, dword [ebx + ebp*4 + 0x448]
movzx ebp, ah
xor ecx, dword [ebx + ebp*4 + 0x848]
movzx ebp, al
xor eax, dword [ebx + 0x44]
add ecx, dword [ebx + ebp*4 + 0xc48]
bswap eax
mov dword [esi], eax
mov eax, dword [esp + 0x50]
xor edx, ecx
bswap edx
mov dword [esi + 4], edx
test eax, eax
je 0x10007b20
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x50]
mov dword [ecx], eax
mov dword [ecx + 4], edx
sub dword [esp + 0x10], 1
add edi, 8
add esi, 8
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x10007782
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x10007790
mov edx, dword [edi]
mov ebp, dword [edi + 4]
bswap edx
bswap ebp
jmp 0x100077ea
test ebp, ebp
je 0x10007782
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x24]
test ecx, ecx
mov dword [esp + 0x14], eax
je 0x10007c00
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x50]
nop
mov eax, dword [edi]
add esi, 8
add edi, 8
bswap eax
mov dword [esp + 0x24], eax
mov eax, dword [edi - 4]
bswap eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym.avutil_56.dll_av_blowfish_crypt_ecb
mov eax, dword [edi - 8]
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x10], edx
mov edx, dword [edi - 4]
mov dword [ebx], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x10]
bswap eax
xor eax, ecx
mov dword [esi - 8], eax
mov eax, dword [esp + 0x28]
bswap eax
xor edx, eax
mov dword [esi - 4], edx
sub ebp, 1
jne 0x10007b80
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x54]
add edi, 8
add esi, 8
bswap ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edi - 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp], ebx
bswap ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov dword [esp + 4], eax
call sym.avutil_56.dll_av_blowfish_crypt_ecb
mov ecx, dword [esp + 0x24]
bswap ecx
mov dword [esi - 8], ecx
mov ecx, dword [esp + 0x28]
bswap ecx
mov dword [esi - 4], ecx
sub ebp, 1
jne 0x10007c00
jmp 0x10007782