Function at 0x1000121b
Capabilities:
Decompress data using aplib

Disassembly:
ror ebp, cl
mov ebp, esp
and esp, 0xfffffff8
nop
sub esp, 0x18
mov esp, esp
mov cl, byte [eax]
push edi
pop edi
and dword [esp + 0x14], 0
mov al, al
push esi
xchg dl, dl
jmp 0x1000165f
push ebp
mov esi, esi
jmp 0x100010d5
jmp 0x10002b8b
xor esi, esi
xchg ax, ax
and dword [esp + 8], esi
mov edi, edi
mov byte [ebx], cl
mov ebp, ebp
lea ecx, [ebx + 1]
jmp 0x1000167e
inc eax
nop
push edi
push eax
pop eax
jmp 0x10001b9b
inc eax
xchg edi, edi
jmp 0x10002aa0
mov dword [esp + 0x14], ecx
xchg cx, cx
mov dword [esp + 0x10], eax
nop
lea ecx, [esp + 0x10]
jmp 0x10001bcb
call fcn.100011d2
nop
test eax, eax
jmp 0x10001be4
je 0x10002bfc
call fcn.100011d2
nop
test eax, eax
jmp 0x10001c0a
je 0x1000268a
nop
nop
nop
nop
nop
call fcn.100011d2
push eax
pop eax
test eax, eax
jmp 0x10001c40
je 0x10002263
push 0x20
jmp 0x10001c4e
xor dword [esp], 0x24
xor esi, esi
nop
and edi, edx
or edi, 0xb8957ca
sub edi, edx
or edi, esi
xor edi, esp
pop edi
lea ecx, [esp + 0x10]
jmp 0x10001c7a
call fcn.100011d2
nop
dec edi
push edi
pop edi
jmp 0x10001e9d
lea esi, [eax + esi*2]
jmp 0x10001eb2
jne 0x10001c67
test esi, esi
jmp 0x10001ec8
mov eax, dword [esp + 0x14]
jmp 0x10001ed8
je 0x10002253
jmp 0x10002234
xor ecx, dword [esp]
xor cl, bl
mov ecx, dword [esp + 0x14]
sub eax, esi
nop
mov al, byte [eax]
xchg dl, dl
mov byte [ecx], al
nop
jmp 0x10002259
mov byte [eax], 0
mov cx, cx
inc dword [esp + 0x14]
nop
jmp 0x10002c62
xor eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
jmp 0x100022fc
movzx ecx, byte [eax]
jmp 0x1000231f
inc dword [esp + 0x10]
mov cx, cx
xor edx, edx
nop
jmp 0x100024e6
inc edx
xchg esp, esp
xor ax, 0x4c8f
ror ax, cl
mov eax, ecx
jmp 0x1000251e
and eax, edx
nop
inc eax
mov eax, eax
inc eax
mov esp, esp
shr ecx, 1
jmp 0x1000253e
je 0x100025fa
test eax, eax
jmp 0x1000255a
je 0x10002600
dec dx
inc edx
mov edx, dword [esp + 0x14]
add esi, eax
add esi, 0xb7b6b87
mov esi, 0x5f486f06
mov esi, dword [esp + 0x14]
jmp 0x100025c8
sub edx, ecx
mov cx, cx
mov dl, byte [edx]
nop
inc dword [esp + 0x14]
nop
dec eax
xchg cx, cx
mov byte [esi], dl
jmp 0x100025ef
jne 0x10002560
jmp 0x10002600
mov dword [esp + 0xc], edx
push esp
pop esp
mov dword [esp + 8], ecx
nop
jmp 0x1000138d
call fcn.10001202
mov bx, bx
test esi, esi
jmp 0x100026b2
jne 0x1000283c
cmp eax, 2
mov esi, esi
jne 0x10002833
lea ecx, [esp + 0x10]
jmp 0x100026e2
jmp 0x10002736
call fcn.10001202
xchg cl, cl
test eax, eax
jmp 0x1000275c
je 0x10002b8b
sub ecx, dword [esp + 4]
sub cl, 0xa7
add ecx, 0x29611aaf
sub ecx, esi
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 8]
mov dl, dl
add dx, dx
inc dl
mov edx, dword [esp + 0x14]
jmp 0x100027fd
mov cl, byte [ecx]
mov bl, bl
inc dword [esp + 0x14]
nop
dec eax
push ecx
pop ecx
mov byte [edx], cl
jmp 0x10002823
jne 0x10002762
nop
nop
nop
nop
nop
jmp 0x10002b8b
sub eax, 3
nop
jmp 0x10002842
dec eax
mov al, al
dec eax
nop
sub ecx, dword [esp + 0x20]
shl cx, cl
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx]
jmp 0x1000286a
jmp 0x1000289a
shl eax, 8
jmp 0x100028a9
jmp 0x1000290b
add eax, ecx
mov eax, eax
jmp 0x10002932
inc dword [esp + 0x10]
push esi
pop esi
lea ecx, [esp + 0x10]
jmp 0x1000295d
jmp 0x10002992
shr esi, cl
shl esi, cl
add esi, 0x2f363289
mov esi, eax
call fcn.10001202
xchg edi, edi
jmp 0x100029f8
cmp esi, 0x7d00
nop
jb 0x10002a0a
inc eax
xchg ax, ax
cmp esi, 0x500
mov ebp, ebp
jb 0x10002aa0
jmp 0x10001688
cmp esi, 0x80
xchg bx, bx
jae 0x10002ab5
inc eax
push eax
pop eax
inc eax
mov ebp, ebp
test eax, eax
jmp 0x10002acf
je 0x10002b85
and ecx, 0x3ce815b3
and ecx, 0x49d3336e
dec ecx
inc ecx
add cx, 0xe3a
mov ecx, dword [esp + 0x14]
jmp 0x10002b28
and dx, cx
mov edx, dword [esp + 0x14]
sub ecx, esi
nop
mov cl, byte [ecx]
mov dx, dx
inc dword [esp + 0x14]
mov cx, cx
dec eax
push eax
pop eax
mov byte [edx], cl
jmp 0x10002b67
jne 0x10002ad5
jmp 0x10002b85
mov dword [esp + 8], esi
mov dl, dl
xor esi, esi
xchg dl, dl
inc esi
nop
jmp 0x10002c66
or eax, dword [esp + 0x10]
dec al
mov eax, eax
xor ax, 0x5c1c
mov eax, dword [esp + 0x10]
or cl, 0xd0
xor ecx, 0x5fd452e0
mov ecx, dword [esp + 0x14]
mov al, byte [eax]
xchg bl, bl
inc dword [esp + 0x14]
xchg ax, ax
jmp 0x10002c59
inc dword [esp + 0x10]
nop
mov byte [ecx], al
xchg dl, dl
xor esi, esi
mov ecx, ecx
cmp dword [esp + 0xc], 0
mov ax, ax
je 0x10001ba7
inc eax
sub al, dl
xor eax, 0x7bc446ef
or eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
sub edi, 0x7f675057
pop edi
sub eax, ebx
nop
or esi, 0x316d60ff
add esi, ebp
and esi, esi
pop esi
jmp 0x10002cd4
ror esp, cl
mov esp, ebp
sub ebp, 0x6bfa0893
dec ebp
shl ebp, cl
and ebp, ebp
sub ebp, eax
pop ebp
ret