Function at 0x421430
Capabilities:
Compress data using lzo

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x10
add esp, 0xfffff004
push eax
dec eax
jne 0x421439
mov eax, dword [ebp - 4]
add esp, 0xffffffe8
push ebx
push esi
mov dword [ebp - 4], ecx
mov ebx, eax
add edx, ebx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 9
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
add ebx, 4
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1001c]
xor ecx, ecx
mov edx, 0x10000
call fcn.004032b0
xor eax, eax
mov al, byte [ebx + 3]
shl eax, 6
xor edx, edx
mov dl, byte [ebx + 2]
xor eax, edx
shl eax, 5
xor edx, edx
mov dl, byte [ebx + 1]
xor eax, edx
shl eax, 5
xor edx, edx
mov dl, byte [ebx]
xor eax, edx
mov edx, eax
shl eax, 5
add eax, edx
shr eax, 5
and eax, 0x3fff
mov edx, dword [ebp + eax*4 - 0x1001c]
test edx, edx
jne 0x4214ca
mov dword [ebp + eax*4 - 0x1001c], ebx
inc ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
jmp 0x4217fb
mov dword [ebp - 0x18], edx
mov esi, ebx
sub esi, dword [ebp - 0x18]
cmp esi, 0xbfff
jg 0x4214b8
cmp esi, 0x800
jle 0x421527
mov edx, dword [ebp - 0x18]
mov dl, byte [edx + 3]
cmp dl, byte [ebx + 3]
je 0x421527
and eax, 0x7ff
xor eax, 0x201f
mov edx, dword [ebp + eax*4 - 0x1001c]
test edx, edx
je 0x4214b8
mov dword [ebp - 0x18], edx
mov esi, ebx
sub esi, dword [ebp - 0x18]
cmp esi, 0xbfff
jg 0x4214b8
cmp esi, 0x800
jle 0x421527
mov edx, dword [ebp - 0x18]
mov dl, byte [edx + 3]
cmp dl, byte [ebx + 3]
je 0x421527
jmp 0x4214b8
mov edx, dword [ebp - 0x18]
mov dx, word [edx]
cmp dx, word [ebx]
jne 0x4214b8
mov edx, dword [ebp - 0x18]
mov dl, byte [edx + 2]
cmp dl, byte [ebx + 2]
jne 0x4214b8
mov dword [ebp + eax*4 - 0x1001c], ebx
mov eax, ebx
sub eax, dword [ebp - 0x10]
test eax, eax
je 0x4215ec
cmp eax, 3
jg 0x421574
mov edx, dword [ebp - 4]
sub edx, 2
or byte [edx], al
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
add dword [ebp - 4], eax
add dword [ebp - 0x10], eax
jmp 0x4215ec
cmp eax, 0x12
jg 0x4215a0
mov edx, eax
sub dl, 3
mov ecx, dword [ebp - 4]
mov byte [ecx], dl
inc dword [ebp - 4]
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
call fcn.00421420
mov eax, ebx
sub eax, dword [ebp - 0x10]
add dword [ebp - 4], eax
add dword [ebp - 0x10], eax
jmp 0x4215ec
mov edx, eax
sub edx, 0x12
mov ecx, dword [ebp - 4]
mov byte [ecx], 0
inc dword [ebp - 4]
cmp edx, 0xff
jle 0x4215cd
sub edx, 0xff
mov ecx, dword [ebp - 4]
mov byte [ecx], 0
inc dword [ebp - 4]
cmp edx, 0xff
jg 0x4215b6
mov ecx, dword [ebp - 4]
mov byte [ecx], dl
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
xchg ecx, eax
call fcn.00402c08
mov eax, ebx
sub eax, dword [ebp - 0x10]
add dword [ebp - 4], eax
add dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 3]
cmp al, byte [ebx + 3]
jne 0x42174d
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 4]
cmp al, byte [ebx + 4]
jne 0x421748
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 5]
cmp al, byte [ebx + 5]
jne 0x421743
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 6]
cmp al, byte [ebx + 6]
jne 0x42173e
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 7]
cmp al, byte [ebx + 7]
jne 0x421739
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 8]
cmp al, byte [ebx + 8]
jne 0x421734
add ebx, 9
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
add dword [ebp - 0x18], 9
jmp 0x421659
inc ebx
inc dword [ebp - 0x18]
cmp ebx, dword [ebp - 0x14]
jae 0x421667
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
cmp al, byte [ebx]
je 0x421655
mov eax, ebx
sub eax, dword [ebp - 0x10]
cmp esi, 0x4000
jg 0x4216b1
dec esi
cmp eax, 0x21
jg 0x4216a6
sub eax, 2
or eax, 0x20
mov edx, dword [ebp - 4]
mov byte [edx], al
inc dword [ebp - 4]
shl esi, 2
mov eax, dword [ebp - 4]
mov word [eax], si
add dword [ebp - 4], 2
mov dword [ebp - 0x10], ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
jmp 0x4217fb
sub eax, 0x21
mov edx, dword [ebp - 4]
mov byte [edx], 0x20
jmp 0x4216ef
sub esi, 0x4000
cmp eax, 9
jg 0x4216d9
mov edx, esi
and edx, 0x4000
shr edx, 0xb
or edx, 0x10
sub eax, 2
or edx, eax
mov eax, dword [ebp - 4]
mov byte [eax], dl
inc dword [ebp - 4]
jmp 0x421716
sub eax, 9
mov edx, esi
and edx, 0x4000
shr edx, 0xb
or edx, 0x10
mov ecx, dword [ebp - 4]
mov byte [ecx], dl
inc dword [ebp - 4]
cmp eax, 0xff
jle 0x42170e
sub eax, 0xff
mov edx, dword [ebp - 4]
mov byte [edx], 0
inc dword [ebp - 4]
cmp eax, 0xff
jg 0x4216f9
mov edx, dword [ebp - 4]
mov byte [edx], al
inc dword [ebp - 4]
shl esi, 2
mov eax, dword [ebp - 4]
mov word [eax], si
add dword [ebp - 4], 2
mov dword [ebp - 0x10], ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
jmp 0x4217fb
add ebx, 8
jmp 0x421750
add ebx, 7
jmp 0x421750
add ebx, 6
jmp 0x421750
add ebx, 5
jmp 0x421750
add ebx, 4
jmp 0x421750
add ebx, 3
cmp esi, 0x800
jg 0x42178c
dec esi
mov eax, ebx
sub eax, dword [ebp - 0x10]
dec eax
shl eax, 5
mov edx, esi
and edx, 7
shl edx, 2
or eax, edx
shr esi, 3
shl esi, 8
or eax, esi
mov edx, dword [ebp - 4]
mov word [edx], ax
add dword [ebp - 4], 2
mov dword [ebp - 0x10], ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
jmp 0x4217fb
cmp esi, 0x4000
jg 0x4217bc
dec esi
mov eax, ebx
sub eax, dword [ebp - 0x10]
sub eax, 2
or eax, 0x20
shl esi, 0xa
or eax, esi
mov edx, dword [ebp - 4]
mov dword [edx], eax
add dword [ebp - 4], 3
mov dword [ebp - 0x10], ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
jmp 0x4217fb
sub esi, 0x4000
mov eax, ebx
sub eax, dword [ebp - 0x10]
sub eax, 2
or eax, 0x10
mov edx, esi
and edx, 0x4000
shr edx, 0xb
or eax, edx
mov edx, dword [ebp - 4]
mov byte [edx], al
inc dword [ebp - 4]
shl esi, 2
mov eax, dword [ebp - 4]
mov word [eax], si
add dword [ebp - 4], 2
mov dword [ebp - 0x10], ebx
cmp ebx, dword [ebp - 0xc]
jb 0x42147c
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4