Function at 0x5eab90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x24]
push ebx
push esi
push edi
mov esi, eax
mov bx, dx
mov edi, ecx
mov dword [ebp - 0x24], 0
cmp byte [0x613d70], 0
je 0x5eabc1
mov eax, edi
call fcn.005eab70
mov dword [edi + 0x24], 0
jmp 0x5eabcf
mov eax, edi
xor cl, cl
mov edx, 0x238
call fcn.004037d0
cmp bx, 0x80
je 0x5eabf0
cmp bx, 0xc0
je 0x5eabf0
cmp bx, 0x100
je 0x5eabf0
mov dword [ebp - 0x24], 0xffffffff
jmp 0x5eadc2
movzx eax, bx
mov edx, eax
sar edx, 0x1f
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, eax
lea ebx, [ecx - 1]
test ebx, ebx
jl 0x5eac20
mov edx, 0xffffffff
mov esi, esi
add edx, 1
mov eax, dword [esi + edx*4]
mov dword [ebp + edx*4 - 0x20], eax
cmp ebx, edx
jg 0x5eac10
mov esi, esi
cmp ecx, 8
jge 0x5eac50
mov dword [ebp + ecx*4 - 0x20], 1
lea eax, [ecx + 1]
cmp eax, 7
jg 0x5eac50
mov edx, eax
sub edx, 1
lea esi, [esi]
add edx, 1
mov dword [ebp + edx*4 - 0x20], 0
cmp edx, 7
jl 0x5eac40
mov eax, dword [ebp - 4]
mov edx, 0xffffffff
add edx, 1
lea ebx, [ebp - 0x20]
lea ecx, [edx + 3]
and ecx, 7
mov esi, dword [ebx + ecx*4]
mov ecx, dword [ebx + edx*4]
xor ecx, esi
lea esi, [edx + 5]
and esi, 7
xor ecx, dword [ebx + esi*4]
xor ecx, eax
xor ecx, 0x9e3779b9
xor ecx, edx
rol ecx, 0xb
mov eax, ecx
mov dword [ebp + edx*4 - 0x20], eax
mov dword [edi + edx*4 + 0x28], eax
cmp edx, 7
jl 0x5eac58
mov edx, 7
mov esi, esi
add edx, 1
lea ebx, [edi + 0x28]
mov ecx, dword [ebx + edx*4 - 0x20]
mov esi, dword [ebx + edx*4 - 0x14]
xor esi, ecx
xor esi, dword [ebx + edx*4 - 0xc]
xor esi, eax
xor esi, 0x9e3779b9
xor esi, edx
mov ecx, esi
rol ecx, 0xb
mov eax, ecx
mov dword [edi + edx*4 + 0x28], eax
cmp edx, 0x83
jl 0x5eac98
xor ebx, ebx
jmp 0x5ead98
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005ea940
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005ea8d0
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005ea860
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005ea7f0
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005eab00
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005eaa90
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005eaa20
add ebx, 4
lea eax, [edi + ebx*4 + 0x34]
push eax
lea ecx, [edi + ebx*4 + 0x30]
lea edx, [edi + ebx*4 + 0x2c]
lea eax, [edi + ebx*4 + 0x28]
call fcn.005ea9b0
add ebx, 4
cmp ebx, 0x80
jl 0x5eacd0
lea eax, [edi + 0x234]
push eax
lea ecx, [edi + 0x230]
lea edx, [edi + 0x22c]
lea eax, [edi + 0x228]
call fcn.005ea940
mov eax, dword [ebp - 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret