Function at 0x100074f0
Capabilities:
Decompress data using aplib

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x1c]
push ebx
push ebp
push esi
mov esi, eax
mov al, byte [esi]
xor ebx, ebx
mov byte [edx], al
mov eax, dword [esp + 0x1c]
inc edx
xor ebp, ebp
inc esi
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jmp 0x10007520
mov ecx, ebp
dec ebp
test ecx, ecx
jne 0x10007532
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
lea ebp, [ecx + 7]
mov ecx, eax
shr ecx, 7
and ecx, 1
add eax, eax
test ecx, ecx
je 0x100076e6
mov ecx, ebp
dec ebp
mov dword [esp + 0x24], ebp
test ecx, ecx
jne 0x10007560
movzx eax, byte [esi]
inc esi
mov ebp, 7
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ebp
mov ecx, eax
shr ecx, 7
and ecx, 1
add eax, eax
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x10007636
mov ecx, ebp
dec ebp
mov dword [esp + 0x24], ebp
test ecx, ecx
jne 0x10007592
movzx eax, byte [esi]
inc esi
mov ebp, 7
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ebp
mov ecx, eax
shr ecx, 7
and ecx, 1
add eax, eax
test ecx, ecx
je 0x100075e0
xor edi, edi
lea ebx, [edi + 4]
mov ecx, ebp
dec ebp
test ecx, ecx
jne 0x100075b3
movzx eax, byte [esi]
inc esi
lea ebp, [ecx + 7]
mov ecx, eax
shr ecx, 7
and ecx, 1
add eax, eax
sub ebx, 1
lea edi, [ecx + edi*2]
jne 0x100075a5
mov dword [esp + 0x18], esi
test edi, edi
je 0x100075d8
mov ecx, edx
sub ecx, edi
mov cl, byte [ecx]
jmp 0x100076ed
mov byte [edx], 0
jmp 0x100076ef
movzx ecx, byte [esi]
mov edi, ecx
and edi, 1
inc esi
add edi, 2
shr ecx, 1
mov dword [esp + 0x18], esi
je 0x10007620
test edi, edi
je 0x10007628
mov ebp, edx
sub ebp, ecx
lea esp, [esp]
mov bl, byte [ebp]
mov byte [edx], bl
inc edx
inc ebp
sub edi, 1
jne 0x10007600
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
lea ebx, [edi + 1]
jmp 0x100076f6
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ecx
mov ebx, 1
jmp 0x100076f6
lea edi, [esp + 0x18]
call fcn.10007490
test ebx, ebx
jne 0x10007676
cmp eax, 2
jne 0x10007671
call fcn.10007490
mov edx, dword [esp + 0x1c]
mov esi, eax
test esi, esi
je 0x100076d3
mov ecx, edx
sub ecx, dword [esp + 0x10]
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx], al
inc edx
inc ecx
sub esi, 1
jne 0x10007660
mov dword [esp + 0x1c], edx
jmp 0x100076d3
sub eax, 3
jmp 0x10007679
sub eax, 2
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx]
shl eax, 8
add eax, edx
inc ecx
lea edi, [esp + 0x18]
mov ebp, eax
mov dword [esp + 0x18], ecx
call fcn.10007490
mov esi, eax
cmp ebp, 0x7d00
jb 0x100076a0
inc esi
cmp ebp, 0x500
jb 0x100076a9
inc esi
cmp ebp, 0x80
jae 0x100076b4
add esi, 2
mov edx, dword [esp + 0x1c]
test esi, esi
je 0x100076cf
mov ecx, edx
sub ecx, ebp
mov al, byte [ecx]
mov byte [edx], al
inc edx
inc ecx
sub esi, 1
jne 0x100076c0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, 1
jmp 0x100076f6
mov cl, byte [esi]
inc esi
mov dword [esp + 0x18], esi
mov byte [edx], cl
inc edx
xor ebx, ebx
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x14], 0
je 0x10007520
pop edi
pop esi
mov eax, edx
sub eax, dword [esp + 0x24]
pop ebp
pop ebx
add esp, 0x18
ret