41c952:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41c956:	8d 46 01             	lea    0x1(%esi),%eax
41c959:	8a 0e                	mov    (%esi),%cl
41c95b:	88 4d 17             	mov    %cl,0x17(%ebp)
41c95e:	88 4d f8             	mov    %cl,-0x8(%ebp)
41c961:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c964:	74 1b                	je     0x41c981
41c966:	ff 73 14             	push   0x14(%ebx)
41c969:	50                   	push   %eax
41c96a:	8d 45 ec             	lea    -0x14(%ebp),%eax
41c96d:	56                   	push   %esi
41c96e:	50                   	push   %eax
41c96f:	e8 ba 79 fe ff       	call   0x40432e
41c974:	83 c4 10             	add    $0x10,%esp
41c977:	39 30                	cmp    %esi,(%eax)
41c979:	75 5f                	jne    0x41c9da
41c97b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c97e:	8a 4d 17             	mov    0x17(%ebp),%cl
41c981:	8b 43 20             	mov    0x20(%ebx),%eax
41c984:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c987:	85 c0                	test   %eax,%eax
41c989:	74 30                	je     0x41c9bb
41c98b:	f7 42 5c 00 08 00 00 	testl  $0x800,0x5c(%edx)
41c992:	74 13                	je     0x41c9a7
41c994:	ff 75 f8             	push   -0x8(%ebp)
41c997:	8b 4a 70             	mov    0x70(%edx),%ecx
41c99a:	e8 55 69 00 00       	call   0x4232f4
41c99f:	8b 7d 10             	mov    0x10(%ebp),%edi
41c9a2:	8b 75 0c             	mov    0xc(%ebp),%esi
41c9a5:	eb 02                	jmp    0x41c9a9
41c9a7:	8a c1                	mov    %cl,%al
41c9a9:	ff 75 f4             	push   -0xc(%ebp)
41c9ac:	0f b6 c0             	movzbl %al,%eax
41c9af:	50                   	push   %eax
41c9b0:	e8 74 7b fe ff       	call   0x404529
41c9b5:	59                   	pop    %ecx
41c9b6:	59                   	pop    %ecx
41c9b7:	84 c0                	test   %al,%al
41c9b9:	75 1f                	jne    0x41c9da
41c9bb:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
41c9bf:	74 1e                	je     0x41c9df
41c9c1:	0f b6 55 17          	movzbl 0x17(%ebp),%edx
41c9c5:	33 c0                	xor    %eax,%eax
41c9c7:	8b ca                	mov    %edx,%ecx
41c9c9:	40                   	inc    %eax
41c9ca:	83 e1 07             	and    $0x7,%ecx
41c9cd:	c1 ea 03             	shr    $0x3,%edx
41c9d0:	d3 e0                	shl    %cl,%eax
41c9d2:	8b 4b 18             	mov    0x18(%ebx),%ecx
41c9d5:	84 04 0a             	test   %al,(%edx,%ecx,1)
41c9d8:	74 05                	je     0x41c9df
41c9da:	33 c9                	xor    %ecx,%ecx
41c9dc:	41                   	inc    %ecx
41c9dd:	eb 02                	jmp    0x41c9e1
41c9df:	33 c9                	xor    %ecx,%ecx
41c9e1:	8b 43 08             	mov    0x8(%ebx),%eax
41c9e4:	83 e0 01             	and    $0x1,%eax
41c9e7:	3b c8                	cmp    %eax,%ecx
41c9e9:	0f 85 25 ff ff ff    	jne    0x41c914
41c9ef:	8b 75 f0             	mov    -0x10(%ebp),%esi
41c9f2:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c9f5:	89 75 0c             	mov    %esi,0xc(%ebp)
41c9f8:	3b f7                	cmp    %edi,%esi
41c9fa:	0f 85 52 ff ff ff    	jne    0x41c952
41ca00:	e9 0f ff ff ff       	jmp    0x41c914
41ca05:	ff 72 5c             	push   0x5c(%edx)
41ca08:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41ca0b:	8d 7e 01             	lea    0x1(%esi),%edi
41ca0e:	ff 72 70             	push   0x70(%edx)
41ca11:	8d 41 01             	lea    0x1(%ecx),%eax
41ca14:	50                   	push   %eax
41ca15:	51                   	push   %ecx
41ca16:	57                   	push   %edi
41ca17:	8d 45 14             	lea    0x14(%ebp),%eax
41ca1a:	56                   	push   %esi
41ca1b:	50                   	push   %eax
41ca1c:	e8 b6 64 fe ff       	call   0x402ed7
41ca21:	8b 75 0c             	mov    0xc(%ebp),%esi
41ca24:	83 c4 1c             	add    $0x1c,%esp
41ca27:	39 30                	cmp    %esi,(%eax)
41ca29:	0f 85 e5 fe ff ff    	jne    0x41c914
41ca2f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ca32:	8b f7                	mov    %edi,%esi
41ca34:	89 75 0c             	mov    %esi,0xc(%ebp)
41ca37:	3b 75 10             	cmp    0x10(%ebp),%esi
41ca3a:	75 c9                	jne    0x41ca05
41ca3c:	e9 d3 fe ff ff       	jmp    0x41c914
41ca41:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
41ca45:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ca48:	ff 75 14             	push   0x14(%ebp)
41ca4b:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
41ca52:	50                   	push   %eax
41ca53:	57                   	push   %edi
41ca54:	56                   	push   %esi
41ca55:	e8 f0 70 fe ff       	call   0x403b4a
41ca5a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ca5d:	83 c4 10             	add    $0x10,%esp
41ca60:	89 01                	mov    %eax,(%ecx)
41ca62:	8b c1                	mov    %ecx,%eax
41ca64:	e9 b0 fe ff ff       	jmp    0x41c919
41ca69:	80 7e ff 0a          	cmpb   $0xa,-0x1(%esi)
41ca6d:	0f 84 a1 fe ff ff    	je     0x41c914
41ca73:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
41ca77:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ca7a:	ff 75 14             	push   0x14(%ebp)
41ca7d:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
41ca84:	50                   	push   %eax
41ca85:	57                   	push   %edi
41ca86:	56                   	push   %esi
41ca87:	e8 be 70 fe ff       	call   0x403b4a
41ca8c:	8b f0                	mov    %eax,%esi
41ca8e:	83 c4 10             	add    $0x10,%esp
41ca91:	3b f7                	cmp    %edi,%esi
41ca93:	0f 84 7b fe ff ff    	je     0x41c914
41ca99:	46                   	inc    %esi
41ca9a:	e9 75 fe ff ff       	jmp    0x41c914
41ca9f:	85 db                	test   %ebx,%ebx
41caa1:	74 22                	je     0x41cac5
41caa3:	ff 73 0c             	push   0xc(%ebx)
41caa6:	8d 45 14             	lea    0x14(%ebp),%eax
41caa9:	8b ca                	mov    %edx,%ecx
41caab:	57                   	push   %edi
41caac:	56                   	push   %esi
41caad:	50                   	push   %eax
41caae:	e8 07 fe ff ff       	call   0x41c8ba
41cab3:	8b 75 0c             	mov    0xc(%ebp),%esi
41cab6:	8b 55 fc             	mov    -0x4(%ebp),%edx
41cab9:	8b 38                	mov    (%eax),%edi
41cabb:	89 7d 10             	mov    %edi,0x10(%ebp)
41cabe:	8b 5b 18             	mov    0x18(%ebx),%ebx
41cac1:	3b f7                	cmp    %edi,%esi
41cac3:	75 da                	jne    0x41ca9f
41cac5:	8b 45 08             	mov    0x8(%ebp),%eax
41cac8:	89 38                	mov    %edi,(%eax)
41caca:	e9 4a fe ff ff       	jmp    0x41c919
41cacf:	55                   	push   %ebp
41cad0:	8b ec                	mov    %esp,%ebp
41cad2:	83 ec 1c             	sub    $0x1c,%esp
41cad5:	53                   	push   %ebx
41cad6:	8b 5d 14             	mov    0x14(%ebp),%ebx
41cad9:	8b d1                	mov    %ecx,%edx
41cadb:	89 55 fc             	mov    %edx,-0x4(%ebp)
41cade:	56                   	push   %esi
41cadf:	57                   	push   %edi
41cae0:	85 db                	test   %ebx,%ebx
41cae2:	75 06                	jne    0x41caea
41cae4:	8b 5a 58             	mov    0x58(%edx),%ebx
41cae7:	89 5d 14             	mov    %ebx,0x14(%ebp)
41caea:	8b 75 0c             	mov    0xc(%ebp),%esi
41caed:	8b 7d 10             	mov    0x10(%ebp),%edi
41caf0:	3b f7                	cmp    %edi,%esi
41caf2:	74 38                	je     0x41cb2c
41caf4:	85 db                	test   %ebx,%ebx
41caf6:	74 34                	je     0x41cb2c
41caf8:	8b 43 04             	mov    0x4(%ebx),%eax
41cafb:	83 f8 09             	cmp    $0x9,%eax
41cafe:	7f 38                	jg     0x41cb38
41cb00:	74 62                	je     0x41cb64
41cb02:	83 e8 01             	sub    $0x1,%eax
41cb05:	74 5d                	je     0x41cb64
41cb07:	83 e8 01             	sub    $0x1,%eax
41cb0a:	0f 84 08 02 00 00    	je     0x41cd18
41cb10:	83 e8 01             	sub    $0x1,%eax
41cb13:	0f 84 d7 01 00 00    	je     0x41ccf0
41cb19:	83 e8 03             	sub    $0x3,%eax
41cb1c:	0f 84 92 01 00 00    	je     0x41ccb4
41cb22:	83 e8 01             	sub    $0x1,%eax
41cb25:	74 49                	je     0x41cb70
41cb27:	83 e8 01             	sub    $0x1,%eax
41cb2a:	74 38                	je     0x41cb64
41cb2c:	8b 45 08             	mov    0x8(%ebp),%eax
41cb2f:	89 30                	mov    %esi,(%eax)
41cb31:	5f                   	pop    %edi
41cb32:	5e                   	pop    %esi
41cb33:	5b                   	pop    %ebx
41cb34:	c9                   	leave
41cb35:	c2 10 00             	ret    $0x10
41cb38:	83 e8 0c             	sub    $0xc,%eax
41cb3b:	74 22                	je     0x41cb5f
41cb3d:	83 e8 01             	sub    $0x1,%eax
41cb40:	74 22                	je     0x41cb64
41cb42:	83 e8 01             	sub    $0x1,%eax
41cb45:	74 1d                	je     0x41cb64
41cb47:	48                   	dec    %eax
41cb48:	83 e8 01             	sub    $0x1,%eax
41cb4b:	0f 84 fe 01 00 00    	je     0x41cd4f
41cb51:	83 e8 04             	sub    $0x4,%eax
41cb54:	74 0e                	je     0x41cb64
41cb56:	83 e8 01             	sub    $0x1,%eax
41cb59:	75 d1                	jne    0x41cb2c
41cb5b:	33 db                	xor    %ebx,%ebx
41cb5d:	eb 0c                	jmp    0x41cb6b
41cb5f:	33 db                	xor    %ebx,%ebx
41cb61:	89 5d 14             	mov    %ebx,0x14(%ebp)
41cb64:	85 db                	test   %ebx,%ebx
41cb66:	74 c4                	je     0x41cb2c
41cb68:	8b 5b 0c             	mov    0xc(%ebx),%ebx
41cb6b:	89 5d 14             	mov    %ebx,0x14(%ebp)
41cb6e:	eb 84                	jmp    0x41caf4
41cb70:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41cb74:	0f b7 0e             	movzwl (%esi),%ecx
41cb77:	8b c1                	mov    %ecx,%eax
41cb79:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cb7c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41cb7f:	8d 46 02             	lea    0x2(%esi),%eax
41cb82:	89 45 e8             	mov    %eax,-0x18(%ebp)
41cb85:	74 1f                	je     0x41cba6
41cb87:	ff 73 14             	push   0x14(%ebx)
41cb8a:	50                   	push   %eax
41cb8b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cb8e:	56                   	push   %esi
41cb8f:	50                   	push   %eax
41cb90:	e8 02 78 fe ff       	call   0x404397
41cb95:	83 c4 10             	add    $0x10,%esp
41cb98:	39 30                	cmp    %esi,(%eax)
41cb9a:	0f 85 e9 00 00 00    	jne    0x41cc89
41cba0:	8b 55 fc             	mov    -0x4(%ebp),%edx
41cba3:	0f b7 0e             	movzwl (%esi),%ecx
41cba6:	8b 43 20             	mov    0x20(%ebx),%eax
41cba9:	89 45 f4             	mov    %eax,-0xc(%ebp)
41cbac:	85 c0                	test   %eax,%eax
41cbae:	74 38                	je     0x41cbe8
41cbb0:	f7 42 5c 00 08 00 00 	testl  $0x800,0x5c(%edx)
41cbb7:	74 16                	je     0x41cbcf
41cbb9:	ff 75 f8             	push   -0x8(%ebp)
41cbbc:	8b 4a 70             	mov    0x70(%edx),%ecx
41cbbf:	e8 81 67 00 00       	call   0x423345
41cbc4:	8b 7d 10             	mov    0x10(%ebp),%edi
41cbc7:	8b 75 0c             	mov    0xc(%ebp),%esi
41cbca:	0f b7 c0             	movzwl %ax,%eax
41cbcd:	eb 03                	jmp    0x41cbd2
41cbcf:	0f b7 c1             	movzwl %cx,%eax
41cbd2:	ff 75 f4             	push   -0xc(%ebp)
41cbd5:	0f b7 c0             	movzwl %ax,%eax
41cbd8:	50                   	push   %eax
41cbd9:	e8 81 79 fe ff       	call   0x40455f
41cbde:	59                   	pop    %ecx
41cbdf:	59                   	pop    %ecx
41cbe0:	84 c0                	test   %al,%al
41cbe2:	0f 85 a1 00 00 00    	jne    0x41cc89
41cbe8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41cbeb:	b8 00 01 00 00       	mov    $0x100,%eax
41cbf0:	66 3b c8             	cmp    %ax,%cx
41cbf3:	73 22                	jae    0x41cc17
41cbf5:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
41cbf9:	0f 84 8f 00 00 00    	je     0x41cc8e
41cbff:	0f b7 d1             	movzwl %cx,%edx
41cc02:	33 c0                	xor    %eax,%eax
41cc04:	8b ca                	mov    %edx,%ecx
41cc06:	40                   	inc    %eax
41cc07:	83 e1 07             	and    $0x7,%ecx
41cc0a:	c1 ea 03             	shr    $0x3,%edx
41cc0d:	d3 e0                	shl    %cl,%eax
41cc0f:	8b 4b 18             	mov    0x18(%ebx),%ecx
41cc12:	84 04 0a             	test   %al,(%edx,%ecx,1)
41cc15:	eb 70                	jmp    0x41cc87
41cc17:	8b 43 1c             	mov    0x1c(%ebx),%eax
41cc1a:	85 c0                	test   %eax,%eax
41cc1c:	74 25                	je     0x41cc43
41cc1e:	8b 48 08             	mov    0x8(%eax),%ecx
41cc21:	8b 40 04             	mov    0x4(%eax),%eax
41cc24:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
41cc28:	ff 75 ec             	push   -0x14(%ebp)
41cc2b:	8d 1c 41             	lea    (%ecx,%eax,2),%ebx
41cc2e:	8d 45 f8             	lea    -0x8(%ebp),%eax
41cc31:	50                   	push   %eax
41cc32:	53                   	push   %ebx
41cc33:	51                   	push   %ecx
41cc34:	e8 32 6f fe ff       	call   0x403b6b
41cc39:	83 c4 10             	add    $0x10,%esp
41cc3c:	3b c3                	cmp    %ebx,%eax
41cc3e:	8b 5d 14             	mov    0x14(%ebp),%ebx
41cc41:	75 46                	jne    0x41cc89
41cc43:	0f b7 43 24          	movzwl 0x24(%ebx),%eax
41cc47:	66 85 c0             	test   %ax,%ax
41cc4a:	74 19                	je     0x41cc65
41cc4c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cc4f:	50                   	push   %eax
41cc50:	ff 75 f8             	push   -0x8(%ebp)
41cc53:	8b 49 70             	mov    0x70(%ecx),%ecx
41cc56:	e8 10 54 00 00       	call   0x42206b
41cc5b:	8b 7d 10             	mov    0x10(%ebp),%edi
41cc5e:	8b 75 0c             	mov    0xc(%ebp),%esi
41cc61:	84 c0                	test   %al,%al
41cc63:	75 24                	jne    0x41cc89
41cc65:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
41cc69:	74 23                	je     0x41cc8e
41cc6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41cc6e:	ff 70 70             	push   0x70(%eax)
41cc71:	ff 73 28             	push   0x28(%ebx)
41cc74:	ff 75 f8             	push   -0x8(%ebp)
41cc77:	e8 85 77 fe ff       	call   0x404401
41cc7c:	8b 7d 10             	mov    0x10(%ebp),%edi
41cc7f:	83 c4 0c             	add    $0xc,%esp
41cc82:	8b 75 0c             	mov    0xc(%ebp),%esi
41cc85:	84 c0                	test   %al,%al
41cc87:	74 05                	je     0x41cc8e
41cc89:	33 c9                	xor    %ecx,%ecx
41cc8b:	41                   	inc    %ecx
41cc8c:	eb 02                	jmp    0x41cc90
41cc8e:	33 c9                	xor    %ecx,%ecx
41cc90:	8b 43 08             	mov    0x8(%ebx),%eax
41cc93:	83 e0 01             	and    $0x1,%eax
41cc96:	3b c8                	cmp    %eax,%ecx
41cc98:	0f 85 8e fe ff ff    	jne    0x41cb2c
41cc9e:	8b 75 e8             	mov    -0x18(%ebp),%esi
41cca1:	8b 55 fc             	mov    -0x4(%ebp),%edx
41cca4:	89 75 0c             	mov    %esi,0xc(%ebp)
41cca7:	3b f7                	cmp    %edi,%esi
41cca9:	0f 85 c1 fe ff ff    	jne    0x41cb70
41ccaf:	e9 78 fe ff ff       	jmp    0x41cb2c
41ccb4:	ff 72 5c             	push   0x5c(%edx)
41ccb7:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41ccba:	8d 7e 02             	lea    0x2(%esi),%edi
41ccbd:	ff 72 70             	push   0x70(%edx)
41ccc0:	8d 41 02             	lea    0x2(%ecx),%eax
41ccc3:	50                   	push   %eax
41ccc4:	51                   	push   %ecx
41ccc5:	57                   	push   %edi
41ccc6:	8d 45 14             	lea    0x14(%ebp),%eax
41ccc9:	56                   	push   %esi
41ccca:	50                   	push   %eax
41cccb:	e8 e9 62 fe ff       	call   0x402fb9
41ccd0:	8b 75 0c             	mov    0xc(%ebp),%esi
41ccd3:	83 c4 1c             	add    $0x1c,%esp
41ccd6:	39 30                	cmp    %esi,(%eax)
41ccd8:	0f 85 4e fe ff ff    	jne    0x41cb2c
41ccde:	8b 55 fc             	mov    -0x4(%ebp),%edx
41cce1:	8b f7                	mov    %edi,%esi
41cce3:	89 75 0c             	mov    %esi,0xc(%ebp)
41cce6:	3b 75 10             	cmp    0x10(%ebp),%esi
41cce9:	75 c9                	jne    0x41ccb4
41cceb:	e9 3c fe ff ff       	jmp    0x41cb2c
41ccf0:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
41ccf4:	8d 45 e8             	lea    -0x18(%ebp),%eax
41ccf7:	ff 75 14             	push   0x14(%ebp)
41ccfa:	c7 45 e8 0a 00 00 00 	movl   $0xa,-0x18(%ebp)
41cd01:	50                   	push   %eax
41cd02:	57                   	push   %edi
41cd03:	56                   	push   %esi
41cd04:	e8 84 6e fe ff       	call   0x403b8d
41cd09:	8b 4d 08             	mov    0x8(%ebp),%ecx
41cd0c:	83 c4 10             	add    $0x10,%esp
41cd0f:	89 01                	mov    %eax,(%ecx)
41cd11:	8b c1                	mov    %ecx,%eax
41cd13:	e9 19 fe ff ff       	jmp    0x41cb31
41cd18:	6a 0a                	push   $0xa
41cd1a:	58                   	pop    %eax
41cd1b:	66 39 46 fe          	cmp    %ax,-0x2(%esi)
41cd1f:	0f 84 07 fe ff ff    	je     0x41cb2c