Function at 0xd5e8bc
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb8
mov dword [esp], edx
mov edi, eax
lea ebx, [esp + 4]
mov edx, edi
mov eax, ebx
mov ecx, 0x44
call fcn.00d45c80
mov esi, 0x14
mov eax, dword [ebx]
add eax, dword [ebx + 0x30]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x10]
add eax, dword [ebx]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x10]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
add eax, dword [ebx + 0x20]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx], eax
mov eax, dword [ebx + 0x14]
add eax, dword [ebx + 4]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x24]
add eax, dword [ebx + 0x14]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x34]
add eax, dword [ebx + 0x24]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 4], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx + 0x34]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x28]
add eax, dword [ebx + 0x18]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
add eax, dword [ebx + 0x28]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 8], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 0x38]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x18]
add eax, dword [ebx + 8]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x3c]
add eax, dword [ebx + 0x2c]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x3c]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
add eax, dword [ebx + 0xc]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x2c]
add eax, dword [ebx + 0x1c]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x3c], eax
mov eax, dword [ebx]
add eax, dword [ebx + 0xc]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 4], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 8], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 8]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx], eax
mov eax, dword [ebx + 0x14]
add eax, dword [ebx + 0x10]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x18]
add eax, dword [ebx + 0x14]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
add eax, dword [ebx + 0x18]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x10]
add eax, dword [ebx + 0x1c]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x28]
add eax, dword [ebx + 0x24]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x2c]
add eax, dword [ebx + 0x28]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x2c]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x24]
add eax, dword [ebx + 0x20]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x3c]
add eax, dword [ebx + 0x38]
mov edx, 7
call fcn.00d5e74c
xor dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
add eax, dword [ebx + 0x3c]
mov edx, 9
call fcn.00d5e74c
xor dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x34]
add eax, dword [ebx + 0x30]
mov edx, 0xd
call fcn.00d5e74c
xor dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
add eax, dword [ebx + 0x34]
mov edx, 0x12
call fcn.00d5e74c
xor dword [ebx + 0x3c], eax
sub esi, 2
test esi, esi
jg 0xd5e8df
mov eax, 0xf
mov ebp, eax
test ebp, ebp
jl 0xd5eb6f
inc ebp
xor esi, esi
mov eax, dword [edi + esi*4]
add dword [ebx], eax
mov eax, esi
shl eax, 2
mov edx, dword [esp]
add edx, eax
mov eax, dword [ebx]
call fcn.00d5e764
inc esi
add ebx, 4
dec ebp
jne 0xd5eb52
inc dword [edi + 0x20]
cmp dword [edi + 0x20], 0
jne 0xd5eb7b
inc dword [edi + 0x24]
add esp, 0x48
pop ebp
pop edi
pop esi
pop ebx
ret