Function at 0x45da90
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 0x45dacc
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 0x45dad9
add ecx, ecx
jmp 0x45dae2
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
test ecx, 0x100
je 0x45db09
cmp eax, edi
jae 0x45dc9a
cmp esi, edx
jae 0x45dcab
cmp esi, eax
ja 0x45dcbc
inc esi
mov dword [ebp + 0xc], esi
inc eax
jmp 0x45dad0
mov edx, 1
mov edi, edi
test cl, 0x7f
je 0x45db19
add ecx, ecx
jmp 0x45db22
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 0x45dccd
cmp esi, 0x1000002
ja 0x45dce1
test cl, 0x7f
je 0x45db4b
lea edx, [ecx + ecx]
jmp 0x45db54
movzx edx, byte [eax + ebx]
lea edx, [edx + edx + 1]
inc eax
test edx, 0x100
jne 0x45db89
test dl, 0x7f
je 0x45db72
lea ecx, [edx + edx]
mov edx, ecx
shr edx, 8
and edx, 1
lea edx, [edx + esi*2 - 2]
jmp 0x45db10
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 0x45db10
cmp esi, 2
jne 0x45dbb5
mov edi, dword [ebp - 8]
test dl, 0x7f
je 0x45dba2
add edx, edx
mov esi, edx
shr esi, 8
and esi, 1
jmp 0x45dbe2
movzx edx, byte [eax + ebx]
lea edx, [edx + edx + 1]
mov esi, edx
shr esi, 8
inc eax
and esi, 1
jmp 0x45dbe2
cmp eax, edi
jae 0x45dcf5
movzx ecx, byte [eax + ebx]
add esi, 0xfffffffd
shl esi, 8
add ecx, esi
inc eax
cmp ecx, 0xffffffff
je 0x45dd09
mov esi, ecx
not esi
and esi, 1
shr ecx, 1
lea edi, [ecx + 1]
mov dword [ebp - 8], edi
test dl, 0x7f
je 0x45dbec
lea ecx, [edx + edx]
jmp 0x45dbf5
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 0x45dc5c
mov edx, 1
lea esp, [esp]
test cl, 0x7f
je 0x45dc19
add ecx, ecx
jmp 0x45dc22
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 0x45dccd
cmp edx, dword [ebp - 4]
jae 0x45dd2f
test cl, 0x7f
je 0x45dc48
add ecx, ecx
jmp 0x45dc51
movzx ecx, byte [eax + ebx]
lea ecx, [ecx + ecx + 1]
inc eax
test ecx, 0x100
je 0x45dc10
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 0x45dd43
mov esi, dword [ebp + 0xc]
cmp edi, esi
ja 0x45dd57
inc edx
mov dword [ebp + 0xc], edx
cmp edx, eax
ja 0x45dd68
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov esi, dword [ebp + 0xc]
jmp 0x45dad0
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 0x45dd1e
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