Function at 0x407f7a
Capabilities:
Decompress data using lzo

Disassembly:
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
push ebx
push ebp
mov ecx, dword [edx]
mov ebp, dword [esp + 0x14]
and dword [edx], 0
mov edx, ebp
push esi
mov esi, dword [esp + 0x10]
push edi
lea edi, [ecx + ebp]
mov dword [esp + 0x18], edi
lea ebx, [esi + eax]
mov dword [esp + 0x14], ebx
cmp eax, 1
jb 0x40822b
mov al, byte [esi]
cmp al, 0x11
jbe 0x407fe9
movzx edi, al
sub edi, 0x11
inc esi
cmp edi, 4
jb 0x408159
cmp ecx, edi
jb 0x408325
mov ecx, ebx
lea eax, [edi + 3]
sub ecx, esi
cmp ecx, eax
jb 0x40822b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
sub edi, 1
jne 0x407fd9
jmp 0x408096
mov eax, ebx
sub eax, esi
cmp eax, 3
jb 0x40822b
movzx edi, byte [esi]
inc esi
cmp edi, 0x10
jae 0x4080e9
test edi, edi
jne 0x408038
jmp 0x408029
add edi, 0xff
inc esi
cmp edi, 0xfffffe01
ja 0x40822b
mov eax, ebx
sub eax, esi
cmp eax, 1
jb 0x40822b
mov al, byte [esi]
test al, al
je 0x408009
add edi, 0xf
movzx eax, al
add edi, eax
inc esi
mov ecx, dword [esp + 0x18]
lea eax, [edi + 3]
sub ecx, edx
cmp ecx, eax
jb 0x408325
mov ecx, ebx
lea eax, [edi + 6]
sub ecx, esi
cmp ecx, eax
jb 0x40822b
mov eax, dword [esi]
push 4
pop ecx
mov dword [edx], eax
add esi, ecx
add edx, ecx
sub edi, 1
je 0x408096
cmp edi, ecx
jb 0x40808b
mov eax, dword [esi]
sub edi, ecx
mov dword [edx], eax
add esi, ecx
add edx, ecx
cmp edi, ecx
jae 0x40806c
test edi, edi
je 0x408096
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
sub edi, 1
jne 0x40807e
jmp 0x408096
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
sub edi, 1
jne 0x40808b
movzx edi, byte [esi]
inc esi
cmp edi, 0x10
jae 0x4080e9
movzx eax, byte [esi]
mov ecx, edx
shl eax, 2
sub ecx, eax
shr edi, 2
sub ecx, edi
sub ecx, 0x801
inc esi
cmp ecx, ebp
jb 0x40832c
cmp ecx, edx
jae 0x40832c
mov eax, dword [esp + 0x18]
sub eax, edx
cmp eax, 3
jb 0x408325
mov al, byte [ecx]
mov byte [edx], al
mov al, byte [ecx + 1]
mov byte [edx + 1], al
mov al, byte [ecx + 2]
mov byte [edx + 2], al
add edx, 3
jmp 0x40814c
cmp edi, 0x40
jb 0x40819b
mov eax, edi
mov ebx, edx
shr eax, 2
and eax, 7
shr edi, 5
sub ebx, eax
movzx eax, byte [esi]
shl eax, 3
sub ebx, eax
dec ebx
inc esi
dec edi
cmp ebx, ebp
jb 0x40832c
cmp ebx, edx
jae 0x40832c
mov ecx, dword [esp + 0x18]
lea eax, [edi + 2]
sub ecx, edx
cmp ecx, eax
jb 0x408325
mov al, byte [ebx]
mov byte [edx], al
mov al, byte [ebx + 1]
mov byte [edx + 1], al
add edx, 2
add ebx, 2
mov al, byte [ebx]
mov byte [edx], al
inc edx
inc ebx
sub edi, 1
jne 0x40813d
mov ebx, dword [esp + 0x14]
movzx edi, byte [esi - 2]
and edi, 3
je 0x407fe9
mov eax, dword [esp + 0x18]
sub eax, edx
cmp eax, edi
jb 0x408325
mov ecx, ebx
lea eax, [edi + 3]
sub ecx, esi
cmp ecx, eax
jb 0x40822b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
cmp edi, 1
jbe 0x408192
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
cmp edi, 2
jbe 0x408192
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx edi, byte [esi]
inc esi
jmp 0x4080e9
cmp edi, 0x20
jb 0x4081eb
and edi, 0x1f
jne 0x4081db
jmp 0x4081c3
add edi, 0xff
inc esi
cmp edi, 0xfffffe01
ja 0x408325
mov eax, ebx
sub eax, esi
cmp eax, 1
jb 0x40822b
mov al, byte [esi]
test al, al
je 0x4081a7
movzx eax, al
add eax, 0x1f
add edi, eax
inc esi
mov eax, ebx
sub eax, esi
cmp eax, 2
jb 0x40822b
movzx eax, word [esi]
lea ebx, [edx - 1]
shr eax, 2
sub ebx, eax
add esi, 2
jmp 0x408266
cmp edi, 0x10
jb 0x4082d0
mov ecx, dword [esp + 0x14]
mov eax, edi
and eax, 8
mov ebx, edx
shl eax, 0xb
sub ebx, eax
and edi, 7
jne 0x40824d
mov al, byte [esi]
test al, al
jne 0x40823b
add edi, 0xff
inc esi
cmp edi, 0xfffffe01
ja 0x408325
mov eax, ecx
sub eax, esi
cmp eax, 1
jae 0x408209
push 0xfffffffffffffffc
mov eax, dword [esp + 0x24]
sub edx, ebp
mov dword [eax], edx
pop eax
pop edi
pop esi
pop ebp
pop ebx
ret
movzx eax, al
add eax, 7
add edi, eax
inc esi
mov eax, ecx
sub eax, esi
cmp eax, 2
jb 0x40822b
movzx eax, word [esi]
add esi, 2
shr eax, 2
sub ebx, eax
cmp ebx, edx
je 0x408307
sub ebx, 0x4000
cmp ebx, ebp
jb 0x40832c
cmp ebx, edx
jae 0x40832c
mov ecx, dword [esp + 0x18]
lea eax, [edi + 2]
sub ecx, edx
cmp ecx, eax
jb 0x408325
cmp edi, 6
jb 0x40812d
mov eax, edx
sub eax, ebx
push 4
pop ecx
cmp eax, ecx
jl 0x40812d
mov eax, dword [ebx]
add ebx, ecx
mov dword [edx], eax
add edx, ecx
sub edi, 2
mov eax, dword [ebx]
sub edi, ecx
mov dword [edx], eax
add ebx, ecx
add edx, ecx
cmp edi, ecx
jae 0x4082aa
test edi, edi
je 0x408148
mov al, byte [ebx]
mov byte [edx], al
inc edx
inc ebx
sub edi, 1
jne 0x4082c0
jmp 0x408148
movzx eax, byte [esi]
mov ecx, edx
shl eax, 2
shr edi, 2
sub ecx, eax
sub ecx, edi
inc esi
lea edi, [ecx - 1]
cmp edi, ebp
jb 0x40832c
cmp edi, edx
jae 0x40832c
mov eax, dword [esp + 0x18]
sub eax, edx
cmp eax, 2
jb 0x408325
mov al, byte [edi]
mov byte [edx], al
mov al, byte [ecx]
mov byte [edx + 1], al
add edx, 2
jmp 0x40814c
mov eax, dword [esp + 0x20]
sub edx, ebp
cmp esi, ecx
mov dword [eax], edx
sbb eax, eax
and eax, 0xfffffffc
xor edx, edx
add eax, 0xfffffffc
cmp esi, ecx
cmove eax, edx
jmp 0x408236
push 0xfffffffffffffffb
jmp 0x40822d
push 0xfffffffffffffffa
jmp 0x40822d