Function at 0x1926dc59
Capabilities:
Decompress data using aplib

Disassembly:
mov edi, dword [ebp + 0xc]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
call fcn.1922aaa8
add esp, 4
test eax, eax
je 0x1922af92
cmp dword [esp + 0x14], 0
je 0x1922af3c
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
call fcn.1922aaa8
add esp, 4
test eax, eax
je 0x1922af92
cmp dword [esp + 0x14], 0
je 0x1922aded
lea ecx, [esp + 0x14]
push ecx
lea eax, [esp + 0x24]
call fcn.1922aaa8
add esp, 4
test eax, eax
je 0x1922af92
cmp dword [esp + 0x14], 0
je 0x1922ad54
xor esi, esi
lea edi, [esi + 4]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
call fcn.1922aaa8
add esp, 4
test eax, eax
je 0x1922af92
sub edi, 1
mov eax, dword [esp + 0x14]
lea esi, [eax + esi*2]
mov dword [esp + 0x18], esi
jne 0x1922acdd
mov eax, dword [esp + 0x2c]
test esi, esi
je 0x1922ad39
mov ecx, dword [ebp + 0xc]
sub ecx, eax
cmp esi, ecx
ja 0x1922af92
mov edx, eax
dec eax
mov dword [esp + 0x2c], eax
test edx, edx
je 0x1922af92
mov eax, dword [esp + 0x28]
mov ecx, eax
sub ecx, esi
mov dl, byte [ecx]
jmp 0x1922af69
mov ecx, eax
dec eax
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x1922af92
mov eax, dword [esp + 0x28]
mov byte [eax], 0
jmp 0x1922af6b
mov eax, dword [esp + 0x24]
mov edx, eax
dec eax
mov dword [esp + 0x24], eax
test edx, edx
je 0x1922af92
mov eax, dword [esp + 0x20]
movzx edi, byte [eax]
mov ecx, edi
and ecx, 1
inc eax
add ecx, 2
shr edi, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edi
je 0x1922add5
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
sub edx, eax
cmp edi, edx
ja 0x1922af92
cmp ecx, eax
ja 0x1922af92
sub eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
test ecx, ecx
je 0x1922ade1
mov esi, eax
sub esi, edi
lea ebx, [ebx]
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
sub ecx, 1
jne 0x1922adb8
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
mov ebx, edi
lea esi, [ecx + 1]
jmp 0x1922af72
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], 1
mov ebx, edi
mov esi, 1
jmp 0x1922af72
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
call fcn.1922ab18
add esp, 4
test eax, eax
je 0x1922af92
mov eax, dword [esp + 0x18]
test esi, esi
jne 0x1922ae82
cmp eax, 2
jne 0x1922ae7d
lea ecx, [esp + 0x10]
push ecx
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], ebx
call fcn.1922ab18
add esp, 4
test eax, eax
je 0x1922af92
mov eax, dword [esp + 0x2c]
sub edi, eax
cmp ebx, edi
ja 0x1922af92
mov esi, dword [esp + 0x10]
cmp esi, eax
ja 0x1922af92
sub eax, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
test esi, esi
je 0x1922af35
mov ecx, eax
sub ecx, ebx
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
sub esi, 1
jne 0x1922ae60
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], eax
mov esi, 1
jmp 0x1922af72
sub eax, 3
jmp 0x1922ae85
sub eax, 2
mov ecx, dword [esp + 0x24]
mov edx, ecx
dec ecx
mov dword [esp + 0x24], ecx
test edx, edx
je 0x1922af92
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
shl eax, 8
add eax, edx
mov edi, eax
lea eax, [esp + 0x10]
inc ecx
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], ecx
call fcn.1922ab18
add esp, 4
test eax, eax
je 0x1922af92
mov esi, dword [esp + 0x10]
cmp edi, 0x7d00
jb 0x1922aed9
inc esi
mov dword [esp + 0x10], esi
cmp edi, 0x500
jb 0x1922aee6
inc esi
mov dword [esp + 0x10], esi
cmp edi, 0x80
jae 0x1922aef5
add esi, 2
mov dword [esp + 0x10], esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
sub ecx, eax
cmp edi, ecx
ja 0x1922af92
cmp esi, eax
ja 0x1922af92
sub eax, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
test esi, esi
je 0x1922af33
mov ecx, eax
sub ecx, edi
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
sub esi, 1
jne 0x1922af20
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], eax
mov ebx, edi
mov esi, 1
jmp 0x1922af72
mov eax, dword [esp + 0x24]
mov ecx, eax
dec eax
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x1922af92
mov eax, dword [esp + 0x2c]
mov edx, eax
dec eax
mov dword [esp + 0x2c], eax
test edx, edx
je 0x1922af92
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x20], ecx
and byte [eax - 0x9ccbff0], cl
mov byte [eax], dl
inc eax
xor esi, esi
mov dword [esp + 0x28], eax
cmp dword [esp + 0x1c], 0
je 0x1922ac6d
jmp 0x1922af88
sub eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
pushal
lea esp, [esp + 0x20]
call fcn.1926dcb6
jg 0x1922af68
movsb byte es:[edi], byte [esi]
dec esi
iretd
lea esp, [esp + 4]
jmp 0x1922afb2