Function at 0x44dd20
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x18], 0
jne 0x44dfb8
lea ecx, [ebp - 0x28]
push ecx
call fcn.0044dfd0
add esp, 4
test eax, eax
je 0x44df90
lea edx, [ebp - 0x28]
push edx
call fcn.0044dfd0
add esp, 4
test eax, eax
je 0x44de7d
lea eax, [ebp - 0x28]
push eax
call fcn.0044dfd0
add esp, 4
test eax, eax
je 0x44de11
mov dword [ebp - 0x14], 0
mov dword [ebp - 8], 4
jmp 0x44ddbe
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x44dddb
lea edx, [ebp - 0x28]
push edx
call fcn.0044dfd0
add esp, 4
mov ecx, dword [ebp - 0x14]
lea edx, [eax + ecx*2]
mov dword [ebp - 0x14], edx
jmp 0x44ddb5
cmp dword [ebp - 0x14], 0
je 0x44ddf9
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
mov byte [ecx], dl
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x44de08
mov ecx, dword [ebp - 0x24]
mov byte [ecx], 0
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], 0
jmp 0x44de78
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x14]
and eax, 1
add eax, 2
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
shr ecx, 1
mov dword [ebp - 0x14], ecx
je 0x44de64
jmp 0x44de44
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
je 0x44de62
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
mov byte [ecx], dl
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x44de3b
jmp 0x44de6b
mov dword [ebp - 0x18], 1
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 1
jmp 0x44df8e
lea edx, [ebp - 0x28]
push edx
call fcn.0044e040
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 4], 0
jne 0x44dedb
cmp dword [ebp - 0x14], 2
jne 0x44dedb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
push ecx
call fcn.0044e040
add esp, 4
mov dword [ebp - 0x10], eax
jmp 0x44deb8
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
je 0x44ded6
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
mov byte [ecx], dl
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x44deaf
jmp 0x44df87
cmp dword [ebp - 4], 0
jne 0x44deec
mov ecx, dword [ebp - 0x14]
sub ecx, 3
mov dword [ebp - 0x14], ecx
jmp 0x44def5
mov edx, dword [ebp - 0x14]
sub edx, 2
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
shl eax, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x28]
push ecx
call fcn.0044e040
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], 0x7d00
jb 0x44df34
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x14], 0x500
jb 0x44df46
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], 0x80
jae 0x44df58
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x10], ecx
jmp 0x44df63
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
je 0x44df81
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
mov byte [ecx], dl
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x44df5a
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 1
jmp 0x44dfb3
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0
jmp 0x44dd63
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp + 0xc]
mov esp, ebp
pop ebp
ret