4b3ebb:	85 ff                	test   %edi,%edi
4b3ebd:	75 06                	jne    0x4b3ec5
4b3ebf:	5f                   	pop    %edi
4b3ec0:	5e                   	pop    %esi
4b3ec1:	33 c0                	xor    %eax,%eax
4b3ec3:	5b                   	pop    %ebx
4b3ec4:	c3                   	ret
4b3ec5:	33 d2                	xor    %edx,%edx
4b3ec7:	85 f6                	test   %esi,%esi
4b3ec9:	7e 13                	jle    0x4b3ede
4b3ecb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4b3ed0:	0f b6 04 17          	movzbl (%edi,%edx,1),%eax
4b3ed4:	42                   	inc    %edx
4b3ed5:	c1 e1 08             	shl    $0x8,%ecx
4b3ed8:	0b c8                	or     %eax,%ecx
4b3eda:	3b d6                	cmp    %esi,%edx
4b3edc:	7c f2                	jl     0x4b3ed0
4b3ede:	85 db                	test   %ebx,%ebx
4b3ee0:	74 02                	je     0x4b3ee4
4b3ee2:	f7 d9                	neg    %ecx
4b3ee4:	5f                   	pop    %edi
4b3ee5:	5e                   	pop    %esi
4b3ee6:	8b c1                	mov    %ecx,%eax
4b3ee8:	5b                   	pop    %ebx
4b3ee9:	c3                   	ret
4b3eea:	cc                   	int3
4b3eeb:	cc                   	int3
4b3eec:	cc                   	int3
4b3eed:	cc                   	int3
4b3eee:	cc                   	int3
4b3eef:	cc                   	int3
4b3ef0:	b8 0c 00 00 00       	mov    $0xc,%eax
4b3ef5:	e8 f6 d5 12 00       	call   0x5e14f0
4b3efa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4b3eff:	33 c4                	xor    %esp,%eax
4b3f01:	89 44 24 08          	mov    %eax,0x8(%esp)
4b3f05:	56                   	push   %esi
4b3f06:	8b 74 24 14          	mov    0x14(%esp),%esi
4b3f0a:	83 3e 05             	cmpl   $0x5,(%esi)
4b3f0d:	c7 46 04 02 00 00 00 	movl   $0x2,0x4(%esi)
4b3f14:	7d 35                	jge    0x4b3f4b
4b3f16:	8b 46 08             	mov    0x8(%esi),%eax
4b3f19:	85 c0                	test   %eax,%eax
4b3f1b:	74 09                	je     0x4b3f26
4b3f1d:	50                   	push   %eax
4b3f1e:	e8 0d c2 fe ff       	call   0x4a0130
4b3f23:	83 c4 04             	add    $0x4,%esp
4b3f26:	68 64 01 00 00       	push   $0x164
4b3f2b:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b3f30:	6a 05                	push   $0x5
4b3f32:	e8 79 c2 fe ff       	call   0x4a01b0
4b3f37:	83 c4 0c             	add    $0xc,%esp
4b3f3a:	89 46 08             	mov    %eax,0x8(%esi)
4b3f3d:	85 c0                	test   %eax,%eax
4b3f3f:	74 0a                	je     0x4b3f4b
4b3f41:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4b3f47:	c6 40 04 00          	movb   $0x0,0x4(%eax)
4b3f4b:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4b3f4f:	75 2a                	jne    0x4b3f7b
4b3f51:	68 68 01 00 00       	push   $0x168
4b3f56:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b3f5b:	6a 41                	push   $0x41
4b3f5d:	6a 76                	push   $0x76
4b3f5f:	6a 0d                	push   $0xd
4b3f61:	e8 3a d5 fe ff       	call   0x4a14a0
4b3f66:	83 c4 14             	add    $0x14,%esp
4b3f69:	33 c0                	xor    %eax,%eax
4b3f6b:	5e                   	pop    %esi
4b3f6c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4b3f70:	33 cc                	xor    %esp,%ecx
4b3f72:	e8 63 d5 12 00       	call   0x5e14da
4b3f77:	83 c4 0c             	add    $0xc,%esp
4b3f7a:	c3                   	ret
4b3f7b:	8b 44 24 18          	mov    0x18(%esp),%eax
4b3f7f:	85 c0                	test   %eax,%eax
4b3f81:	79 09                	jns    0x4b3f8c
4b3f83:	f7 d8                	neg    %eax
4b3f85:	c7 46 04 02 01 00 00 	movl   $0x102,0x4(%esi)
4b3f8c:	33 c9                	xor    %ecx,%ecx
4b3f8e:	66 90                	xchg   %ax,%ax
4b3f90:	85 c0                	test   %eax,%eax
4b3f92:	74 0d                	je     0x4b3fa1
4b3f94:	88 44 0c 04          	mov    %al,0x4(%esp,%ecx,1)
4b3f98:	41                   	inc    %ecx
4b3f99:	c1 f8 08             	sar    $0x8,%eax
4b3f9c:	83 f9 04             	cmp    $0x4,%ecx
4b3f9f:	72 ef                	jb     0x4b3f90
4b3fa1:	57                   	push   %edi
4b3fa2:	8d 79 ff             	lea    -0x1(%ecx),%edi
4b3fa5:	33 d2                	xor    %edx,%edx
4b3fa7:	85 ff                	test   %edi,%edi
4b3fa9:	78 15                	js     0x4b3fc0
4b3fab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4b3fb0:	8b 4e 08             	mov    0x8(%esi),%ecx
4b3fb3:	8a 44 3c 08          	mov    0x8(%esp,%edi,1),%al
4b3fb7:	88 04 0a             	mov    %al,(%edx,%ecx,1)
4b3fba:	42                   	inc    %edx
4b3fbb:	83 ef 01             	sub    $0x1,%edi
4b3fbe:	79 f0                	jns    0x4b3fb0
4b3fc0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4b3fc4:	b8 01 00 00 00       	mov    $0x1,%eax
4b3fc9:	5f                   	pop    %edi
4b3fca:	89 16                	mov    %edx,(%esi)
4b3fcc:	5e                   	pop    %esi
4b3fcd:	33 cc                	xor    %esp,%ecx
4b3fcf:	e8 06 d5 12 00       	call   0x5e14da
4b3fd4:	83 c4 0c             	add    $0xc,%esp
4b3fd7:	c3                   	ret
4b3fd8:	cc                   	int3
4b3fd9:	cc                   	int3
4b3fda:	cc                   	int3
4b3fdb:	cc                   	int3
4b3fdc:	cc                   	int3
4b3fdd:	cc                   	int3
4b3fde:	cc                   	int3
4b3fdf:	cc                   	int3
4b3fe0:	56                   	push   %esi
4b3fe1:	57                   	push   %edi
4b3fe2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4b3fe6:	ff 74 24 10          	push   0x10(%esp)
4b3fea:	ff 37                	push   (%edi)
4b3fec:	ff 77 08             	push   0x8(%edi)
4b3fef:	e8 1c ec ff ff       	call   0x4b2c10
4b3ff4:	8b f0                	mov    %eax,%esi
4b3ff6:	83 c4 0c             	add    $0xc,%esp
4b3ff9:	85 f6                	test   %esi,%esi
4b3ffb:	75 1d                	jne    0x4b401a
4b3ffd:	68 c8 01 00 00       	push   $0x1c8
4b4002:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b4007:	6a 69                	push   $0x69
4b4009:	6a 77                	push   $0x77
4b400b:	6a 0d                	push   $0xd
4b400d:	e8 8e d4 fe ff       	call   0x4a14a0
4b4012:	83 c4 14             	add    $0x14,%esp
4b4015:	8b c6                	mov    %esi,%eax
4b4017:	5f                   	pop    %edi
4b4018:	5e                   	pop    %esi
4b4019:	c3                   	ret
4b401a:	81 7f 04 02 01 00 00 	cmpl   $0x102,0x4(%edi)
4b4021:	75 0d                	jne    0x4b4030
4b4023:	6a 01                	push   $0x1
4b4025:	56                   	push   %esi
4b4026:	e8 95 f4 ff ff       	call   0x4b34c0
4b402b:	83 c4 08             	add    $0x8,%esp
4b402e:	8b c6                	mov    %esi,%eax
4b4030:	5f                   	pop    %edi
4b4031:	5e                   	pop    %esi
4b4032:	c3                   	ret
4b4033:	cc                   	int3
4b4034:	cc                   	int3
4b4035:	cc                   	int3
4b4036:	cc                   	int3
4b4037:	cc                   	int3
4b4038:	cc                   	int3
4b4039:	cc                   	int3
4b403a:	cc                   	int3
4b403b:	cc                   	int3
4b403c:	cc                   	int3
4b403d:	cc                   	int3
4b403e:	cc                   	int3
4b403f:	cc                   	int3
4b4040:	53                   	push   %ebx
4b4041:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4b4045:	56                   	push   %esi
4b4046:	57                   	push   %edi
4b4047:	85 db                	test   %ebx,%ebx
4b4049:	75 0e                	jne    0x4b4059
4b404b:	6a 02                	push   $0x2
4b404d:	e8 ae da ff ff       	call   0x4b1b00
4b4052:	83 c4 04             	add    $0x4,%esp
4b4055:	8b f0                	mov    %eax,%esi
4b4057:	eb 02                	jmp    0x4b405b
4b4059:	8b f3                	mov    %ebx,%esi
4b405b:	85 f6                	test   %esi,%esi
4b405d:	75 0e                	jne    0x4b406d
4b405f:	68 a5 01 00 00       	push   $0x1a5
4b4064:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b4069:	6a 3a                	push   $0x3a
4b406b:	eb 64                	jmp    0x4b40d1
4b406d:	8b 7c 24 10          	mov    0x10(%esp),%edi
4b4071:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4b4075:	74 0f                	je     0x4b4086
4b4077:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4b407b:	74 09                	je     0x4b4086
4b407d:	c7 46 04 02 01 00 00 	movl   $0x102,0x4(%esi)
4b4084:	eb 07                	jmp    0x4b408d
4b4086:	c7 46 04 02 00 00 00 	movl   $0x2,0x4(%esi)
4b408d:	57                   	push   %edi
4b408e:	e8 dd f2 ff ff       	call   0x4b3370
4b4093:	83 c4 04             	add    $0x4,%esp
4b4096:	85 c0                	test   %eax,%eax
4b4098:	74 0a                	je     0x4b40a4
4b409a:	99                   	cltd
4b409b:	83 e2 07             	and    $0x7,%edx
4b409e:	03 c2                	add    %edx,%eax
4b40a0:	c1 f8 03             	sar    $0x3,%eax
4b40a3:	40                   	inc    %eax
4b40a4:	83 c0 04             	add    $0x4,%eax
4b40a7:	39 06                	cmp    %eax,(%esi)
4b40a9:	7d 4b                	jge    0x4b40f6
4b40ab:	68 af 01 00 00       	push   $0x1af
4b40b0:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b40b5:	50                   	push   %eax
4b40b6:	ff 76 08             	push   0x8(%esi)
4b40b9:	e8 62 c1 fe ff       	call   0x4a0220
4b40be:	83 c4 10             	add    $0x10,%esp
4b40c1:	85 c0                	test   %eax,%eax
4b40c3:	75 2e                	jne    0x4b40f3
4b40c5:	68 b1 01 00 00       	push   $0x1b1
4b40ca:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b40cf:	6a 41                	push   $0x41
4b40d1:	68 8b 00 00 00       	push   $0x8b
4b40d6:	6a 0d                	push   $0xd
4b40d8:	e8 c3 d3 fe ff       	call   0x4a14a0
4b40dd:	83 c4 14             	add    $0x14,%esp
4b40e0:	3b f3                	cmp    %ebx,%esi
4b40e2:	74 09                	je     0x4b40ed
4b40e4:	56                   	push   %esi
4b40e5:	e8 96 d8 ff ff       	call   0x4b1980
4b40ea:	83 c4 04             	add    $0x4,%esp
4b40ed:	5f                   	pop    %edi
4b40ee:	5e                   	pop    %esi
4b40ef:	33 c0                	xor    %eax,%eax
4b40f1:	5b                   	pop    %ebx
4b40f2:	c3                   	ret
4b40f3:	89 46 08             	mov    %eax,0x8(%esi)
4b40f6:	ff 76 08             	push   0x8(%esi)
4b40f9:	57                   	push   %edi
4b40fa:	e8 11 ec ff ff       	call   0x4b2d10
4b40ff:	83 c4 08             	add    $0x8,%esp
4b4102:	89 06                	mov    %eax,(%esi)
4b4104:	85 c0                	test   %eax,%eax
4b4106:	75 0c                	jne    0x4b4114
4b4108:	8b 46 08             	mov    0x8(%esi),%eax
4b410b:	c6 00 00             	movb   $0x0,(%eax)
4b410e:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
4b4114:	5f                   	pop    %edi
4b4115:	8b c6                	mov    %esi,%eax
4b4117:	5e                   	pop    %esi
4b4118:	5b                   	pop    %ebx
4b4119:	c3                   	ret
4b411a:	cc                   	int3
4b411b:	cc                   	int3
4b411c:	cc                   	int3
4b411d:	cc                   	int3
4b411e:	cc                   	int3
4b411f:	cc                   	int3
4b4120:	b8 04 00 00 00       	mov    $0x4,%eax
4b4125:	e8 c6 d3 12 00       	call   0x5e14f0
4b412a:	55                   	push   %ebp
4b412b:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4b412f:	57                   	push   %edi
4b4130:	85 ed                	test   %ebp,%ebp
4b4132:	74 07                	je     0x4b413b
4b4134:	8b 7d 00             	mov    0x0(%ebp),%edi
4b4137:	85 ff                	test   %edi,%edi
4b4139:	75 1b                	jne    0x4b4156
4b413b:	6a 02                	push   $0x2
4b413d:	e8 be d9 ff ff       	call   0x4b1b00
4b4142:	8b f8                	mov    %eax,%edi
4b4144:	83 c4 04             	add    $0x4,%esp
4b4147:	85 ff                	test   %edi,%edi
4b4149:	75 04                	jne    0x4b414f
4b414b:	5f                   	pop    %edi
4b414c:	5d                   	pop    %ebp
4b414d:	59                   	pop    %ecx
4b414e:	c3                   	ret
4b414f:	c7 47 04 02 00 00 00 	movl   $0x2,0x4(%edi)
4b4156:	53                   	push   %ebx
4b4157:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4b415b:	56                   	push   %esi
4b415c:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4b4160:	68 d0 00 00 00       	push   $0xd0
4b4165:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b416a:	8b 36                	mov    (%esi),%esi
4b416c:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4b416f:	89 44 24 18          	mov    %eax,0x18(%esp)
4b4173:	8d 43 01             	lea    0x1(%ebx),%eax
4b4176:	50                   	push   %eax
4b4177:	e8 34 c0 fe ff       	call   0x4a01b0
4b417c:	83 c4 0c             	add    $0xc,%esp
4b417f:	89 44 24 18          	mov    %eax,0x18(%esp)
4b4183:	85 c0                	test   %eax,%eax
4b4185:	75 39                	jne    0x4b41c0
4b4187:	68 0d 01 00 00       	push   $0x10d
4b418c:	68 c4 a7 6a 00       	push   $0x6aa7c4
4b4191:	6a 41                	push   $0x41
4b4193:	68 c2 00 00 00       	push   $0xc2
4b4198:	6a 0d                	push   $0xd
4b419a:	e8 01 d3 fe ff       	call   0x4a14a0
4b419f:	83 c4 14             	add    $0x14,%esp
4b41a2:	85 ff                	test   %edi,%edi
4b41a4:	74 12                	je     0x4b41b8
4b41a6:	85 ed                	test   %ebp,%ebp
4b41a8:	74 05                	je     0x4b41af
4b41aa:	39 7d 00             	cmp    %edi,0x0(%ebp)
4b41ad:	74 09                	je     0x4b41b8
4b41af:	57                   	push   %edi
4b41b0:	e8 cb d7 ff ff       	call   0x4b1980
4b41b5:	83 c4 04             	add    $0x4,%esp
4b41b8:	5e                   	pop    %esi
4b41b9:	5b                   	pop    %ebx
4b41ba:	5f                   	pop    %edi
4b41bb:	33 c0                	xor    %eax,%eax
4b41bd:	5d                   	pop    %ebp
4b41be:	59                   	pop    %ecx
4b41bf:	c3                   	ret
4b41c0:	85 db                	test   %ebx,%ebx
4b41c2:	75 0c                	jne    0x4b41d0
4b41c4:	c7 47 04 02 00 00 00 	movl   $0x2,0x4(%edi)
4b41cb:	e9 92 00 00 00       	jmp    0x4b4262
4b41d0:	f6 06 80             	testb  $0x80,(%esi)
4b41d3:	74 6f                	je     0x4b4244
4b41d5:	c7 47 04 02 01 00 00 	movl   $0x102,0x4(%edi)
4b41dc:	80 3e ff             	cmpb   $0xff,(%esi)
4b41df:	75 07                	jne    0x4b41e8
4b41e1:	83 fb 01             	cmp    $0x1,%ebx
4b41e4:	74 02                	je     0x4b41e8
4b41e6:	46                   	inc    %esi
4b41e7:	4b                   	dec    %ebx
4b41e8:	8d 56 ff             	lea    -0x1(%esi),%edx
4b41eb:	8b cb                	mov    %ebx,%ecx
4b41ed:	03 d3                	add    %ebx,%edx
4b41ef:	8d 73 ff             	lea    -0x1(%ebx),%esi
4b41f2:	03 f0                	add    %eax,%esi
4b41f4:	80 3a 00             	cmpb   $0x0,(%edx)
4b41f7:	75 16                	jne    0x4b420f
4b41f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4b4200:	85 c9                	test   %ecx,%ecx
4b4202:	74 0f                	je     0x4b4213
4b4204:	4a                   	dec    %edx
4b4205:	c6 06 00             	movb   $0x0,(%esi)
4b4208:	4e                   	dec    %esi
4b4209:	49                   	dec    %ecx
4b420a:	80 3a 00             	cmpb   $0x0,(%edx)
4b420d:	74 f1                	je     0x4b4200
4b420f:	85 c9                	test   %ecx,%ecx
4b4211:	75 0a                	jne    0x4b421d
4b4213:	c6 00 01             	movb   $0x1,(%eax)
4b4216:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4b421a:	43                   	inc    %ebx
4b421b:	eb 45                	jmp    0x4b4262
4b421d:	8a 02                	mov    (%edx),%al
4b421f:	49                   	dec    %ecx
4b4220:	f6 d0                	not    %al
4b4222:	4a                   	dec    %edx
4b4223:	fe c0                	inc    %al
4b4225:	88 06                	mov    %al,(%esi)
4b4227:	4e                   	dec    %esi
4b4228:	85 c9                	test   %ecx,%ecx