Function at 0x44edb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x4fa078]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x11c], ebx
cmp esi, 0x10
je 0x44edf5
cmp esi, 0x18
je 0x44edf5
cmp esi, 0x20
je 0x44edf5
pop esi
mov eax, 0x1002
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b7d5
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x104]
add esi, 3
push eax
shr esi, 2
push esi
push dword [ebp + 8]
mov dword [ebx + 0x3c], esi
call fcn.00451ac0
mov ecx, esi
mov edx, 4
shl ecx, 4
add esp, 0xc
mov eax, dword [ebp + ecx - 0xa4]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + ecx - 0xa0]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + ecx - 0x9c]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + ecx - 0x98]
mov dword [ebx + 0x4c], eax
lea eax, [esi*4]
lea esi, [eax + 0x18]
mov dword [ebp - 0x114], eax
cmp esi, edx
jbe 0x44f0e8
lea edx, [ebp - 0xb0]
add edx, ecx
lea eax, [ebx + 0x58]
lea ecx, [esi - 5]
mov dword [ebp - 0x10c], eax
shr ecx, 2
inc ecx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x108], ecx
mov eax, ecx
push edi
lea ecx, [ecx*4 + 4]
mov dword [ebp - 0x118], ecx
nop
mov edx, dword [edx - 4]
mov ecx, edx
shr ecx, 7
and ecx, 0x1010101
imul ebx, ecx, 0x1b
mov ecx, edx
and ecx, 0xff7f7f7f
add ecx, ecx
xor ebx, ecx
mov ecx, ebx
shr ecx, 7
and ecx, 0x1010101
imul edi, ecx, 0x1b
mov ecx, ebx
and ecx, 0xff7f7f7f
add ecx, ecx
xor edi, ecx
mov ecx, edi
shr ecx, 7
and ecx, 0x1010101
imul esi, ecx, 0x1b
mov ecx, edi
and ecx, 0xff7f7f7f
add ecx, ecx
xor esi, ecx
xor edx, esi
mov dword [ebp - 0x108], edx
xor edx, edi
mov ecx, dword [ebp - 0x108]
xor ecx, ebx
ror edx, 0x10
ror ecx, 8
xor edx, ecx
mov ecx, dword [ebp - 0x108]
ror ecx, 0x18
xor edx, ecx
mov ecx, dword [ebp - 0x10c]
xor edx, esi
xor edx, edi
xor edx, ebx
mov dword [ecx - 8], edx
mov edx, dword [ebp - 0x110]
mov edx, dword [edx]
mov ecx, edx
shr ecx, 7
and ecx, 0x1010101
imul ebx, ecx, 0x1b
mov ecx, edx
and ecx, 0xff7f7f7f
add ecx, ecx
xor ebx, ecx
mov ecx, ebx
shr ecx, 7
and ecx, 0x1010101
imul edi, ecx, 0x1b
mov ecx, ebx
and ecx, 0xff7f7f7f
add ecx, ecx
xor edi, ecx
mov ecx, edi
shr ecx, 7
and ecx, 0x1010101
imul esi, ecx, 0x1b
mov ecx, edi
and ecx, 0xff7f7f7f
add ecx, ecx
xor esi, ecx
xor edx, esi
mov dword [ebp - 0x108], edx
xor edx, edi
mov ecx, dword [ebp - 0x108]
xor ecx, ebx
ror edx, 0x10
ror ecx, 8
xor edx, ecx
mov ecx, dword [ebp - 0x108]
ror ecx, 0x18
xor edx, ecx
xor edx, esi
xor edx, edi
xor edx, ebx
mov ecx, dword [ebp - 0x10c]
mov dword [ecx - 4], edx
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 4]
mov ecx, edx
shr ecx, 7
and ecx, 0x1010101
imul ebx, ecx, 0x1b
mov ecx, edx
and ecx, 0xff7f7f7f
add ecx, ecx
xor ebx, ecx
mov ecx, ebx
shr ecx, 7
and ecx, 0x1010101
imul edi, ecx, 0x1b
mov ecx, ebx
and ecx, 0xff7f7f7f
add ecx, ecx
xor edi, ecx
mov ecx, edi
shr ecx, 7
and ecx, 0x1010101
imul esi, ecx, 0x1b
mov ecx, edi
and ecx, 0xff7f7f7f
add ecx, ecx
xor esi, ecx
xor edx, esi
mov dword [ebp - 0x108], edx
xor edx, edi
mov ecx, dword [ebp - 0x108]
xor ecx, ebx
ror edx, 0x10
ror ecx, 8
xor edx, ecx
mov ecx, dword [ebp - 0x108]
ror ecx, 0x18
xor edx, ecx
mov ecx, dword [ebp - 0x10c]
xor edx, esi
xor edx, edi
xor edx, ebx
mov dword [ecx], edx
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 8]
mov ecx, edx
shr ecx, 7
and ecx, 0x1010101
imul ebx, ecx, 0x1b
mov ecx, edx
and ecx, 0xff7f7f7f
add ecx, ecx
xor ebx, ecx
mov ecx, ebx
shr ecx, 7
and ecx, 0x1010101
imul edi, ecx, 0x1b
mov ecx, ebx
and ecx, 0xff7f7f7f
add ecx, ecx
xor edi, ecx
mov ecx, edi
shr ecx, 7
and ecx, 0x1010101
imul esi, ecx, 0x1b
mov ecx, edi
and ecx, 0xff7f7f7f
add ecx, ecx
xor esi, ecx
xor edx, esi
mov dword [ebp - 0x108], edx
xor edx, edi
mov ecx, dword [ebp - 0x108]
xor ecx, ebx
ror edx, 0x10
ror ecx, 8
xor edx, ecx
mov ecx, dword [ebp - 0x108]
ror ecx, 0x18
xor edx, ecx
mov ecx, dword [ebp - 0x10c]
xor edx, esi
xor edx, edi
xor edx, ebx
mov dword [ecx + 4], edx
add ecx, 0x10
mov edx, dword [ebp - 0x110]
sub edx, 0x10
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], edx
sub eax, 1
jne 0x44ee90
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x11c]
pop edi
sub eax, edx
pop esi
mov ecx, dword [ebp + eax*4 - 0xa4]
mov dword [ebx + edx*4 + 0x40], ecx
mov ecx, dword [ebp + eax*4 - 0xa0]
mov dword [ebx + edx*4 + 0x44], ecx
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp + eax*4 - 0x98]
mov dword [ebx + edx*4 + 0x48], ecx
mov ecx, dword [ebp - 4]
mov dword [ebx + edx*4 + 0x4c], eax
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0044b7d5
mov esp, ebp
pop ebp
ret