Function at 0x1001eee0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push 0x18
push 0x564342
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov eax, dword [esi]
push 0x10
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov ecx, dword [esi + 4]
push 0x18
push ecx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov edx, dword [esi + 4]
mov eax, 1
add esp, 0x24
cmp edx, eax
jle 0x1001ef3c
mov ecx, dword [esi + 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
cmp byte [ecx], 0
je 0x1001ef3c
mov ecx, dword [esi + 8]
mov bl, byte [ecx + eax]
cmp bl, byte [ecx + eax - 1]
jl 0x1001ef3c
inc dword [ebp - 4]
inc eax
cmp eax, edx
jl 0x1001ef20
push 1
cmp eax, edx
jne 0x1001efe8
push 1
push edi
mov dword [ebp - 4], 0
call sym.aimp_libvorbis.dll_oggpack_write
mov edx, dword [esi + 8]
movsx eax, byte [edx]
push 5
dec eax
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov ebx, 1
add esp, 0x18
cmp dword [esi + 4], ebx
jle 0x1001efc2
mov ecx, dword [esi + 8]
lea eax, [ecx + ebx]
mov cl, byte [eax]
mov al, byte [eax - 1]
cmp cl, al
jle 0x1001efbc
movsx edx, al
movsx eax, cl
cmp edx, eax
jge 0x1001efbc
sub eax, edx
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
mov edx, dword [ebp - 4]
sub eax, edx
mov ecx, 0
je 0x1001efa5
nop
inc ecx
shr eax, 1
jne 0x1001efa0
push ecx
mov eax, ebx
sub eax, edx
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
add esp, 0xc
dec dword [ebp - 8]
mov dword [ebp - 4], ebx
jne 0x1001ef90
inc ebx
cmp ebx, dword [esi + 4]
jl 0x1001ef72
mov eax, dword [esi + 4]
mov edx, dword [ebp - 4]
sub eax, edx
mov ecx, 0
je 0x1001efd6
inc ecx
shr eax, 1
jne 0x1001efd1
push ecx
sub ebx, edx
push ebx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
add esp, 0xc
jmp 0x1001f08b
push 0
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov ecx, dword [esi + 4]
add esp, 0xc
xor eax, eax
test ecx, ecx
jle 0x1001f00b
mov edx, dword [esi + 8]
nop
cmp byte [edx + eax], 0
je 0x1001f00b
inc eax
cmp eax, ecx
jl 0x1001f000
push 1
cmp eax, ecx
jne 0x1001f03f
push 0
push edi
call sym.aimp_libvorbis.dll_oggpack_write
xor ebx, ebx
add esp, 0xc
cmp dword [esi + 4], ebx
jle 0x1001f08b
mov ecx, dword [esi + 8]
movsx edx, byte [ecx + ebx]
push 5
dec edx
push edx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
inc ebx
add esp, 0xc
cmp ebx, dword [esi + 4]
jl 0x1001f023
jmp 0x1001f08b
push 1
push edi
call sym.aimp_libvorbis.dll_oggpack_write
xor ebx, ebx
add esp, 0xc
cmp dword [esi + 4], ebx
jle 0x1001f08b
mov eax, dword [esi + 8]
cmp byte [ebx + eax], 0
push 1
jne 0x1001f069
push 0
push edi
call sym.aimp_libvorbis.dll_oggpack_write
add esp, 0xc
jmp 0x1001f085
push 1
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov ecx, dword [esi + 8]
movsx edx, byte [ecx + ebx]
push 5
dec edx
push edx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
add esp, 0x18
inc ebx
cmp ebx, dword [esi + 4]
jl 0x1001f051
mov eax, dword [esi + 0xc]
push 4
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov eax, dword [esi + 0xc]
add esp, 0xc
test eax, eax
je 0x1001f13f
dec eax
cmp eax, 1
ja 0x1001f0b1
cmp dword [esi + 0x20], 0
jne 0x1001f0b9
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x10]
push 0x20
push ecx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov edx, dword [esi + 0x14]
push 0x20
push edx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov eax, dword [esi + 0x18]
push 4
dec eax
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov ecx, dword [esi + 0x1c]
push 1
push ecx
push edi
call sym.aimp_libvorbis.dll_oggpack_write
mov eax, dword [esi + 0xc]
add esp, 0x30
dec eax
je 0x1001f107
dec eax
je 0x1001f0ff
mov dword [ebp - 4], 0xffffffff
jmp 0x1001f111
mov eax, dword [esi + 4]
imul eax, dword [esi]
jmp 0x1001f10e
mov eax, esi
call fcn.10010f30
mov dword [ebp - 4], eax
xor ebx, ebx
cmp dword [ebp - 4], ebx
jle 0x1001f13f
jmp 0x1001f120
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + ebx*4]
push edx
cdq
xor eax, edx
sub eax, edx
push eax
push edi
call sym.aimp_libvorbis.dll_oggpack_write
inc ebx
add esp, 0xc
cmp ebx, dword [ebp - 4]
jl 0x1001f120
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret