Function at 0x100084b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x28
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
test ebp, ebp
mov edi, dword [esp + 0x4c]
jne 0x100085f0
test eax, eax
je 0x100085e5
lea ebp, [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], ebp
lea ecx, [esp + 0x20]
mov ebp, edx
mov dword [esp + 0x10], ecx
jmp 0x10008535
mov edx, dword [esi]
add ebx, 8
add esi, 8
mov ecx, dword [esp + 0x14]
bswap edx
mov dword [esp + 0x20], edx
mov edx, dword [esi - 4]
bswap edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
call fcn.10007a50
mov edx, dword [esp + 0x20]
bswap edx
mov dword [ebx - 8], edx
mov edx, dword [esp + 0x24]
bswap edx
mov dword [ebx - 4], edx
dec ebp
je 0x100085e5
test edi, edi
je 0x100084f8
movzx edx, byte [esi]
add ebx, 8
add esi, 8
movzx ecx, byte [edi]
xor dl, cl
mov byte [ebx - 8], dl
movzx edx, byte [esi - 7]
movzx ecx, byte [edi + 1]
xor dl, cl
mov byte [ebx - 7], dl
movzx edx, byte [esi - 6]
movzx ecx, byte [edi + 2]
xor dl, cl
mov byte [ebx - 6], dl
movzx edx, byte [esi - 5]
movzx ecx, byte [edi + 3]
xor dl, cl
mov byte [ebx - 5], dl
movzx edx, byte [esi - 4]
movzx ecx, byte [edi + 4]
xor dl, cl
mov byte [ebx - 4], dl
movzx edx, byte [esi - 3]
movzx ecx, byte [edi + 5]
xor dl, cl
mov byte [ebx - 3], dl
movzx edx, byte [esi - 2]
movzx ecx, byte [edi + 6]
xor dl, cl
mov byte [ebx - 2], dl
movzx edx, byte [esi - 1]
movzx ecx, byte [edi + 7]
xor dl, cl
mov ecx, dword [esp + 0x14]
mov byte [ebx - 1], dl
mov edx, dword [ebx - 8]
bswap edx
mov dword [esp + 0x20], edx
mov edx, dword [ebx - 4]
bswap edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
call fcn.10007a50
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
bswap edx
mov dword [ebx - 8], edx
bswap ecx
mov dword [ebx - 4], ecx
mov dword [edi], edx
mov edx, dword [ebx - 4]
dec ebp
mov dword [edi + 4], edx
jne 0x10008535
add esp, 0x28
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
je 0x100085e5
test edi, edi
je 0x10008680
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x10], eax
lea ebp, [esp + 0x24]
lea esi, [esi]
mov eax, dword [esi]
add ebx, 8
add esi, 8
bswap eax
mov dword [esp + 0x20], eax
mov eax, dword [esi - 4]
mov dword [esp + 8], ebp
bswap eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.avutil_ics_57.dll_mv_blowfish_crypt_ecb
mov ecx, dword [esi - 8]
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [edi], ecx
mov ecx, dword [esi - 4]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x20]
bswap ecx
xor edx, ecx
mov dword [ebx - 8], edx
mov edx, dword [esp + 0x24]
bswap edx
xor eax, edx
mov dword [ebx - 4], eax
dec dword [esp + 0x14]
jne 0x10008610
add esp, 0x28
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebp, [esp + 0x24]
mov edi, eax
lea eax, [esp + 0x20]
mov dword [esp + 0x10], eax
nop
mov ecx, dword [esi]
add ebx, 8
add esi, 8
mov eax, dword [esp + 0x50]
bswap ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esi - 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 8], ebp
bswap ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.avutil_ics_57.dll_mv_blowfish_crypt_ecb
mov ecx, dword [esp + 0x20]
bswap ecx
mov dword [ebx - 8], ecx
mov ecx, dword [esp + 0x24]
bswap ecx
mov dword [ebx - 4], ecx
dec edi
jne 0x10008690
add esp, 0x28
pop ebx
pop esi
pop edi
pop ebp
ret