Function at 0x10025060
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
and ebp, 0x10473f7a
xor ebp, eax
or ebp, ebx
and ebp, 0xca647b7
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov ecx, dword [0x10027190]
mov dx, cx
xor edx, ebp
ror edx, cl
and edx, 0x735f7688
add dl, 0xe0
mov edx, dword [esp + 0x14]
jmp 0x100257a6
mov dword [esp + 0x18], esi
jmp 0x10025429
shr eax, cl
and ax, cx
mov eax, ebx
sub ebx, 1
test eax, eax
jne 0x10025458
movzx edx, byte [esi]
add esi, 1
mov dword [esp + 0x18], esi
jmp 0x10025455
lea ebx, [eax + 7]
shr ax, cl
inc al
or al, 0x94
and eax, dword [esp + 0x18]
mov eax, edx
shr eax, 7
jmp 0x10025979
add ecx, 1
jmp 0x10025908
push ebx
push esi
sub esi, dword [esp]
rol esi, cl
xor esi, dword [esp + 0x20]
add esi, ebp
xor esi, 0x7799387d
mov esi, eax
mov al, byte [esi]
xor ebx, ebx
mov byte [ecx], al
jmp 0x100255be
add esi, 1
push edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
jmp 0x10025353
and eax, 1
add edx, edx
test eax, eax
je 0x10026209
jmp 0x100259d7
shl ax, cl
add eax, esp
or al, bl
mov eax, ebx
sub ebx, 1
jmp 0x10025adc
test eax, eax
mov dword [esp + 0x24], ebx
jne 0x10025bc4
movzx edx, byte [esi]
jmp 0x10025bb2
add esi, 1
xor ebx, edi
mov ebx, 7
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ebx
or eax, 0x121756d6
mov ax, ax
or ax, 0x6e02
mov eax, edx
shr eax, 7
and eax, 1
add edx, edx
test eax, eax
jmp 0x10025c46
mov dword [esp + 0x20], edx
je 0x10026096
sub al, bl
inc al
shl eax, cl
xor eax, dword [esp + 0x18]
mov eax, ebx
sub ebx, 1
test eax, eax
jmp 0x10025d37
jne 0x10025d4a
movzx edx, byte [esi]
add esi, 1
mov dword [esp + 0x18], esi
lea ebx, [eax + 7]
and al, al
ror ax, cl
mov eax, dword [esp + 0x20]
mov eax, edx
shr eax, 7
jmp 0x10025e2c
and eax, 1
jmp 0x10025e66
add edx, edx
test eax, eax
je 0x10025fd0
xor edi, edi
jmp 0x10025ebb
mov dword [esp + 0xc], 4
jmp 0x10025eea
mov eax, dword [esp + 4]
mov ax, dx
or eax, dword [esp + 0x24]
mov eax, ebx
sub ebx, 1
test eax, eax
jne 0x10025f0b
movzx edx, byte [esi]
add esi, 1
lea ebx, [eax + 7]
dec eax
inc eax
shl ax, cl
shr al, cl
mov eax, edx
shr eax, 7
jmp 0x10025f5a
and eax, 1
jmp 0x10025f62
add edx, edx
sub dword [esp + 0xc], 1
lea edi, [eax + edi*2]
jne 0x10025eea
test edi, edi
mov dword [esp + 0x18], esi
je 0x10025fc0
shr eax, cl
and al, cl
ror ax, cl
xor eax, 0x286a77aa
xor ax, 0x362c
mov eax, ecx
jmp 0x10025fb2
sub eax, edi
mov al, byte [eax]
mov byte [ecx], al
add ecx, 1
jmp 0x10026221
mov byte [ecx], 0
jmp 0x10025fc8
add ecx, 1
jmp 0x10026221
movzx eax, byte [esi]
sub edi, edi
shl edi, cl
mov edi, eax
and edi, 1
jmp 0x1002600b
add esi, 1
add edi, 2
shr eax, 1
jmp 0x10026018
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], eax
jmp 0x10026025
je 0x10026078
test edi, edi
je 0x10026085
shr al, cl
mov eax, dword [esp + 0x24]
mov eax, ecx
sub eax, dword [esp + 0xc]
add ecx, 1
sub edi, 1
mov al, byte [eax]
jmp 0x1002604c
mov byte [ecx - 1], al
jne 0x10026033
mov eax, 0x1f5b6987
mov eax, 0x50a56912
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
jmp 0x1002622d
mov dword [esp + 0x14], 1
jmp 0x10026085
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
jmp 0x1002622d
lea edi, [esp + 0x18]
call section.ECODE
cmp dword [esp + 0xc], 0
jne 0x10026112
cmp eax, 2
jne 0x1002610a
jmp 0x100260b8
call section.ECODE
test eax, eax
mov ecx, dword [esp + 0x1c]
je 0x100261cd
or dx, ax
add edx, esi
or dx, cx
xor edx, dword [esp + 0x20]
add edx, 0x7f23f30
mov edx, ecx
sub edx, dword [esp + 0x10]
jmp 0x100260e6
add ecx, 1
sub eax, 1
jmp 0x100260f1
mov dl, byte [edx]
mov byte [ecx - 1], dl
jmp 0x100260fb
jne 0x100260c9
mov dword [esp + 0x1c], ecx
jmp 0x100261cd
sub eax, 3
jmp 0x10026115
sub eax, 2
sub ecx, dword [esp + 0x1c]
or ecx, dword [esp + 0x24]
inc cx
mov cx, cx
mov ecx, dword [esp + 0x18]
jmp 0x1002612b
movzx edx, byte [ecx]
shl eax, 8
add eax, edx
add ecx, 1
lea edi, [esp + 0x18]
shr esi, cl
rol esi, cl
or esi, ecx
or esi, 0xc895e30
mov esi, eax
mov dword [esp + 0x18], ecx
call section.ECODE
cmp esi, 0x7d00
jmp 0x1002615c
jb 0x10026165
add eax, 1
cmp esi, 0x500
jmp 0x10026170
jb 0x1002617e
add eax, 1
jmp 0x1002617e
cmp esi, 0x80
jae 0x1002618d
add eax, 2
test eax, eax
mov ecx, dword [esp + 0x1c]
je 0x100261c4
lea ebx, [ebx]
xor dx, dx
ror dx, cl
shr edx, cl
mov edx, ecx
jmp 0x100261ae
sub edx, esi
mov dl, byte [edx]
mov byte [ecx], dl
add ecx, 1
sub eax, 1
jne 0x1002619f
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], esi
jmp 0x100261cd
and ebx, 0xb3f5dd0
mov ebx, 0x34e43770
shr bx, cl
mov ebx, dword [esp + 0x24]
inc dx
mov edx, 0x74a2752e
or dl, cl
mov edx, dword [esp + 0x20]
sub esi, 0x70f73818
dec esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc], 1
jmp 0x1002622d
mov al, byte [esi]
mov byte [ecx], al
add ecx, 1
add esi, 1
jmp 0x10026218
mov dword [esp + 0x18], esi
jmp 0x10026221
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x14], 0
je 0x10025429
pop edi
xor ax, 0x5f87
mov ax, dx
mov eax, ecx
sub eax, dword [0x10027190]
pop esi
jmp 0x1002624f
pop ebx
mov esp, ebp
xor esp, ebx
mov esp, ebp
pop ebp
ret