Function at 0x4c6a70
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x18c
mov eax, dword [ebx + 0x20]
mov esi, dword [edx]
mov dword [esp + 0x3c], edx
mov ebp, dword [edx + 4]
mov dword [esp + 0x38], ecx
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x34]
mov edx, eax
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x30]
cmp edx, eax
jae 0x4c6ad0
sub eax, edx
sub eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
mov edx, esi
mov dword [esp + 0x2c], ebx
mov esi, edi
mov edi, edx
cmp eax, 9
ja case.default.0x4c6ac9
mov ecx, edi
mov ebx, ebp
mov edi, esi
mov esi, ecx
jmp dword [eax*4 + 0x50dacc]
mov eax, dword [ebx + 0x2c]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
jmp 0x4c6aac
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
je 0x4c8fc8
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x2c]
mov dword [eax + 8], 0
mov dword [eax], 5
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x40], esi
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov eax, edx
shr edx, 5
and eax, 0x1f
and edx, 0x1f
lea ecx, [eax + edx + 0x102]
cmp ecx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
jbe 0x4c87ca
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x10]
cmp edi, edx
jae 0x4c6b9b
test ebx, ebx
je 0x4c838f
mov ecx, edi
mov esi, dword [esp + 0x40]
jmp 0x4c6b78
test ebx, ebx
je 0x4c79b5
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or ebp, eax
cmp edx, ecx
ja 0x4c6b70
mov edi, ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], 0
mov eax, dword [edx*4 + 0x50dc80]
and eax, ebp
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
lea eax, [eax + edx*8]
movzx ecx, byte [eax + 1]
mov eax, dword [eax + 4]
cmp eax, 0xf
mov dword [esp + 0x4c], eax
mov byte [esp + 0x50], cl
mov dword [esp + 0x48], ecx
ja 0x4c7aa0
mov esi, dword [esp + 0x44]
shr ebp, cl
mov ecx, dword [esp + 0x2c]
sub edi, dword [esp + 0x48]
mov edx, esi
mov eax, dword [ecx + 0xc]
add edx, 1
mov dword [ecx + 8], edx
mov edx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + edx*4], esi
mov eax, dword [ecx + 8]
mov dword [esp + 0x44], eax
mov eax, ecx
jmp 0x4c6b2b
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ebp + 0x24]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ebp + 0x20]
test eax, eax
mov ecx, dword [esp + 0x4c]
je 0x4c8fe6
movzx edx, byte [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x3c]
mov byte [eax + 0x10], dl
movzx edx, byte [esp + 0x44]
mov byte [eax + 0x11], dl
mov edx, dword [esp + 0x40]
mov dword [eax + 0x18], edx
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
call dword [ecx + 0x24]
mov dword [ebp], 6
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, esi
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x1c], edi
sub eax, dword [edx]
mov dword [edx + 4], ebx
add dword [edx + 8], eax
mov dword [edx], esi
mov eax, ecx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x34], edx
cmp edx, eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x40], ecx
jae 0x4c7a73
sub eax, edx
sub eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
cmp eax, 9
ja case.default.0x4c6cf5
jmp dword [eax*4 + 0x50daf4]
cmp edi, 2
mov edx, esi
ja 0x4c6d2b
test ebx, ebx
je 0x4c7a66
movzx eax, byte [esi]
mov ecx, edi
lea edx, [esi + 1]
sub ebx, 1
add edi, 8
mov dword [esp + 0x38], 0
shl eax, cl
or dword [esp + 0x34], eax
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
mov eax, esi
and eax, 1
mov dword [ebp + 0x18], eax
mov eax, esi
and eax, 7
shr eax, 1
cmp eax, 2
je 0x4c80ce
cmp eax, 3
je 0x4c8340
cmp eax, 1
je 0x4c82d6
mov eax, esi
lea esi, [edi - 3]
mov dword [ebp], 1
shr eax, 3
mov ecx, esi
and ecx, 7
shr eax, cl
sub esi, ecx
mov dword [esp + 0x34], eax
mov edi, esi
mov eax, 1
mov esi, edx
jmp switch.0x004c6ac9
mov eax, esi
mov esi, edi
mov ebp, ebx
cmp esi, 0x1f
mov edi, eax
ja 0x4c6e33
test ebx, ebx
je 0x4c8785
movzx edx, byte [edi]
mov ecx, esi
lea ebx, [ebx - 1]
lea eax, [eax + 1]
shl edx, cl
lea ecx, [esi + 8]
or dword [esp + 0x34], edx
cmp ecx, 0x1f
ja 0x4c829c
test ebx, ebx
je 0x4c82a5
movzx edx, byte [edi + 1]
lea ebx, [ebp - 2]
lea eax, [edi + 2]
shl edx, cl
lea ecx, [esi + 0x10]
or dword [esp + 0x34], edx
cmp ecx, 0x1f
ja 0x4c829c
test ebx, ebx
je 0x4c82a5
movzx edx, byte [edi + 2]
lea ebx, [ebp - 3]
lea eax, [edi + 3]
shl edx, cl
lea ecx, [esi + 0x18]
or dword [esp + 0x34], edx
cmp ecx, 0x1f
ja 0x4c829c
test ebx, ebx
je 0x4c82a5
movzx edx, byte [edi + 3]
lea eax, [edi + 4]
sub ebp, 4
add esi, 0x20
shl edx, cl
or dword [esp + 0x34], edx
mov edi, eax
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x34]
mov edx, eax
movzx eax, ax
not edx
shr edx, 0x10
cmp edx, eax
jne 0x4c8ba2
mov eax, dword [esp + 0x2c]
test edx, edx
mov dword [eax + 4], edx
mov eax, 2
jne 0x4c6e68
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x18], 1
sbb eax, eax
not eax
and eax, 7
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x34], 0
mov dword [esi], eax
xor esi, esi
jmp 0x4c6ab8
cmp edi, 0xd
ja 0x4c6edf
test ebx, ebx
je 0x4c7a66
lea eax, [ebx - 1]
mov ecx, edi
lea edx, [esi + 1]
mov dword [esp + 0x38], eax
movzx eax, byte [esi]
shl eax, cl
lea ecx, [edi + 8]
or dword [esp + 0x34], eax
mov ebp, dword [esp + 0x34]
cmp ecx, 0xd
ja 0x4c8794
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4c7bb0
movzx eax, byte [esi + 1]
lea edx, [esi + 2]
sub ebx, 2
add edi, 0x10
shl eax, cl
mov ecx, ebp
or ecx, eax
mov dword [esp + 0x34], ecx
mov esi, edx
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov eax, edx
and edx, 0x1f
and eax, 0x3fff
cmp edx, 0x1d
mov dword [ecx + 4], eax
ja 0x4c89e6
shr eax, 5
and eax, 0x1f
cmp eax, 0x1d
ja 0x4c89e6
lea eax, [edx + eax + 0x102]
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [edx + 0x20]
mov ecx, dword [esp + 0x2c]
test eax, eax
mov dword [ecx + 0xc], eax
je 0x4c8bc2
shr dword [esp + 0x34], 0xe
sub edi, 0xe
mov dword [ecx + 8], 0
mov dword [ecx], 4
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 4]
mov edx, ecx
mov dword [esp + 0x40], ecx
shr edx, 0xa
add edx, 4
cmp edx, eax
jbe 0x4c6fdc
mov ecx, edi
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], ebx
cmp ecx, 2
ja 0x4c6fa4
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x4c7932
movzx edx, byte [esi]
sub ebx, 1
add esi, 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], 0
shl edx, cl
add ecx, 8
or ebp, edx
lea edx, [eax + 1]
mov ebx, dword [edi + 0xc]
mov eax, dword [eax*4 + 0x50dc00]
sub ecx, 3
mov dword [edi + 8], edx
mov edx, ebp
shr ebp, 3
and edx, 7
mov dword [ebx + eax*4], edx
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
shr edx, 0xa
add edx, 4
cmp eax, edx
jb 0x4c6f77
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x34], ebp
mov edi, ecx
cmp eax, 0x12
mov edx, dword [esp + 0x2c]
ja 0x4c7004
lea ecx, [eax + 1]
mov eax, dword [eax*4 + 0x50dc00]
mov dword [edx + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [ecx + eax*4], 0
mov eax, dword [edx + 8]
cmp eax, 0x12
jbe 0x4c6fe5
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x10], 7
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 4
mov dword [esp + 4], 0x13
mov dword [esp + 0x68], ecx
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x88], eax
je 0x4c8dd3
mov eax, dword [esp + 0x44]
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
lea ecx, [eax + 0x4c]
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
add eax, 4
mov edx, dword [eax - 4]
add dword [esp + edx*4 + 0x100], 1
cmp eax, ecx
jne 0x4c7100
cmp dword [esp + 0x100], 0x13
je 0x4c8983
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
test eax, eax
mov dword [esp + 0x40], eax
jne 0x4c8dcc
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x4c8d93
mov eax, dword [esp + 0x10c]
test eax, eax
jne 0x4c8df8
mov ebp, dword [esp + 0x110]
test ebp, ebp
jne 0x4c8df1
mov ecx, dword [esp + 0x114]
test ecx, ecx
jne 0x4c8dea
mov edx, dword [esp + 0x118]
test edx, edx
jne 0x4c8de3
mov eax, dword [esp + 0x11c]
test eax, eax
jne 0x4c8ecd
mov eax, dword [esp + 0x120]
test eax, eax
jne 0x4c8ec3
mov eax, dword [esp + 0x124]
test eax, eax
jne 0x4c8eb9
mov eax, dword [esp + 0x128]
test eax, eax
jne 0x4c8eaf
mov eax, dword [esp + 0x12c]
test eax, eax
jne 0x4c8ea5
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x4c8e9b
mov ebp, dword [esp + 0x134]
test ebp, ebp
jne 0x4c8e91
mov ecx, dword [esp + 0x138]
test ecx, ecx
jne 0x4c8e87
mov eax, dword [esp + 0x13c]
test eax, eax
mov ebp, eax
jne 0x4c8f1b
cmp dword [esp + 0x6c], 0xf
mov dword [esp + 0x48], 0x10000
mov eax, 0x10000
jbe 0x4c8961
mov ecx, 0x10
mov dword [esp + 0x58], 0x10
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], edx
test ebp, ebp
jne 0x4c8d82
mov edx, dword [esp + 0x138]
test edx, edx
jne 0x4c8d4c
mov ebp, dword [esp + 0x134]
test ebp, ebp
jne 0x4c8f0a
mov edx, dword [esp + 0x130]
test edx, edx
jne 0x4c8ef9
mov ebp, dword [esp + 0x12c]
test ebp, ebp
jne 0x4c8ee8
mov edx, dword [esp + 0x128]
test edx, edx
jne 0x4c8ed7
mov ebp, dword [esp + 0x124]
test ebp, ebp
jne 0x4c8e76
mov edx, dword [esp + 0x120]
test edx, edx
jne 0x4c8e65
mov ebp, dword [esp + 0x11c]
test ebp, ebp
jne 0x4c8e54
mov edx, dword [esp + 0x118]
test edx, edx
jne 0x4c8e43
mov ebp, dword [esp + 0x114]
test ebp, ebp
jne 0x4c8e32
mov edx, dword [esp + 0x110]
test edx, edx
jne 0x4c8e21
mov ebp, dword [esp + 0x10c]
test ebp, ebp
jne 0x4c8e10
mov edx, dword [esp + 0x108]
test edx, edx
jne 0x4c8dff
mov ebp, dword [esp + 0x40]
xor edx, edx
test ebp, ebp
setne dl
mov dword [esp + 0x40], edx
cmp edx, dword [esp + 0x6c]
mov dword [esp + 0x90], edx
jae 0x4c732e
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], edx
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x10], ebp
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jbe 0x4c7492
mov eax, dword [esp + 0x48]
sub eax, dword [esp + ecx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 1]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 2]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 3]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 4]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 5]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 6]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 7]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 8]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 9]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 0xa]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 0xb]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
lea edx, [ecx + 0xc]
add eax, eax
cmp edx, ebp
jae 0x4c7492
sub eax, dword [esp + edx*4 + 0x100]
js 0x4c8774
add ecx, 0xd
add eax, eax
cmp ecx, ebp
jae 0x4c7492
sub eax, dword [esp + 0x138]
js 0x4c8774
add eax, eax
mov ebp, dword [esp + 0x40]
mov edx, eax
sub edx, dword [esp + ebp*4 + 0x100]
mov dword [esp + 0xa8], edx
js 0x4c8774
mov dword [esp + ebp*4 + 0x100], eax
xor edx, edx
xor eax, eax
sub ebp, 1
mov dword [esp + 0x144], 0
lea ecx, [esp + 0x100]
je 0x4c74e2
nop
add edx, dword [ecx + eax*4 + 4]
mov dword [esp + eax*4 + 0x148], edx
add eax, 1
cmp eax, ebp
jne 0x4c74d0
mov dword [esp + 0x4c], esi
mov ebp, dword [esp + 0x88]
xor eax, eax
mov esi, dword [esp + 0x44]
mov dword [esp + 0x48], edi
mov esi, esi
lea edi, [edi]
mov edx, dword [esi + eax*4]
test edx, edx
je 0x4c751c
mov ecx, dword [esp + edx*4 + 0x140]
lea edi, [ecx + 1]
mov dword [esp + edx*4 + 0x140], edi
mov dword [ebp + ecx*4], eax
add eax, 1
cmp eax, 0x13
jne 0x4c7500
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc4], 0
neg edx
cmp ecx, dword [esp + 0x58]
mov eax, dword [esp + ecx*4 + 0x140]
mov dword [esp + 0x70], edx
mov dword [esp + 0x140], 0
jl 0x4c8c37
mov edx, dword [esp + 0x88]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x78], 0
lea eax, [edx + eax*4]
mov dword [esp + 0x94], edx
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa4], ebx
lea ecx, [esp + eax*4 + 0x100]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], ecx
shl eax, 2
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x58]
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x64]
lea esi, [eax - 1]
test eax, eax
mov dword [esp + 0x8c], esi
je 0x4c8bfc
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x48]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x84]
sub edx, eax
mov dword [esp + 0x40], eax
lea eax, [edx*4]
sub ebp, eax
mov dword [esp + 0x60], ebp
mov ebx, dword [esp + 0x58]
cmp dword [esp + 0x40], ebx
jge 0x4c8411
mov eax, dword [esp + 0x44]
mov ecx, edx
lea ebp, [eax + 1]
mov eax, 1
shl eax, cl
mov ecx, eax
cmp ecx, dword [esp + 0x64]
mov eax, edx
jbe 0x4c76d6
mov eax, dword [esp + 0x80]
lea esi, [eax + edx]
mov eax, dword [esp + 0x6c]
cmp esi, eax
cmova esi, eax
mov eax, edx
cmp esi, edx
jbe 0x4c76d6
lea eax, [edx + 1]
cmp esi, eax
jbe 0x4c76d6
sub ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x60]
mov ebx, dword [ebx + 4]
lea ecx, [ecx + ecx - 2]
cmp ebx, ecx
jb 0x4c76c9
jmp 0x4c76d6
mov ebx, dword [edi + eax*4]
add ecx, ecx
cmp ecx, ebx
jbe 0x4c76d2
add eax, 1
sub ecx, ebx
cmp esi, eax
ja 0x4c76c0
mov dword [esp + 0x60], edi
mov ecx, eax
mov esi, 1
shl esi, cl
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x5c], esi
mov ebx, ecx
add ebx, esi
cmp ebx, 0x5a0
ja 0x4c8701
mov edi, dword [esp + 0x68]
test ebp, ebp
lea ecx, [edi + ecx*8]
mov dword [esp + 0x50], ecx
mov dword [esp + ebp*4 + 0xc4], ecx
je 0x4c8130
movzx ecx, byte [esp + 0x48]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x78]
mov dword [esp + ebp*4 + 0x140], edi
shr edi, cl
mov ecx, dword [esp + esi*4 + 0xc4]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
sub esi, ecx
mov ecx, esi
sar ecx, 3
sub ecx, edi
mov esi, ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x44]
lea ecx, [ecx + edi*8]
mov byte [ecx], al
movzx eax, byte [esp + 0x54]
mov dword [ecx + 4], esi
mov byte [ecx + 1], al
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x44], ebp
add dword [esp + 0x60], esi
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
add eax, ebx
mov dword [esp + 0x40], eax
jmp 0x4c7651
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov dword [ebx + 0x1c], edi
mov eax, dword [esp + 0x34]
mov ecx, 1
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, esi
sub eax, dword [edi]
mov dword [edi + 4], ebp
mov edx, edi
add dword [edi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edi], esi
mov dword [ebx + 0x34], eax
mov eax, ebx
call sym._inflate_flush
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
jmp 0x4c6f52
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x34], eax
mov eax, ebx
call sym._inflate_flush
mov edx, dword [ebx + 0x34]
cmp edx, dword [ebx + 0x30]
mov dword [esp + 0x30], edx
je 0x4c7bc5
mov dword [ebx + 0x1c], edi
mov edx, dword [esp + 0x34]
mov ecx, eax
mov edi, dword [esp + 0x3c]
mov eax, ebx
mov dword [ebx + 0x20], edx
mov edx, esi
sub edx, dword [edi]
mov dword [edi + 4], ebp
add dword [edi + 8], edx
mov dword [edi], esi
mov edx, edi
call sym._inflate_flush
jmp 0x4c77c5
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, 0xfffffffd
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, esi
sub eax, dword [edi]
mov dword [edi + 4], ebp
mov edx, edi
add dword [edi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edi], esi
mov dword [ebx + 0x34], eax
mov eax, ebx
call sym._inflate_flush
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
test ebx, ebx
mov esi, edi
mov ebp, ebx
mov edi, eax
je 0x4c8a31
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x4c7a03
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
cmp eax, dword [esp + 0x30]
je 0x4c79ce
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov dword [ebx + 0x34], ecx
mov ecx, dword [esp + 0x38]
mov eax, ebx
call sym._inflate_flush
mov edx, dword [ebx + 0x34]
mov ecx, edx
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 0x30]
mov ebx, ecx
cmp ecx, edx
jb 0x4c8102
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x2c]
mov ebx, ecx
sub ebx, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x30], ecx
je 0x4c89a9
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x4c7a03
mov ebx, dword [esp + 0x2c]
mov edx, edi
mov edi, esi
mov ecx, eax
mov eax, dword [esp + 0x34]
mov esi, edx
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, edi
mov dword [edi + 4], ebp
sub edx, dword [eax]
mov dword [edi], esi
mov eax, ebx
add dword [edi + 8], edx
mov esi, dword [esp + 0x30]
mov edx, edi
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
mov ebx, edi
mov eax, ebp
mov edi, ecx
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, esi
mov ecx, dword [esp + 0x38]
sub eax, dword [edi]
mov dword [edi + 4], 0
mov edx, edi
add dword [edi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edi], esi
mov dword [ebx + 0x34], eax
mov eax, ebx
call sym._inflate_flush
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x2c]
mov eax, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x34]
mov ecx, 0xfffffffe
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, esi
sub eax, dword [edi]
mov dword [edi + 4], ebp
mov edx, edi
add dword [edi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edi], esi
mov dword [ebx + 0x34], eax
mov eax, ebx
call sym._inflate_flush
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x34], ebp
mov edi, ecx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], 0
mov eax, ebp
jmp 0x4c7938
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x28]
cmp edx, ebx
mov dword [esp + 0x30], ebx
je 0x4c8b5d
sub eax, ebx
cmp edx, ebx
mov dword [esp + 0x40], eax
jbe 0x4c79f7
sub edx, ebx
lea eax, [edx - 1]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x4c78a0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edi
mov dword [esp], edx
cmp ebp, ebx
cmovbe ebx, ebp
cmp ebx, eax
cmova ebx, eax
mov dword [esp + 8], ebx
add edi, ebx
sub ebp, ebx
call sym._memcpy
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x30], ebx
sub dword [esp + 0x40], ebx
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], eax
sub eax, ebx
test eax, eax
mov dword [ecx + 4], eax
jne 0x4c7a90
cmp dword [ecx + 0x18], 1
mov dword [esp + 0x38], 0
sbb eax, eax
not eax
and eax, 7
mov dword [ecx], eax
jmp 0x4c6ab8
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
jmp 0x4c7938
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
jmp 0x4c6ce6
mov eax, dword [ecx]
mov dword [esp + 0x38], 0
jmp 0x4c6ab8
cmp eax, 0x12
je 0x4c80e9
sub eax, 0xe
mov dword [esp + 0x58], 3
mov dword [esp + 0x54], eax
mov edx, eax
add edx, dword [esp + 0x48]
cmp edx, edi
jbe 0x4c7afd
test ebx, ebx
je 0x4c838f
mov ecx, edi
mov esi, dword [esp + 0x40]
jmp 0x4c7ada
test ebx, ebx
je 0x4c79b5
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or ebp, eax
cmp ecx, edx
jb 0x4c7ad2
mov edi, ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x54]
movzx ecx, byte [esp + 0x50]
sub edi, dword [esp + 0x48]
mov eax, dword [esi*4 + 0x50dc80]
shr ebp, cl
mov ecx, esi
sub edi, esi
and eax, ebp
add eax, dword [esp + 0x58]
shr ebp, cl
mov dword [esp + 0x48], eax
add eax, dword [esp + 0x44]
cmp dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
jb 0x4c8c5e
cmp dword [esp + 0x4c], 0x10
mov esi, dword [esp + 0x44]
sete al
test esi, esi
jne 0x4c82ba
test al, al
jne 0x4c8c5e
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], edi
shl eax, 2
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
jmp 0x4c7b83
mov edx, dword [ebp + 0xc]
mov dword [edx + eax], ecx
add eax, 4
sub edi, 1
jne 0x4c7b80
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov dword [esi + 8], eax
mov eax, esi
jmp 0x4c6b2b
mov ebx, dword [esp + 0x2c]
mov edi, ecx
mov esi, edx
mov dword [esp + 0x38], 0
jmp 0x4c7a6a
mov dword [ebx], 8
jmp 0x4c7796
mov eax, dword [esp + 0x40]
mov dword [eax], 8
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x1c], edi
mov dword [edx + 0x20], ecx
mov dword [eax + 4], ebx
mov ebx, eax
mov eax, esi
sub eax, dword [ebx]
mov dword [ebx], esi
add dword [ebx + 8], eax
mov esi, dword [esp + 0x30]
mov eax, edx
mov ecx, 1
mov dword [edx + 0x34], esi
mov edx, ebx
call sym._inflate_flush
cmp eax, 1
jne 0x4c89d0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [esi + 0x24]
mov eax, esi
mov esi, dword [esi]
mov ebx, dword [eax + 4]
mov eax, edi
mov edi, dword [edi + 0x20]
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x34], edi
mov edi, dword [eax + 0x1c]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x30], ecx
cmp ecx, eax
jae 0x4c8140
sub eax, ecx
sub eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x4c8aae
mov dword [eax], 0
mov dword [esp + 0x38], 0
xor eax, eax
jmp switch.0x004c6ac9
cmp edi, 7
jbe 0x4c7c90
sub edi, 8
add ebx, 1
sub esi, 1
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov dword [ebp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov eax, ebp
call sym._inflate_flush
mov edx, dword [ebp + 0x34]
cmp edx, dword [ebp + 0x30]
mov dword [esp + 0x30], edx
je 0x4c7bd0
mov dword [ebp + 0x1c], edi
mov edx, dword [esp + 0x34]
mov ecx, eax
mov edi, dword [esp + 0x3c]
mov eax, ebp
mov dword [ebp + 0x20], edx
mov edx, esi
sub edx, dword [edi]
mov dword [edi + 4], ebx
add dword [edi + 8], edx
mov dword [edi], esi
mov edx, edi
call sym._inflate_flush
jmp 0x4c7c0f
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0xc]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
sub ebp, eax
mov eax, dword [ecx + 0x28]
cmp ebp, eax
jae 0x4c7d0b
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x48], edx
sub edx, eax
add ebp, edx
cmp ebp, eax
jb 0x4c7d05
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 4]
test edx, edx
je 0x4c821c
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
mov esi, eax
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
jmp 0x4c7dae
cmp dword [ebx + 0x2c], edi
je 0x4c8160
mov edx, dword [esp + 0x3c]
mov dword [ebx + 0x34], edi
mov eax, ebx
call sym._inflate_flush
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x34]
cmp eax, ecx
jae 0x4c81a0
mov edx, ecx
mov edi, dword [ebx + 0x2c]
sub edx, eax
sub edx, 1
cmp eax, edi
je 0x4c83a2
test edx, edx
je 0x4c8920
movzx ecx, byte [ebp]
sub edx, 1
add ebp, 1
lea edi, [eax + 1]
mov byte [eax], cl
cmp ebp, dword [ebx + 0x2c]
je 0x4c8120
mov eax, dword [esi + 4]
xor ecx, ecx
sub eax, 1
test eax, eax
mov dword [esi + 4], eax
je 0x4c8200
test edx, edx
je 0x4c7d40
mov eax, edi
jmp 0x4c7d83
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0xc]
cmp edi, edx
jae 0x4c7dfc
test ebx, ebx
je 0x4c81be
mov ecx, edi
mov edi, dword [esp + 0x34]
jmp 0x4c7dd9
test ebx, ebx
je 0x4c81b0
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or edi, eax
cmp ecx, edx
jb 0x4c7dd1
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov eax, dword [edx*4 + 0x50dc80]
and eax, ebp
mov edx, eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 8]
lea edx, [eax + edx*8]
movzx eax, byte [edx + 1]
mov ecx, eax
sub edi, eax
movzx eax, byte [edx]
shr ebp, cl
mov dword [esp + 0x34], ebp
test al, 0x10
je 0x4c83f2
mov ecx, dword [esp + 0x40]
and eax, 0xf
mov dword [ecx + 8], eax
mov eax, dword [edx + 4]
mov dword [ecx], 4
mov dword [ecx + 0xc], eax
mov eax, 4
jmp switch.0x004c6cf5
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 8]
cmp edx, edi
jbe 0x4c7e9b
test ebx, ebx
je 0x4c8273
mov ecx, edi
mov edi, dword [esp + 0x34]
jmp 0x4c7e78
test ebx, ebx
je 0x4c8265
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or edi, eax
cmp edx, ecx
ja 0x4c7e70
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov ecx, edx
and eax, dword [edx*4 + 0x50dc80]
sub edi, edx
shr dword [esp + 0x34], cl
movzx edx, byte [ebp + 0x11]
add dword [ebp + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp], 3
mov dword [ebp + 0xc], edx
mov dword [ebp + 8], eax
jmp 0x4c7dbd
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0xc]
cmp edi, edx
jae 0x4c7f1b
test ebx, ebx
je 0x4c81be
mov ecx, edi
mov edi, dword [esp + 0x34]
jmp 0x4c7ef8
test ebx, ebx
je 0x4c81b0
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or edi, eax
cmp ecx, edx
jb 0x4c7ef0
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov eax, dword [edx*4 + 0x50dc80]
and eax, ebp
mov edx, eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 8]
lea edx, [eax + edx*8]
movzx eax, byte [edx + 1]
mov ecx, eax
sub edi, eax
shr ebp, cl
movzx ecx, byte [edx]
mov dword [esp + 0x34], ebp
test ecx, ecx
mov eax, ecx
jne 0x4c83c1
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov dword [ecx], 6
mov eax, 6
jmp switch.0x004c6cf5
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov dword [ecx], 1
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
jmp 0x4c7ed5
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x1c], edi
mov dword [edx + 0x20], ecx
mov dword [eax + 4], ebx
mov ebx, eax
mov eax, esi
sub eax, dword [ebx]
mov dword [ebx], esi
add dword [ebx + 8], eax
mov esi, dword [esp + 0x30]
mov eax, edx
mov ecx, 0xfffffffd
mov dword [edx + 0x34], esi
mov edx, ebx
call sym._inflate_flush
jmp 0x4c7c0f
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4c83e9
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
cmp edx, dword [eax + 0x2c]
je 0x4c8b0a
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0x34], ecx
mov ecx, dword [esp + 0x38]
mov eax, ebp
call sym._inflate_flush
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
mov dword [esp + 0x30], eax
cmp ecx, edx
jae 0x4c8b66
mov eax, edx
sub eax, ecx
sub eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
cmp ecx, eax
je 0x4c8d5d
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x4c9008
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
sub dword [esp + 0x44], 1
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], eax
mov eax, dword [edx + 8]
mov byte [ecx], al
mov dword [edx], 0
xor eax, eax
jmp switch.0x004c6cf5
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 8]
cmp edx, edi
jbe 0x4c809e
test ebx, ebx
je 0x4c8273
mov ecx, edi
mov edi, dword [esp + 0x34]
jmp 0x4c807b
test ebx, ebx
je 0x4c8265
add esi, 1
movzx eax, byte [esi - 1]
sub ebx, 1
shl eax, cl
add ecx, 8
or edi, eax
cmp edx, ecx
ja 0x4c8073
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
sub edi, edx
mov eax, dword [edx*4 + 0x50dc80]
and eax, ebp
add eax, dword [ecx + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, edx
shr ebp, cl
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], ebp
mov dword [ecx], 5
jmp 0x4c7ceb
shr dword [esp + 0x34], 3
sub edi, 3
mov dword [ebp], 3
mov esi, edx
mov eax, 3
jmp switch.0x004c6ac9
mov dword [esp + 0x54], 7
mov dword [esp + 0x58], 0xb
mov edx, dword [esp + 0x54]
jmp 0x4c7aba
mov ecx, edx
sub ecx, ebx
lea ebx, [ecx - 1]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x2c]
jmp 0x4c78e1
mov ebp, dword [ebx + 0x28]
jmp 0x4c7d9b
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
jmp 0x4c7759
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x38], eax
sub eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
jmp 0x4c7c5e
mov eax, dword [ebx + 0x30]
mov edx, eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x30], edx
cmp edx, eax
je 0x4c7d49
sub edi, eax
cmp dword [esp + 0x30], eax
mov edx, edi
jbe 0x4c8187
mov edx, dword [esp + 0x30]
sub edx, eax
sub edx, 1
test edx, edx
jne 0x4c7d83
mov edi, eax
jmp 0x4c7d49
mov edi, dword [ebx + 0x2c]
mov edx, edi
sub edx, eax
jmp 0x4c7d73
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov eax, esi
mov dword [edx + 0x20], ebx
mov ebx, dword [esp + 0x3c]
mov dword [edx + 0x1c], edi
sub eax, dword [ebx]
mov dword [ebx + 4], 0
add dword [ebx + 8], eax
mov dword [ebx], esi
mov eax, edx
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, ebx
mov dword [eax + 0x34], esi
call sym._inflate_flush
jmp 0x4c7c0f
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ecx
mov dword [eax], 0
xor eax, eax
jmp switch.0x004c6cf5
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, 0xfffffffe
mov dword [eax + 0x20], edx
mov dword [eax + 0x1c], edi
mov edx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], ebx
mov ebx, eax
mov eax, esi
sub eax, dword [ebx]
mov dword [ebx], esi
add dword [ebx + 8], eax
mov esi, dword [esp + 0x30]
mov eax, edx
mov dword [edx + 0x34], esi
mov edx, ebx
call sym._inflate_flush
jmp 0x4c7c0f
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
mov edi, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov eax, esi
mov dword [ecx + 0x20], ebx
mov ebx, dword [esp + 0x3c]
mov dword [ecx + 0x1c], edi
sub eax, dword [ebx]
mov dword [ebx + 4], 0
add dword [ebx + 8], eax
mov dword [ebx], esi
mov eax, ecx
jmp 0x4c81e2
mov esi, ecx
mov ebp, ebx
jmp 0x4c6e29
mov ebx, dword [esp + 0x2c]
mov edi, ecx
mov esi, eax
mov dword [esp + 0x38], 0
jmp 0x4c7a6a
test al, al
je 0x4c7b51
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [edx + eax*4 - 4]
jmp 0x4c7b5e
mov esi, dword [esp + 0x3c]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp + 0x44], edx
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [esi + 0x20]
test eax, eax
mov edx, dword [esp + 0x44]
je 0x4c8ac7
mov esi, dword [esp + 0x2c]
mov dword [eax], 0
sub edi, 3
mov byte [eax + 0x10], 9
mov byte [eax + 0x11], 5
mov dword [eax + 0x14], 0x50de00
mov dword [eax + 0x18], 0x50dd00
shr dword [esp + 0x34], 3
mov dword [esi + 4], eax
mov eax, 6
mov dword [esi], 6
mov esi, edx
jmp switch.0x004c6ac9
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov ecx, 0xfffffffd
shr eax, 3
mov dword [ebx], 9
mov dword [esi + 0x18], str.invalid_block_type
mov dword [ebx + 0x20], eax
lea eax, [edi - 3]
mov dword [ebx + 0x1c], eax
mov eax, edx
sub eax, dword [esi]
add dword [esi + 8], eax
mov dword [esi + 4], ebp
mov eax, esi
mov dword [esi], edx
mov esi, dword [esp + 0x30]
mov edx, eax
mov eax, ebx
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
mov dword [esp + 0x34], ebp
mov esi, dword [esp + 0x40]
mov eax, ebp
mov ebx, dword [esp + 0x2c]
jmp 0x4c7938
mov edi, dword [ebx + 0x28]
cmp ecx, edi
je 0x4c7d7b
jbe 0x4c879f
sub ecx, edi
mov eax, edi
mov edx, ecx
sub edx, 1
jmp 0x4c7d7b
test al, 0x10
je 0x4c87aa
mov ecx, dword [esp + 0x40]
and eax, 0xf
mov dword [ecx + 8], eax
mov eax, dword [edx + 4]
mov dword [ecx], 2
mov dword [ecx + 4], eax
mov eax, 2
jmp switch.0x004c6cf5
mov ecx, dword [esp + 0x30]
jmp 0x4c802e
test al, 0x40
jne 0x4c9041
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 4]
lea eax, [edx + eax*8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
jmp 0x4c6cec
movzx eax, byte [esp + 0x58]
mov ebx, dword [esp + 0x94]
mov esi, 0xffffffc0
sub al, byte [esp + 0x48]
cmp dword [esp + 0xac], ebx
mov byte [esp + 0x40], al
jbe 0x4c844c
mov eax, dword [ebx]
cmp eax, 0x12
mov dword [esp + 0x7c], eax
ja 0x4c8b42
add dword [esp + 0x94], 4
xor esi, esi
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov ebx, 1
mov edx, dword [esp + 0x78]
sub ecx, eax
shl ebx, cl
mov ecx, eax
shr edx, cl
cmp edx, dword [esp + 0x5c]
jae 0x4c849e
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x7c]
mov ecx, ebx
lea ebp, [ebx*8]
lea eax, [eax + edx*8]
add edx, ebx
mov ebx, esi
mov esi, ecx
movzx ecx, byte [esp + 0x40]
mov byte [eax], bl
mov dword [eax + 4], edi
mov byte [eax + 1], cl
mov ecx, edx
add eax, ebp
add edx, esi
cmp ecx, dword [esp + 0x5c]
jb 0x4c8485
mov esi, dword [esp + 0x98]
test dword [esp + 0x78], esi
mov edx, dword [esp + 0x78]
mov eax, esi
je 0x4c84bd
xor edx, eax
shr eax, 1
test eax, edx
jne 0x4c84b1
mov dword [esp + 0x78], edx
mov esi, dword [esp + 0x48]
xor dword [esp + 0x78], eax
mov eax, 1
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x44]
mov ecx, esi
shl eax, cl
sub eax, 1
and eax, ebx
cmp eax, dword [esp + edi*4 + 0x140]
je 0x4c86f1
mov ebp, dword [esp + 0x54]
mov edx, 1
lea eax, [edi - 1]
sub esi, ebp
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 2]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 3]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 4]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 5]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 6]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 7]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 8]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 9]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 0xa]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 0xb]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 0xc]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 0xd]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub esi, ebp
mov edx, 1
lea eax, [edi - 0xe]
mov ecx, esi
mov dword [esp + 0x48], esi
shl edx, cl
sub edx, 1
and edx, ebx
cmp edx, dword [esp + eax*4 + 0x140]
je 0x4c877c
sub edi, 0xf
sub esi, ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x64], eax
jmp 0x4c7619
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x18], str.oversubscribed_dynamic_bit_lengths_tree
mov edx, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [edx + 0x24]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [edx + 0x24]
mov dword [ebx], 9
mov ecx, 0xfffffffd
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x1c], edi
mov edx, esi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, edi
mov dword [edi + 4], ebp
jmp 0x4c7916
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x4c871a
mov dword [esp + 0x44], eax
jmp 0x4c86f1
mov eax, edi
mov ebx, dword [esp + 0x2c]
mov edi, esi
mov esi, eax
jmp 0x4c7a6a
mov edi, ecx
mov ebx, dword [esp + 0x38]
jmp 0x4c6ed5
sub eax, edi
mov edx, eax
mov eax, edi
jmp 0x4c7d7b
test al, 0x40
jne 0x4c8a70
mov ebp, dword [esp + 0x40]
mov dword [ebp + 0xc], ecx
mov eax, dword [edx + 4]
lea eax, [edx + eax*8]
mov dword [ebp + 8], eax
mov eax, dword [ebp]
jmp 0x4c6cec
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 0xbc], 9
mov dword [esp + 0xc0], 6
mov ecx, dword [edx + 0x24]
mov dword [edx + 0x14], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x50], ecx
mov ebp, ecx
mov ecx, dword [edx + 0xc]
lea edx, [eax + 0x101]
mov dword [esp + 8], 4
mov dword [esp + 4], 0x120
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
call dword [ecx + 0x20]
test eax, eax
mov dword [esp + 0x40], eax
je 0x4c8dd3
mov dword [esp + 0x18], eax
lea eax, [esp + 0x140]
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x44]
lea ebp, [esp + 0xbc]
mov dword [esp + 4], 0x50ef00
mov dword [esp + 0x14], eax
lea eax, [esp + 0xc4]
mov dword [esp], 0x50ef80
mov dword [esp + 0xc], ebp
mov ecx, 0x101
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
call sym._huft_build
test eax, eax
jne 0x4c8a8c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x4c8cab
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov edx, 0xfffffffd
mov dword [eax + 0x18], str.incomplete_literal_length_tree
mov eax, 0xfffffffd
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
mov dword [esp], ecx
call dword [eax + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, eax
cmp edx, 0xfffffffd
jne 0x4c875a
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
call dword [ecx + 0x24]
mov dword [ebx], 9
mov ecx, dword [esp + 0x2c]
jmp 0x4c875a
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov dword [ecx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ecx + 0x20], edx
mov edx, esi
sub edx, dword [edi]
mov dword [edi + 4], ebx
add dword [edi + 8], edx
mov dword [edi], esi
mov esi, ecx
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x30]
mov edx, edi
mov eax, esi
call sym._inflate_flush
jmp 0x4c7c0f
mov dword [esp + 0x6c], 0x10
mov dword [esp + 0x58], 0x10
mov ecx, 0x10
mov dword [esp + 0x54], 0x10
jmp 0x4c7256
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x18], str.incomplete_dynamic_bit_lengths_tree
mov edx, eax
jmp 0x4c8727
mov ebx, dword [esp + 0x2c]
mov ebx, dword [ebx + 0x28]
cmp edx, ebx
je 0x4c78eb
jbe 0x4c8b7a
sub edx, ebx
mov dword [esp + 0x30], ebx
lea ecx, [edx - 1]
mov dword [esp + 0x40], ecx
jmp 0x4c78eb
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ecx, eax
mov eax, ebx
call sym._inflate_flush
jmp 0x4c77c5
mov ebp, ebx
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov dword [ebx], 9
mov dword [eax + 0x18], str.too_many_length_or_distance_symbols
mov edx, esi
sub edx, dword [eax]
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x1c], edi
mov edi, eax
mov dword [ebx + 0x20], ecx
mov dword [eax + 4], ebp
mov eax, edx
add dword [edi + 8], eax
mov dword [edi], esi
mov ecx, 0xfffffffd
mov esi, dword [esp + 0x30]
mov edx, edi
mov eax, ebx
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
mov ebx, dword [esp + 0x2c]
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x34]
mov edx, esi
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
mov eax, ebx
sub edx, dword [edi]
mov dword [edi], esi
add dword [edi + 8], edx
mov esi, dword [esp + 0x30]
mov edx, edi
mov dword [edi + 4], 0
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
test al, 0x20
mov eax, dword [esp + 0x40]
je 0x4c9090
mov dword [eax], 7
mov eax, 7
jmp switch.0x004c6cf5
cmp eax, 0xfffffffd
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
je 0x4c8b8d
cmp eax, 0xfffffffc
jne 0x4c88ac
mov edx, 0xfffffffc
jmp 0x4c88c1
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], 0
mov dword [ebx], 7
jmp 0x4c77e6
mov esi, dword [esp + 0x3c]
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, 0xfffffffc
mov dword [ebx + 4], 0
mov dword [ebx + 0x1c], edi
mov edi, edx
sub edi, dword [esi]
mov dword [ebx + 0x20], eax
mov eax, esi
mov dword [esi + 4], ebp
add dword [esi + 8], edi
mov dword [esi], edx
mov esi, dword [esp + 0x30]
mov edx, eax
mov eax, ebx
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
mov ecx, eax
mov eax, dword [eax + 0x30]
mov ecx, dword [ecx + 0x28]
cmp eax, ecx
je 0x4c7fdc
sub edx, ecx
cmp eax, ecx
mov dword [esp + 0x44], edx
jbe 0x4c8b2d
sub eax, ecx
sub eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4c802e
mov dword [esp + 0x30], ecx
jmp 0x4c7fdc
mov eax, dword [eax*4 - 0x4c]
add dword [esp + 0x94], 4
mov dword [esp + 0x7c], eax
lea esi, [eax + 0x50]
jmp 0x4c844c
mov dword [esp + 0x30], eax
jmp 0x4c78a0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
mov ebp, eax
sub ebp, ecx
mov dword [esp + 0x44], ebp
jmp 0x4c801a
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
sub edx, ebx
mov dword [esp + 0x40], edx
jmp 0x4c78eb
mov ecx, dword [esp + 0x3c]
mov edx, 0xfffffffd
mov dword [ecx + 0x18], str.oversubscribed_literal_length_tree
jmp 0x4c88c1
mov eax, edi
mov ebx, dword [esp + 0x2c]
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [ebx], 9
mov dword [eax + 0x18], str.invalid_stored_block_lengths
jmp 0x4c89fd
mov dword [ecx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov edx, esi
mov eax, dword [esp + 0x34]
mov ebp, ebx
mov ebx, ecx
sub edx, dword [edi]
mov dword [ecx + 0x20], eax
mov dword [edi + 4], ebp
mov eax, edx
add dword [edi + 8], eax
mov dword [edi], esi
mov ecx, 0xfffffffc
mov esi, dword [esp + 0x30]
mov edx, edi
mov eax, ebx
mov dword [ebx + 0x34], esi
call sym._inflate_flush
jmp 0x4c77c5
add dword [esp + 0x58], 1
add dword [esp + 0x84], 4
mov eax, dword [esp + 0x58]
sub dword [esp + 0x80], 1
cmp dword [esp + 0x90], eax
jge 0x4c75f3
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp dword [esp + 0xa8], 0
je 0x4c6add
cmp dword [esp + 0x90], 1
je 0x4c6add
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x4c8997
mov dword [esp + 0x34], ebp
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [ebx], 9
mov dword [eax + 0x18], str.invalid_bit_length_repeat
mov dword [ebx + 0x20], ecx
mov ecx, esi
sub ecx, dword [eax]
mov dword [ebx + 0x1c], edi
mov edi, eax
mov dword [eax + 4], ebp
mov eax, ecx
jmp 0x4c8a12
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], 0x50ee00
mov dword [esp], 0x50ee80
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x40]
add edx, 1
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x140]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x100]
mov dword [esp + 8], ecx
xor ecx, ecx
call sym._huft_build
test eax, eax
je 0x4c8fa4
cmp eax, 0xfffffffd
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
jne 0x4c8f81
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x18], str.oversubscribed_distance_tree
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x28]
mov dword [esp], edx
call dword [eax + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, eax
mov ecx, eax
jmp 0x4c88e8
mov dword [esp + 0x40], 0xe
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x28]
cmp edx, eax
je 0x4c8022
jbe 0x4c90db
sub edx, eax
lea ecx, [edx - 1]
mov dword [esp + 0x44], ecx
mov ecx, eax
jmp 0x4c8022
mov dword [esp + 0x40], 0xf
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov ecx, 2
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x54], ecx
mov ebp, eax
mov eax, 1
shl eax, cl
cmp dword [esp + 0x6c], ecx
mov dword [esp + 0x48], eax
jae 0x4c8dc3
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x58], ecx
jmp 0x4c723f
mov dword [esp + 0x58], ecx
jmp 0x4c7237
mov ecx, 1
jmp 0x4c8d98
mov ebp, ebx
mov ecx, 0xfffffffc
mov ebx, dword [esp + 0x2c]
jmp 0x4c875a
mov ecx, 6
jmp 0x4c8d98
mov ecx, 5
jmp 0x4c8d98
mov ecx, 4
jmp 0x4c8d98
mov ecx, 3
jmp 0x4c8d98
mov dword [esp + 0x40], 2
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 3
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 4
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 5
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 6
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 7
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 8
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 9
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov ecx, 0xe
jmp 0x4c8d98
mov ecx, 0xd
jmp 0x4c8d98
mov ecx, 0xc
jmp 0x4c8d98
mov ecx, 0xb
jmp 0x4c8d98
mov ecx, 0xa
jmp 0x4c8d98
mov ecx, 9
jmp 0x4c8d98
mov ecx, 8
jmp 0x4c8d98
mov ecx, 7
jmp 0x4c8d98
mov dword [esp + 0x40], 0xa
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 0xb
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 0xc
mov edx, dword [esp + 0x40]
jmp 0x4c7319
mov dword [esp + 0x40], 0xd
mov edx, dword [esp + 0x40]
jmp 0x4c7319
cmp dword [esp + 0x6c], 0xe
jbe 0x4c8f41
mov dword [esp + 0x48], 0x8000
mov eax, 0x8000
mov ecx, 0xf
mov dword [esp + 0x58], 0xf
jmp 0x4c7237
mov ecx, dword [esp + 0x2c]
mov eax, 0x8000
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x54], 0xf
mov dword [ecx + 0x10], 0xf
jmp 0x4c7492
cmp eax, 0xfffffffb
je 0x4c8fd1
cmp eax, 0xfffffffc
je 0x4c8d26
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x18], str.empty_distance_tree_with_lengths
mov eax, 0xfffffffd
jmp 0x4c8d26
cmp dword [esp + 0x44], 0x101
je 0x4c6bfc
cmp dword [esp + 0xc0], 0
jne 0x4c6bfc
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x4c8f8f
mov ebp, ebx
mov ebx, eax
jmp 0x4c8997
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x18], str.incomplete_distance_tree
mov eax, 0xfffffffd
jmp 0x4c8d26
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
mov ecx, esi
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [ebx + 0x20], eax
sub ecx, dword [edi]
mov dword [edi + 4], ebp
mov eax, ecx
jmp 0x4c8bdd
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edx
mov edx, eax
mov eax, dword [esp + 0x3c]
mov edi, esi
mov dword [eax + 4], ebx
sub edi, dword [eax]
mov ebx, eax
add dword [ebx + 8], edi
mov dword [ebx], esi
mov esi, edx
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x30]
mov edx, ebx
mov eax, esi
call sym._inflate_flush
jmp 0x4c7c0f
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [eax], 9
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x18], str.invalid_distance_code
mov dword [edx + 0x20], ecx
mov ecx, 0xfffffffd
mov dword [edx + 0x1c], edi
mov dword [eax + 4], ebx
mov edi, esi
mov ebx, eax
sub edi, dword [eax]
add dword [ebx + 8], edi
mov eax, ebx
mov dword [ebx], esi
mov ebx, dword [esp + 0x30]
mov esi, edx
mov dword [edx + 0x34], ebx
mov edx, eax
mov eax, esi
call sym._inflate_flush
jmp 0x4c7c0f
mov dword [eax], 9
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], str.invalid_literal_length_code
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x1c], edi
mov dword [eax + 4], ebx
mov edi, esi
mov ebx, eax
sub edi, dword [eax]
add dword [ebx + 8], edi
mov eax, ebx
mov dword [ebx], esi
mov ebx, dword [esp + 0x30]
mov esi, ecx
mov edx, eax
mov eax, esi
mov dword [ecx + 0x34], ebx
mov ecx, 0xfffffffd
call sym._inflate_flush
jmp 0x4c7c0f
sub ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, eax
jmp 0x4c8022