Function at 0x45cb10
Capabilities:
Decompress data using ucl

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
push esi
push edi
mov edi, dword [ebp + 0x10]
add edi, eax
xor esi, esi
xor ecx, ecx
mov dword [ebp + 0xc], esi
mov dword [ebp - 8], 1
mov dword [ebp - 4], edx
mov dword [ebp + 0x10], edi
cmp edx, edi
jb 0x45cb4c
pop edi
pop esi
mov dword [ebx], ecx
mov eax, 0xffffff32
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
nop
test cl, 0x7f
je 0x45cb59
add ecx, ecx
jmp 0x45cb62
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
test ecx, 0x100
je 0x45cb89
cmp eax, edi
jae 0x45cd1a
cmp esi, edx
jae 0x45cd2b
cmp esi, eax
ja 0x45cd3c
inc esi
mov dword [ebp + 0xc], esi
inc eax
jmp 0x45cb50
mov edx, 1
mov edi, edi
test cl, 0x7f
je 0x45cb99
add ecx, ecx
jmp 0x45cba2
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
mov esi, ecx
shr esi, 8
and esi, 1
lea esi, [esi + edx*2]
cmp eax, edi
jae 0x45cd4d
cmp esi, 0x1000002
ja 0x45cd61
test cl, 0x7f
je 0x45cbcb
lea edx, [ecx + ecx]
jmp 0x45cbd4
movzx edx, byte [eax + ebx]
lea edx, [edx + edx + 1]
inc eax
test edx, 0x100
jne 0x45cc09
test dl, 0x7f
je 0x45cbf2
lea ecx, [edx + edx]
mov edx, ecx
shr edx, 8
and edx, 1
lea edx, [edx + esi*2 - 2]
jmp 0x45cb90
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
mov edx, ecx
shr edx, 8
inc eax
and edx, 1
lea edx, [edx + esi*2 - 2]
jmp 0x45cb90
cmp esi, 2
jne 0x45cc35
mov edi, dword [ebp - 8]
test dl, 0x7f
je 0x45cc22
add edx, edx
mov esi, edx
shr esi, 8
and esi, 1
jmp 0x45cc62
movzx edx, byte [eax + ebx]
lea edx, [edx + edx + 1]
mov esi, edx
shr esi, 8
inc eax
and esi, 1
jmp 0x45cc62
cmp eax, edi
jae 0x45cd75
movzx ecx, byte [eax + ebx]
add esi, 0xfffffffd
shl esi, 8
add ecx, esi
inc eax
cmp ecx, 0xffffffff
je 0x45cd89
mov esi, ecx
not esi
and esi, 1
shr ecx, 1
lea edi, [ecx + 1]
mov dword [ebp - 8], edi
test dl, 0x7f
je 0x45cc6c
lea ecx, [edx + edx]
jmp 0x45cc75
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
mov edx, ecx
shr edx, 8
and edx, 1
lea edx, [edx + esi*2]
test edx, edx
jne 0x45ccdc
mov edx, 1
lea esp, [esp]
test cl, 0x7f
je 0x45cc99
add ecx, ecx
jmp 0x45cca2
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
mov esi, ecx
shr esi, 8
and esi, 1
lea edx, [esi + edx*2]
cmp eax, dword [ebp + 0x10]
jae 0x45cd4d
cmp edx, dword [ebp - 4]
jae 0x45cdaf
test cl, 0x7f
je 0x45ccc8
add ecx, ecx
jmp 0x45ccd1
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
test ecx, 0x100
je 0x45cc90
add edx, 2
mov esi, 0x500
cmp esi, edi
sbb esi, esi
neg esi
add edx, esi
add edx, dword [ebp + 0xc]
cmp edx, dword [ebp - 4]
ja 0x45cdc3
mov esi, dword [ebp + 0xc]
cmp edi, esi
ja 0x45cdd7
inc edx
mov dword [ebp + 0xc], edx
cmp edx, eax
ja 0x45cde8
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov esi, dword [ebp + 0xc]
jmp 0x45cb50
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], esi
pop esi
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x14]
pop edi
mov dword [edx], esi
pop esi
mov eax, 0xffffff32
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [ecx], eax
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], edx
mov eax, 0xffffff35
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [edx], ecx
mov eax, 0xffffff37
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
cmp eax, edi
jne 0x45cd9e
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]
mov edx, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], edx
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [edx], ecx
mov eax, 0xffffff36
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], esi
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], edx
mov eax, 0xffffff32
pop ebx
mov esp, ebp
pop ebp
ret