413e4d:	c9                   	leave
413e4e:	c3                   	ret
413e4f:	55                   	push   %ebp
413e50:	8b ec                	mov    %esp,%ebp
413e52:	56                   	push   %esi
413e53:	8b 75 08             	mov    0x8(%ebp),%esi
413e56:	57                   	push   %edi
413e57:	8b ce                	mov    %esi,%ecx
413e59:	e8 f1 58 ff ff       	call   0x40974f
413e5e:	8b 4e 04             	mov    0x4(%esi),%ecx
413e61:	c1 e8 0e             	shr    $0xe,%eax
413e64:	40                   	inc    %eax
413e65:	41                   	inc    %ecx
413e66:	41                   	inc    %ecx
413e67:	8b d1                	mov    %ecx,%edx
413e69:	c1 ea 03             	shr    $0x3,%edx
413e6c:	01 16                	add    %edx,(%esi)
413e6e:	33 ff                	xor    %edi,%edi
413e70:	83 e1 07             	and    $0x7,%ecx
413e73:	89 4e 04             	mov    %ecx,0x4(%esi)
413e76:	89 7d 08             	mov    %edi,0x8(%ebp)
413e79:	3b c7                	cmp    %edi,%eax
413e7b:	76 2e                	jbe    0x413eab
413e7d:	53                   	push   %ebx
413e7e:	8b d8                	mov    %eax,%ebx
413e80:	8b ce                	mov    %esi,%ecx
413e82:	e8 c8 58 ff ff       	call   0x40974f
413e87:	c1 e8 08             	shr    $0x8,%eax
413e8a:	8b cf                	mov    %edi,%ecx
413e8c:	d3 e0                	shl    %cl,%eax
413e8e:	83 c7 08             	add    $0x8,%edi
413e91:	01 45 08             	add    %eax,0x8(%ebp)
413e94:	8b 46 04             	mov    0x4(%esi),%eax
413e97:	83 c0 08             	add    $0x8,%eax
413e9a:	8b c8                	mov    %eax,%ecx
413e9c:	c1 e9 03             	shr    $0x3,%ecx
413e9f:	01 0e                	add    %ecx,(%esi)
413ea1:	83 e0 07             	and    $0x7,%eax
413ea4:	4b                   	dec    %ebx
413ea5:	89 46 04             	mov    %eax,0x4(%esi)
413ea8:	75 d6                	jne    0x413e80
413eaa:	5b                   	pop    %ebx
413eab:	8b 45 08             	mov    0x8(%ebp),%eax
413eae:	5f                   	pop    %edi
413eaf:	5e                   	pop    %esi
413eb0:	5d                   	pop    %ebp
413eb1:	c2 04 00             	ret    $0x4
413eb4:	53                   	push   %ebx
413eb5:	57                   	push   %edi
413eb6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
413eba:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
413ebe:	8b d9                	mov    %ecx,%ebx
413ec0:	75 13                	jne    0x413ed5
413ec2:	8b 43 78             	mov    0x78(%ebx),%eax
413ec5:	83 e8 10             	sub    $0x10,%eax
413ec8:	39 07                	cmp    %eax,(%edi)
413eca:	7e 09                	jle    0x413ed5
413ecc:	e8 3e e1 ff ff       	call   0x41200f
413ed1:	84 c0                	test   %al,%al
413ed3:	74 50                	je     0x413f25
413ed5:	56                   	push   %esi
413ed6:	57                   	push   %edi
413ed7:	8b cb                	mov    %ebx,%ecx
413ed9:	e8 71 ff ff ff       	call   0x413e4f
413ede:	8b 74 24 14          	mov    0x14(%esp),%esi
413ee2:	57                   	push   %edi
413ee3:	8b cb                	mov    %ebx,%ecx
413ee5:	89 46 04             	mov    %eax,0x4(%esi)
413ee8:	e8 62 ff ff ff       	call   0x413e4f
413eed:	8b cf                	mov    %edi,%ecx
413eef:	89 46 08             	mov    %eax,0x8(%esi)
413ef2:	e8 58 58 ff ff       	call   0x40974f
413ef7:	c1 e8 0d             	shr    $0xd,%eax
413efa:	6a 03                	push   $0x3
413efc:	8b cf                	mov    %edi,%ecx
413efe:	88 06                	mov    %al,(%esi)
413f00:	e8 33 58 ff ff       	call   0x409738
413f05:	80 3e 00             	cmpb   $0x0,(%esi)
413f08:	75 18                	jne    0x413f22
413f0a:	8b cf                	mov    %edi,%ecx
413f0c:	e8 3e 58 ff ff       	call   0x40974f
413f11:	c1 e8 0b             	shr    $0xb,%eax
413f14:	fe c0                	inc    %al
413f16:	6a 05                	push   $0x5
413f18:	8b cf                	mov    %edi,%ecx
413f1a:	88 46 0c             	mov    %al,0xc(%esi)
413f1d:	e8 16 58 ff ff       	call   0x409738
413f22:	b0 01                	mov    $0x1,%al
413f24:	5e                   	pop    %esi
413f25:	5f                   	pop    %edi
413f26:	5b                   	pop    %ebx
413f27:	c2 08 00             	ret    $0x8
413f2a:	55                   	push   %ebp
413f2b:	8b ec                	mov    %esp,%ebp
413f2d:	51                   	push   %ecx
413f2e:	8b 55 10             	mov    0x10(%ebp),%edx
413f31:	53                   	push   %ebx
413f32:	8a 1a                	mov    (%edx),%bl
413f34:	56                   	push   %esi
413f35:	57                   	push   %edi
413f36:	8b 7d 08             	mov    0x8(%ebp),%edi
413f39:	89 7d fc             	mov    %edi,-0x4(%ebp)
413f3c:	84 db                	test   %bl,%bl
413f3e:	0f 84 f3 00 00 00    	je     0x414037
413f44:	0f 86 e9 00 00 00    	jbe    0x414033
413f4a:	80 fb 02             	cmp    $0x2,%bl
413f4d:	76 67                	jbe    0x413fb6
413f4f:	80 fb 03             	cmp    $0x3,%bl
413f52:	0f 85 db 00 00 00    	jne    0x414033
413f58:	8b 55 0c             	mov    0xc(%ebp),%edx
413f5b:	8b 89 50 4c 00 00    	mov    0x4c50(%ecx),%ecx
413f61:	83 c2 fd             	add    $0xfffffffd,%edx
413f64:	85 d2                	test   %edx,%edx
413f66:	7e 47                	jle    0x413faf
413f68:	8d 72 ff             	lea    -0x1(%edx),%esi
413f6b:	c1 ee 02             	shr    $0x2,%esi
413f6e:	8b d9                	mov    %ecx,%ebx
413f70:	8d 47 01             	lea    0x1(%edi),%eax
413f73:	46                   	inc    %esi
413f74:	80 78 02 eb          	cmpb   $0xeb,0x2(%eax)
413f78:	75 2c                	jne    0x413fa6
413f7a:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
413f7e:	0f b6 10             	movzbl (%eax),%edx
413f81:	c1 e1 08             	shl    $0x8,%ecx
413f84:	03 ca                	add    %edx,%ecx
413f86:	c1 e1 08             	shl    $0x8,%ecx
413f89:	8b d3                	mov    %ebx,%edx
413f8b:	c1 ea 02             	shr    $0x2,%edx
413f8e:	2b ca                	sub    %edx,%ecx
413f90:	0f b6 50 ff          	movzbl -0x1(%eax),%edx
413f94:	03 ca                	add    %edx,%ecx
413f96:	8b d1                	mov    %ecx,%edx
413f98:	c1 ea 08             	shr    $0x8,%edx
413f9b:	88 48 ff             	mov    %cl,-0x1(%eax)
413f9e:	c1 e9 10             	shr    $0x10,%ecx
413fa1:	88 10                	mov    %dl,(%eax)
413fa3:	88 48 01             	mov    %cl,0x1(%eax)
413fa6:	83 c0 04             	add    $0x4,%eax
413fa9:	83 c3 04             	add    $0x4,%ebx
413fac:	4e                   	dec    %esi
413fad:	75 c5                	jne    0x413f74
413faf:	8b c7                	mov    %edi,%eax
413fb1:	e9 c7 00 00 00       	jmp    0x41407d
413fb6:	8b 45 0c             	mov    0xc(%ebp),%eax
413fb9:	8b 89 50 4c 00 00    	mov    0x4c50(%ecx),%ecx
413fbf:	80 fb 02             	cmp    $0x2,%bl
413fc2:	0f 94 c3             	sete   %bl
413fc5:	83 65 08 00          	andl   $0x0,0x8(%ebp)
413fc9:	83 c0 fc             	add    $0xfffffffc,%eax
413fcc:	80 c3 e8             	add    $0xe8,%bl
413fcf:	89 45 10             	mov    %eax,0x10(%ebp)
413fd2:	85 c0                	test   %eax,%eax
413fd4:	7e 58                	jle    0x41402e
413fd6:	8b d1                	mov    %ecx,%edx
413fd8:	be 00 00 00 80       	mov    $0x80000000,%esi
413fdd:	8a 0f                	mov    (%edi),%cl
413fdf:	47                   	inc    %edi
413fe0:	ff 45 08             	incl   0x8(%ebp)
413fe3:	42                   	inc    %edx
413fe4:	89 55 0c             	mov    %edx,0xc(%ebp)
413fe7:	80 f9 e8             	cmp    $0xe8,%cl
413fea:	74 04                	je     0x413ff0
413fec:	3a cb                	cmp    %bl,%cl
413fee:	75 36                	jne    0x414026
413ff0:	8b 0f                	mov    (%edi),%ecx
413ff2:	81 e2 ff ff ff 00    	and    $0xffffff,%edx
413ff8:	85 ce                	test   %ecx,%esi
413ffa:	74 0f                	je     0x41400b
413ffc:	8d 04 11             	lea    (%ecx,%edx,1),%eax
413fff:	85 c6                	test   %eax,%esi
414001:	75 16                	jne    0x414019
414003:	81 c1 00 00 00 01    	add    $0x1000000,%ecx
414009:	eb 0c                	jmp    0x414017
41400b:	8d 81 00 00 00 ff    	lea    -0x1000000(%ecx),%eax
414011:	85 c6                	test   %eax,%esi
414013:	74 04                	je     0x414019
414015:	2b ca                	sub    %edx,%ecx
414017:	89 0f                	mov    %ecx,(%edi)
414019:	8b 55 0c             	mov    0xc(%ebp),%edx
41401c:	83 45 08 04          	addl   $0x4,0x8(%ebp)
414020:	83 c7 04             	add    $0x4,%edi
414023:	83 c2 04             	add    $0x4,%edx
414026:	8b 45 08             	mov    0x8(%ebp),%eax
414029:	3b 45 10             	cmp    0x10(%ebp),%eax
41402c:	7c af                	jl     0x413fdd
41402e:	8b 45 fc             	mov    -0x4(%ebp),%eax
414031:	eb 4a                	jmp    0x41407d
414033:	33 c0                	xor    %eax,%eax
414035:	eb 46                	jmp    0x41407d
414037:	ff 75 0c             	push   0xc(%ebp)
41403a:	0f b6 5a 0c          	movzbl 0xc(%edx),%ebx
41403e:	83 65 10 00          	andl   $0x0,0x10(%ebp)
414042:	8d 71 34             	lea    0x34(%ecx),%esi
414045:	8b ce                	mov    %esi,%ecx
414047:	e8 83 db fe ff       	call   0x401bcf
41404c:	83 65 08 00          	andl   $0x0,0x8(%ebp)
414050:	8b 06                	mov    (%esi),%eax
414052:	85 db                	test   %ebx,%ebx
414054:	76 27                	jbe    0x41407d
414056:	8b 55 08             	mov    0x8(%ebp),%edx
414059:	8b 75 0c             	mov    0xc(%ebp),%esi
41405c:	32 c9                	xor    %cl,%cl
41405e:	3b d6                	cmp    %esi,%edx
414060:	73 13                	jae    0x414075
414062:	8b 75 10             	mov    0x10(%ebp),%esi
414065:	2a 0c 3e             	sub    (%esi,%edi,1),%cl
414068:	ff 45 10             	incl   0x10(%ebp)
41406b:	88 0c 02             	mov    %cl,(%edx,%eax,1)
41406e:	03 d3                	add    %ebx,%edx
414070:	3b 55 0c             	cmp    0xc(%ebp),%edx
414073:	72 ed                	jb     0x414062
414075:	ff 45 08             	incl   0x8(%ebp)
414078:	39 5d 08             	cmp    %ebx,0x8(%ebp)
41407b:	72 d9                	jb     0x414056
41407d:	5f                   	pop    %edi
41407e:	5e                   	pop    %esi
41407f:	5b                   	pop    %ebx
414080:	c9                   	leave
414081:	c2 0c 00             	ret    $0xc
414084:	55                   	push   %ebp
414085:	8b ec                	mov    %esp,%ebp
414087:	53                   	push   %ebx
414088:	8b 5d 08             	mov    0x8(%ebp),%ebx
41408b:	56                   	push   %esi
41408c:	57                   	push   %edi
41408d:	8b 7d 0c             	mov    0xc(%ebp),%edi
414090:	8b f1                	mov    %ecx,%esi
414092:	3b fb                	cmp    %ebx,%edi
414094:	74 10                	je     0x4140a6
414096:	c6 86 4a 4c 00 00 01 	movb   $0x1,0x4c4a(%esi)
41409d:	73 07                	jae    0x4140a6
41409f:	c6 86 49 4c 00 00 01 	movb   $0x1,0x4c49(%esi)
4140a6:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
4140ad:	74 46                	je     0x4140f5
4140af:	2b fb                	sub    %ebx,%edi
4140b1:	23 be f8 e6 00 00    	and    0xe6f8(%esi),%edi
4140b7:	89 7d 0c             	mov    %edi,0xc(%ebp)
4140ba:	76 70                	jbe    0x41412c
4140bc:	ff 75 0c             	push   0xc(%ebp)
4140bf:	8d 8e 38 4b 00 00    	lea    0x4b38(%esi),%ecx
4140c5:	53                   	push   %ebx
4140c6:	e8 14 e2 ff ff       	call   0x4122df
4140cb:	8b f8                	mov    %eax,%edi
4140cd:	57                   	push   %edi
4140ce:	53                   	push   %ebx
4140cf:	8d 8e 38 4b 00 00    	lea    0x4b38(%esi),%ecx
4140d5:	e8 5c e1 ff ff       	call   0x412236
4140da:	50                   	push   %eax
4140db:	8b ce                	mov    %esi,%ecx
4140dd:	e8 e6 df ff ff       	call   0x4120c8
4140e2:	29 7d 0c             	sub    %edi,0xc(%ebp)
4140e5:	03 df                	add    %edi,%ebx
4140e7:	23 9e f8 e6 00 00    	and    0xe6f8(%esi),%ebx
4140ed:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4140f1:	77 c9                	ja     0x4140bc
4140f3:	eb 37                	jmp    0x41412c
4140f5:	3b fb                	cmp    %ebx,%edi
4140f7:	73 22                	jae    0x41411b
4140f9:	8b 86 f4 e6 00 00    	mov    0xe6f4(%esi),%eax
4140ff:	2b c3                	sub    %ebx,%eax
414101:	50                   	push   %eax
414102:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
414108:	03 c3                	add    %ebx,%eax
41410a:	50                   	push   %eax
41410b:	e8 b8 df ff ff       	call   0x4120c8
414110:	57                   	push   %edi
414111:	ff b6 34 4b 00 00    	push   0x4b34(%esi)
414117:	8b ce                	mov    %esi,%ecx
414119:	eb 0c                	jmp    0x414127
41411b:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
414121:	2b fb                	sub    %ebx,%edi
414123:	57                   	push   %edi
414124:	03 c3                	add    %ebx,%eax
414126:	50                   	push   %eax
414127:	e8 9c df ff ff       	call   0x4120c8
41412c:	5f                   	pop    %edi
41412d:	5e                   	pop    %esi
41412e:	5b                   	pop    %ebx
41412f:	5d                   	pop    %ebp
414130:	c2 08 00             	ret    $0x8
414133:	55                   	push   %ebp
414134:	8b ec                	mov    %esp,%ebp
414136:	83 ec 0c             	sub    $0xc,%esp
414139:	56                   	push   %esi
41413a:	8b 75 08             	mov    0x8(%ebp),%esi
41413d:	57                   	push   %edi
41413e:	8b 7d 0c             	mov    0xc(%ebp),%edi
414141:	83 67 0c 00          	andl   $0x0,0xc(%edi)
414145:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
414149:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41414c:	75 17                	jne    0x414165
41414e:	8b 41 78             	mov    0x78(%ecx),%eax
414151:	83 e8 07             	sub    $0x7,%eax
414154:	39 06                	cmp    %eax,(%esi)
414156:	7e 0d                	jle    0x414165
414158:	e8 b2 de ff ff       	call   0x41200f
41415d:	84 c0                	test   %al,%al
41415f:	0f 84 e4 00 00 00    	je     0x414249
414165:	8b 46 04             	mov    0x4(%esi),%eax
414168:	f7 d8                	neg    %eax
41416a:	53                   	push   %ebx
41416b:	83 e0 07             	and    $0x7,%eax
41416e:	50                   	push   %eax
41416f:	8b ce                	mov    %esi,%ecx
414171:	e8 c2 55 ff ff       	call   0x409738
414176:	8b ce                	mov    %esi,%ecx
414178:	e8 d2 55 ff ff       	call   0x40974f
41417d:	8b d8                	mov    %eax,%ebx
41417f:	c1 eb 08             	shr    $0x8,%ebx
414182:	6a 08                	push   $0x8
414184:	8b ce                	mov    %esi,%ecx
414186:	88 5d 0f             	mov    %bl,0xf(%ebp)
414189:	e8 aa 55 ff ff       	call   0x409738
41418e:	0f b6 c3             	movzbl %bl,%eax
414191:	8b d8                	mov    %eax,%ebx
414193:	c1 eb 03             	shr    $0x3,%ebx
414196:	83 e3 03             	and    $0x3,%ebx
414199:	43                   	inc    %ebx
41419a:	83 fb 04             	cmp    $0x4,%ebx
41419d:	74 7b                	je     0x41421a
41419f:	8d 4b 02             	lea    0x2(%ebx),%ecx
4141a2:	83 e0 07             	and    $0x7,%eax
4141a5:	89 4f 0c             	mov    %ecx,0xc(%edi)
4141a8:	40                   	inc    %eax
4141a9:	8b ce                	mov    %esi,%ecx
4141ab:	89 47 04             	mov    %eax,0x4(%edi)
4141ae:	e8 9c 55 ff ff       	call   0x40974f
4141b3:	c1 e8 08             	shr    $0x8,%eax
4141b6:	6a 08                	push   $0x8
4141b8:	8b ce                	mov    %esi,%ecx
4141ba:	88 45 0b             	mov    %al,0xb(%ebp)
4141bd:	e8 76 55 ff ff       	call   0x409738
4141c2:	33 c0                	xor    %eax,%eax
4141c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4141c7:	3b d8                	cmp    %eax,%ebx
4141c9:	76 32                	jbe    0x4141fd
4141cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4141ce:	8b ce                	mov    %esi,%ecx
4141d0:	e8 7a 55 ff ff       	call   0x40974f
4141d5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4141d8:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
4141dc:	c1 e8 08             	shr    $0x8,%eax
4141df:	d3 e0                	shl    %cl,%eax
4141e1:	01 45 f8             	add    %eax,-0x8(%ebp)
4141e4:	8b 46 04             	mov    0x4(%esi),%eax
4141e7:	83 c0 08             	add    $0x8,%eax
4141ea:	8b c8                	mov    %eax,%ecx
4141ec:	c1 e9 03             	shr    $0x3,%ecx
4141ef:	01 0e                	add    %ecx,(%esi)
4141f1:	83 e0 07             	and    $0x7,%eax