Function at 0x45c6c0
Capabilities:
Decompress data using ucl

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [esi]
add edx, eax
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 8], 1
mov dword [ebp - 4], edi
mov dword [ebp + 0x10], edx
cmp edi, edx
jb 0x45c6f9
pop edi
mov dword [esi], ecx
pop esi
mov eax, 0xffffff32
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea esp, [esp]
add ecx, ecx
test cx, cx
jne 0x45c71c
movzx ecx, byte [eax + edx + 1]
movzx esi, byte [eax + edx]
add eax, 2
shl ecx, 8
add ecx, esi
lea ecx, [ecx + ecx + 1]
mov esi, ecx
shr esi, 0x10
and esi, 1
test esi, esi
je 0x45c745
cmp eax, dword [ebp + 0x10]
jae 0x45c8d7
cmp ebx, edi
jae 0x45c8e8
cmp ebx, eax
ja 0x45c974
inc ebx
inc eax
jmp 0x45c700
mov edi, 1
lea ebx, [ebx]
lea esi, [ecx + ecx]
test si, si
jne 0x45c76d
movzx esi, byte [eax + edx + 1]
movzx ecx, byte [eax + edx]
add eax, 2
shl esi, 8
add esi, ecx
lea esi, [esi + esi + 1]
mov ecx, esi
shr ecx, 0x10
and ecx, 1
lea edi, [ecx + edi*2]
cmp eax, dword [ebp + 0x10]
jae 0x45c8d7
cmp edi, 0x1000002
ja 0x45c8f9
lea ecx, [esi + esi]
test cx, cx
jne 0x45c7aa
movzx ecx, byte [eax + edx + 1]
movzx esi, byte [eax + edx]
add eax, 2
shl ecx, 8
add ecx, esi
lea ecx, [ecx + ecx + 1]
mov esi, ecx
shr esi, 0x10
and esi, 1
test esi, esi
je 0x45c750
cmp edi, 2
jne 0x45c7c0
mov esi, dword [ebp - 8]
jmp 0x45c7e3
cmp eax, dword [ebp + 0x10]
jae 0x45c90a
movzx esi, byte [eax + edx]
add edi, 0xfffffffd
shl edi, 8
add esi, edi
inc eax
cmp esi, 0xffffffff
je 0x45c91b
inc esi
mov dword [ebp - 8], esi
add ecx, ecx
mov dword [ebp + 0xc], esi
test cx, cx
jne 0x45c802
movzx ecx, byte [eax + edx + 1]
movzx esi, byte [eax + edx]
add eax, 2
shl ecx, 8
add ecx, esi
lea ecx, [ecx + ecx + 1]
mov edi, ecx
shr edi, 0x10
add ecx, ecx
and edi, 1
test cx, cx
jne 0x45c826
movzx ecx, byte [eax + edx + 1]
movzx esi, byte [eax + edx]
add eax, 2
shl ecx, 8
add ecx, esi
lea ecx, [ecx + ecx + 1]
mov esi, ecx
shr esi, 0x10
and esi, 1
lea edi, [esi + edi*2]
test edi, edi
jne 0x45c8a6
mov edi, 1
lea ebx, [ebx]
lea esi, [ecx + ecx]
test si, si
jne 0x45c85d
movzx esi, byte [eax + edx + 1]
movzx ecx, byte [eax + edx]
add eax, 2
shl esi, 8
add esi, ecx
lea esi, [esi + esi + 1]
mov ecx, esi
shr ecx, 0x10
and ecx, 1
lea edi, [ecx + edi*2]
cmp eax, dword [ebp + 0x10]
jae 0x45c941
cmp edi, dword [ebp - 4]
jae 0x45c952
lea ecx, [esi + esi]
test cx, cx
jne 0x45c897
movzx ecx, byte [eax + edx + 1]
movzx esi, byte [eax + edx]
add eax, 2
shl ecx, 8
add ecx, esi
lea ecx, [ecx + ecx + 1]
mov esi, ecx
shr esi, 0x10
and esi, 1
test esi, esi
je 0x45c840
add edi, 2
mov esi, 0xd00
cmp esi, dword [ebp + 0xc]
sbb esi, esi
neg esi
add esi, edi
add esi, ebx
cmp esi, dword [ebp - 4]
ja 0x45c963
cmp dword [ebp + 0xc], ebx
ja 0x45c8f9
lea ebx, [esi + 1]
cmp ebx, eax
ja 0x45c974
mov edi, dword [ebp - 4]
jmp 0x45c700
mov edx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [edx], ebx
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], ebx
pop esi
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], ebx
pop esi
mov eax, 0xffffff35
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [ecx], ebx
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [edx], ebx
cmp eax, ecx
jne 0x45c930
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], ebx
pop esi
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [ecx], ebx
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [edx], ebx
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [ecx], ebx
mov eax, 0xffffff32
pop ebx
mov esp, ebp
pop ebp
ret