Function at 0x6ba073
Capabilities:
Decompress data using aplib

Disassembly:
sub esp, 0x14
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ebx
push ebp
mov cl, byte [edx]
push esi
xor esi, esi
xor ebp, ebp
mov byte [eax], cl
mov ecx, dword [esp + 0x18]
inc eax
push edi
mov dword [esp + 0x10], ebp
inc edx
mov edi, esi
dec esi
test edi, edi
jne 0x6ba0a5
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
je 0x6ba2ca
mov edi, esi
dec esi
test edi, edi
jne 0x6ba0c8
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
je 0x6ba185
mov edi, esi
dec esi
test edi, edi
jne 0x6ba0eb
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
je 0x6ba13d
xor ebx, ebx
mov ebp, 4
mov edi, esi
dec esi
test edi, edi
jne 0x6ba111
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
dec ebp
lea ebx, [edi + ebx*2]
jne 0x6ba100
test ebx, ebx
je 0x6ba134
mov edi, eax
sub edi, ebx
inc eax
mov bl, byte [edi]
mov byte [eax - 1], bl
jmp 0x6ba2d0
mov byte [eax], 0
inc eax
jmp 0x6ba2d0
xor ebx, ebx
mov bl, byte [edx]
inc edx
mov ebp, ebx
mov edi, ebp
and edi, 1
add edi, 2
shr ebp, 1
je 0x6ba16f
test edi, edi
je 0x6ba177
mov ebx, eax
sub ebx, ebp
inc eax
dec edi
mov bl, byte [ebx]
mov byte [eax - 1], bl
jne 0x6ba154
mov dword [esp + 0x28], ebp
mov ebp, 1
jmp 0x6ba2d2
mov dword [esp + 0x10], 1
mov dword [esp + 0x28], ebp
mov ebp, 1
jmp 0x6ba2d2
mov ebx, 1
mov edi, esi
dec esi
test edi, edi
jne 0x6ba19b
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
lea ebx, [edi + ebx*2]
mov edi, esi
dec esi
test edi, edi
jne 0x6ba1b9
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
jne 0x6ba18a
test ebp, ebp
jne 0x6ba23c
cmp ebx, 2
jne 0x6ba237
mov ebx, 1
mov edi, esi
dec esi
test edi, edi
jne 0x6ba1e6
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
lea ebx, [edi + ebx*2]
mov edi, esi
dec esi
test edi, edi
jne 0x6ba204
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
jne 0x6ba1d5
test ebx, ebx
je 0x6ba2c3
mov edi, ebx
mov ebp, dword [esp + 0x28]
mov ebx, eax
sub ebx, ebp
inc eax
dec edi
mov bl, byte [ebx]
mov byte [eax - 1], bl
jne 0x6ba21c
mov ebp, 1
jmp 0x6ba2d2
lea edi, [ebx - 3]
jmp 0x6ba23f
lea edi, [ebx - 2]
xor ebx, ebx
mov bl, byte [edx]
shl edi, 8
add edi, ebx
inc edx
mov ebp, edi
mov ebx, 1
mov edi, esi
dec esi
test edi, edi
jne 0x6ba261
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
lea ebx, [edi + ebx*2]
mov edi, esi
dec esi
test edi, edi
jne 0x6ba27f
xor ecx, ecx
mov esi, 7
mov cl, byte [edx]
inc edx
mov edi, ecx
shr edi, 7
and edi, 1
shl ecx, 1
test edi, edi
jne 0x6ba250
cmp ebp, 0x7d00
mov edi, ebx
jb 0x6ba29a
lea edi, [ebx + 1]
cmp ebp, 0x500
jb 0x6ba2a3
inc edi
cmp ebp, 0x80
jae 0x6ba2ae
add edi, 2
test edi, edi
je 0x6ba2bf
mov ebx, eax
sub ebx, ebp
inc eax
dec edi
mov bl, byte [ebx]
mov byte [eax - 1], bl
jne 0x6ba2b2
mov dword [esp + 0x28], ebp
mov ebp, 1
jmp 0x6ba2d2
mov bl, byte [edx]
mov byte [eax], bl
inc eax
inc edx
xor ebp, ebp
mov edi, dword [esp + 0x10]
test edi, edi
je 0x6ba094
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
sub eax, ecx
pop ebx
add esp, 0x14
ret