Function at 0x8be8e2
Capabilities:
Encode data using xor

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [0x761cb8]
push ebp
mov ebp, dword [eax]
push esi
mov esi, dword [ebx + 0x24]
push edi
push ebp
mov dword [esp + 0x14], ebx
call fcn.0088e9e2
xor eax, 0x62946a4f
xor edx, edx
div dword [esi + 4]
mov ecx, dword [esi + 8]
add esp, 4
mov edi, dword [ecx + edx*4]
test edi, edi
je 0x8be956
mov esi, dword [edi]
mov eax, ebp
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x8be946
test cl, cl
je 0x8be942
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x8be946
add eax, 2
add esi, 2
test cl, cl
jne 0x8be922
xor eax, eax
jmp 0x8be94b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x8be956
mov edi, dword [edi + 0x44]
test edi, edi
jne 0x8be917
cmp dword [esp + 0x18], edi
je 0x8be990
push 0x75a7d0
push 0x64eb10
call fcn.00925512
push ebp
push 0x75a7d0
call fcn.0088e152
push 0x75a7d0
push 0x64eaf0
call fcn.00925512
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov esi, dword [ebx + 0x24]
mov ebx, dword [esp + 0x20]
push ebx
call fcn.0088e9e2
xor eax, 0x62946a4f
xor edx, edx
div dword [esi + 4]
mov eax, dword [esi + 8]
add esp, 4
mov edi, dword [eax + edx*4]
test edi, edi
je 0x8be9ec
mov esi, dword [edi]
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x8be9dc
test cl, cl
je 0x8be9d8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x8be9dc
add eax, 2
add esi, 2
test cl, cl
jne 0x8be9b8
xor eax, eax
jmp 0x8be9e1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x8bea4a
mov edi, dword [edi + 0x44]
test edi, edi
jne 0x8be9b4
mov edx, ebp
mov cl, byte [edx]
xor eax, eax
test cl, cl
je 0x8bea1a
movsx ecx, cl
mov esi, ecx
xor esi, eax
xor esi, 0xff946a4f
shl esi, 8
add esi, eax
xor esi, 0x573ed587
add esi, ecx
mov cl, byte [edx + 1]
inc edx
test cl, cl
mov eax, esi
jne 0x8be9f6
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x24]
xor eax, 0x62946a4f
xor edx, edx
div dword [ecx + 4]
mov eax, dword [ecx + 8]
mov ebp, dword [esp + 0x18]
mov ebx, 1
lea ecx, [eax + edx*4]
mov eax, dword [ecx]
cmp eax, ebp
jne 0x8bea7e
mov edx, dword [ebp + 0x44]
mov dword [ecx], edx
jmp 0x8beb5b
push 0x75a7d0
push 0x64eae0
call fcn.00925512
push ebx
push 0x75a7d0
call fcn.0088e152
push 0x75a7d0
push 0x64eab8
call fcn.00925512
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov esi, eax
cmp dword [esi + 0x44], ebp
je 0x8beb55
mov eax, dword [0x7608c0]
add eax, esi
jne 0x8beb09
push 0x75a7d0
call fcn.0088e022
add esp, 4
push 0x801
push 0x64db6c
call fcn.0088de12
push eax
call fcn.0088de02
mov ecx, dword [0x67fa0c]
add esp, 4
push eax
push ecx
push 0x75a7d0
call fcn.00924278
push 0x75a7d0
push 0x649c10
call fcn.00925512
mov edx, dword [0x67fa10]
push 0x75a7d0
push edx
call fcn.00925512
mov eax, dword [0x7608c8]
mov dword [0x7608c4], ebx
mov ecx, dword [eax]
add esp, 0x24
test ecx, ecx
je 0x8beb12
mov dword [0x7608c8], 0
jmp 0x8beb12
mov eax, dword [0x7608c4]
test eax, eax
je 0x8beb49
push 0x801
push 0x64db6c
call fcn.0088de12
push eax
call fcn.0088de02
mov ecx, dword [0x67fa14]
add esp, 4
push eax
push ecx
push 0x75a7d0
call fcn.00924278
push 0x3b9aca00
call fcn.0088de82
add esp, 0x18
mov esi, dword [esi + 0x44]
cmp dword [esi + 0x44], ebp
jne 0x8bea89
mov edx, dword [ebp + 0x44]
mov dword [esi + 0x44], edx
mov esi, dword [ebp]
mov eax, dword [esi - 8]
mov edi, dword [esi - 0x28]
sub esi, 0x40
test eax, eax
je 0x8beb74
push esi
call fcn.0088e8c2
add esp, 4
test edi, edi
je 0x8beb8f
mov ebp, dword [edi + 0x1c]
push edi
push esi
call fcn.0088e752
add esp, 8
test ebp, ebp
mov edi, ebp
jne 0x8beb78
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 4]
mov eax, dword [esi - 8]
mov edi, dword [esi - 0x28]
sub esi, 0x40
test eax, eax
je 0x8bebac
push esi
call fcn.0088e8c2
add esp, 4
test edi, edi
je 0x8bebc9
mov edi, edi
mov ebp, dword [edi + 0x1c]
push edi
push esi
call fcn.0088e752
add esp, 8
test ebp, ebp
mov edi, ebp
jne 0x8bebb2
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
push esi
call fcn.0088ea22
push esi
mov dword [ebp], eax
call fcn.0088ea22
mov ecx, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov dword [ebp + 0x44], 0
mov cl, byte [esi]
add esp, 8
xor eax, eax
test cl, cl
mov edx, esi
je 0x8bec1b
movsx ecx, cl
mov esi, ecx
xor esi, eax
xor esi, 0xff946a4f
shl esi, 8
add esi, eax
xor esi, 0x573ed587
add esi, ecx
mov cl, byte [edx + 1]
inc edx
test cl, cl
mov eax, esi
jne 0x8bebf7
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x24]
xor eax, 0x62946a4f
xor edx, edx
div dword [ecx + 4]
mov eax, dword [ecx + 8]
lea ecx, [eax + edx*4]
mov eax, dword [ecx]
test eax, eax
jne 0x8bec42
pop edi
pop esi
mov dword [ecx], ebp
pop ebp
mov eax, ebx
pop ebx
pop ecx
ret
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x8bec53
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + 0x44]
test ecx, ecx
jne 0x8bec49
pop edi
pop esi
mov dword [eax + 0x44], ebp
pop ebp
mov eax, ebx
pop ebx
pop ecx
ret