40bdb0:	8b ff                	mov    %edi,%edi
40bdb2:	55                   	push   %ebp
40bdb3:	8b ec                	mov    %esp,%ebp
40bdb5:	51                   	push   %ecx
40bdb6:	53                   	push   %ebx
40bdb7:	56                   	push   %esi
40bdb8:	8b 75 08             	mov    0x8(%ebp),%esi
40bdbb:	57                   	push   %edi
40bdbc:	56                   	push   %esi
40bdbd:	e8 79 07 00 00       	call   0x40c53b
40bdc2:	59                   	pop    %ecx
40bdc3:	85 c0                	test   %eax,%eax
40bdc5:	74 5f                	je     0x40be26
40bdc7:	8b fe                	mov    %esi,%edi
40bdc9:	83 e6 3f             	and    $0x3f,%esi
40bdcc:	c1 ff 06             	sar    $0x6,%edi
40bdcf:	6b de 38             	imul   $0x38,%esi,%ebx
40bdd2:	8b 04 bd 78 70 41 00 	mov    0x417078(,%edi,4),%eax
40bdd9:	80 7c 18 28 00       	cmpb   $0x0,0x28(%eax,%ebx,1)
40bdde:	7d 46                	jge    0x40be26
40bde0:	8b 75 0c             	mov    0xc(%ebp),%esi
40bde3:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
40bde7:	75 07                	jne    0x40bdf0
40bde9:	8b ce                	mov    %esi,%ecx
40bdeb:	e8 60 b2 ff ff       	call   0x407050
40bdf0:	8b 46 0c             	mov    0xc(%esi),%eax
40bdf3:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
40bdfa:	75 0e                	jne    0x40be0a
40bdfc:	8b 04 bd 78 70 41 00 	mov    0x417078(,%edi,4),%eax
40be03:	80 7c 18 29 00       	cmpb   $0x0,0x29(%eax,%ebx,1)
40be08:	74 1c                	je     0x40be26
40be0a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40be0d:	50                   	push   %eax
40be0e:	8b 04 bd 78 70 41 00 	mov    0x417078(,%edi,4),%eax
40be15:	ff 74 18 18          	push   0x18(%eax,%ebx,1)
40be19:	ff 15 fc f0 40 00    	call   *0x40f0fc
40be1f:	85 c0                	test   %eax,%eax
40be21:	0f 95 c0             	setne  %al
40be24:	eb 02                	jmp    0x40be28
40be26:	32 c0                	xor    %al,%al
40be28:	5f                   	pop    %edi
40be29:	5e                   	pop    %esi
40be2a:	5b                   	pop    %ebx
40be2b:	c9                   	leave
40be2c:	c3                   	ret
40be2d:	8b ff                	mov    %edi,%edi
40be2f:	55                   	push   %ebp
40be30:	8b ec                	mov    %esp,%ebp
40be32:	b8 0c 14 00 00       	mov    $0x140c,%eax
40be37:	e8 44 2f 00 00       	call   0x40ed80
40be3c:	a1 14 60 41 00       	mov    0x416014,%eax
40be41:	33 c5                	xor    %ebp,%eax
40be43:	89 45 fc             	mov    %eax,-0x4(%ebp)
40be46:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40be49:	8b c1                	mov    %ecx,%eax
40be4b:	8b 55 14             	mov    0x14(%ebp),%edx
40be4e:	83 e1 3f             	and    $0x3f,%ecx
40be51:	c1 f8 06             	sar    $0x6,%eax
40be54:	6b c9 38             	imul   $0x38,%ecx,%ecx
40be57:	53                   	push   %ebx
40be58:	8b 5d 08             	mov    0x8(%ebp),%ebx
40be5b:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
40be62:	56                   	push   %esi
40be63:	57                   	push   %edi
40be64:	8b fb                	mov    %ebx,%edi
40be66:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40be6a:	8b 4d 10             	mov    0x10(%ebp),%ecx
40be6d:	03 d1                	add    %ecx,%edx
40be6f:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
40be75:	33 c0                	xor    %eax,%eax
40be77:	ab                   	stos   %eax,%es:(%edi)
40be78:	89 95 f4 eb ff ff    	mov    %edx,-0x140c(%ebp)
40be7e:	ab                   	stos   %eax,%es:(%edi)
40be7f:	ab                   	stos   %eax,%es:(%edi)
40be80:	3b ca                	cmp    %edx,%ecx
40be82:	73 73                	jae    0x40bef7
40be84:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
40be8a:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
40be90:	3b ca                	cmp    %edx,%ecx
40be92:	73 18                	jae    0x40beac
40be94:	8a 01                	mov    (%ecx),%al
40be96:	41                   	inc    %ecx
40be97:	3c 0a                	cmp    $0xa,%al
40be99:	75 07                	jne    0x40bea2
40be9b:	ff 43 08             	incl   0x8(%ebx)
40be9e:	c6 06 0d             	movb   $0xd,(%esi)
40bea1:	46                   	inc    %esi
40bea2:	88 06                	mov    %al,(%esi)
40bea4:	46                   	inc    %esi
40bea5:	8d 45 fb             	lea    -0x5(%ebp),%eax
40bea8:	3b f0                	cmp    %eax,%esi
40beaa:	72 e4                	jb     0x40be90
40beac:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
40beb2:	89 4d 10             	mov    %ecx,0x10(%ebp)
40beb5:	2b f0                	sub    %eax,%esi
40beb7:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
40bebd:	6a 00                	push   $0x0
40bebf:	50                   	push   %eax
40bec0:	56                   	push   %esi
40bec1:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
40bec7:	50                   	push   %eax
40bec8:	57                   	push   %edi
40bec9:	ff 15 94 f0 40 00    	call   *0x40f094
40becf:	85 c0                	test   %eax,%eax
40bed1:	74 1c                	je     0x40beef
40bed3:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
40bed9:	01 43 04             	add    %eax,0x4(%ebx)
40bedc:	3b c6                	cmp    %esi,%eax
40bede:	72 17                	jb     0x40bef7
40bee0:	8b 4d 10             	mov    0x10(%ebp),%ecx
40bee3:	8b 95 f4 eb ff ff    	mov    -0x140c(%ebp),%edx
40bee9:	3b ca                	cmp    %edx,%ecx
40beeb:	72 9d                	jb     0x40be8a
40beed:	eb 08                	jmp    0x40bef7
40beef:	ff 15 58 f0 40 00    	call   *0x40f058
40bef5:	89 03                	mov    %eax,(%ebx)
40bef7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40befa:	8b c3                	mov    %ebx,%eax
40befc:	5f                   	pop    %edi
40befd:	5e                   	pop    %esi
40befe:	33 cd                	xor    %ebp,%ecx
40bf00:	5b                   	pop    %ebx
40bf01:	e8 2f 77 ff ff       	call   0x403635
40bf06:	c9                   	leave
40bf07:	c3                   	ret
40bf08:	8b ff                	mov    %edi,%edi
40bf0a:	55                   	push   %ebp
40bf0b:	8b ec                	mov    %esp,%ebp
40bf0d:	b8 10 14 00 00       	mov    $0x1410,%eax
40bf12:	e8 69 2e 00 00       	call   0x40ed80
40bf17:	a1 14 60 41 00       	mov    0x416014,%eax
40bf1c:	33 c5                	xor    %ebp,%eax
40bf1e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bf21:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bf24:	8b c1                	mov    %ecx,%eax
40bf26:	8b 55 14             	mov    0x14(%ebp),%edx
40bf29:	83 e1 3f             	and    $0x3f,%ecx
40bf2c:	c1 f8 06             	sar    $0x6,%eax
40bf2f:	6b c9 38             	imul   $0x38,%ecx,%ecx
40bf32:	53                   	push   %ebx
40bf33:	8b 5d 08             	mov    0x8(%ebp),%ebx
40bf36:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
40bf3d:	56                   	push   %esi
40bf3e:	57                   	push   %edi
40bf3f:	8b fb                	mov    %ebx,%edi
40bf41:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40bf45:	8b 4d 10             	mov    0x10(%ebp),%ecx
40bf48:	03 d1                	add    %ecx,%edx
40bf4a:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
40bf50:	33 c0                	xor    %eax,%eax
40bf52:	ab                   	stos   %eax,%es:(%edi)
40bf53:	89 95 f0 eb ff ff    	mov    %edx,-0x1410(%ebp)
40bf59:	ab                   	stos   %eax,%es:(%edi)
40bf5a:	ab                   	stos   %eax,%es:(%edi)
40bf5b:	eb 75                	jmp    0x40bfd2
40bf5d:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
40bf63:	3b ca                	cmp    %edx,%ecx
40bf65:	73 25                	jae    0x40bf8c
40bf67:	0f b7 01             	movzwl (%ecx),%eax
40bf6a:	83 c1 02             	add    $0x2,%ecx
40bf6d:	83 f8 0a             	cmp    $0xa,%eax
40bf70:	75 0d                	jne    0x40bf7f
40bf72:	83 43 08 02          	addl   $0x2,0x8(%ebx)
40bf76:	6a 0d                	push   $0xd
40bf78:	5f                   	pop    %edi
40bf79:	66 89 3e             	mov    %di,(%esi)
40bf7c:	83 c6 02             	add    $0x2,%esi
40bf7f:	66 89 06             	mov    %ax,(%esi)
40bf82:	83 c6 02             	add    $0x2,%esi
40bf85:	8d 45 fa             	lea    -0x6(%ebp),%eax
40bf88:	3b f0                	cmp    %eax,%esi
40bf8a:	72 d7                	jb     0x40bf63
40bf8c:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
40bf92:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
40bf98:	2b f0                	sub    %eax,%esi
40bf9a:	89 4d 10             	mov    %ecx,0x10(%ebp)
40bf9d:	6a 00                	push   $0x0
40bf9f:	8d 85 f4 eb ff ff    	lea    -0x140c(%ebp),%eax
40bfa5:	83 e6 fe             	and    $0xfffffffe,%esi
40bfa8:	50                   	push   %eax
40bfa9:	56                   	push   %esi
40bfaa:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
40bfb0:	50                   	push   %eax
40bfb1:	57                   	push   %edi
40bfb2:	ff 15 94 f0 40 00    	call   *0x40f094
40bfb8:	85 c0                	test   %eax,%eax
40bfba:	74 1c                	je     0x40bfd8
40bfbc:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
40bfc2:	01 43 04             	add    %eax,0x4(%ebx)
40bfc5:	3b c6                	cmp    %esi,%eax
40bfc7:	72 17                	jb     0x40bfe0
40bfc9:	8b 4d 10             	mov    0x10(%ebp),%ecx
40bfcc:	8b 95 f0 eb ff ff    	mov    -0x1410(%ebp),%edx
40bfd2:	3b ca                	cmp    %edx,%ecx
40bfd4:	72 87                	jb     0x40bf5d
40bfd6:	eb 08                	jmp    0x40bfe0
40bfd8:	ff 15 58 f0 40 00    	call   *0x40f058
40bfde:	89 03                	mov    %eax,(%ebx)
40bfe0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bfe3:	8b c3                	mov    %ebx,%eax
40bfe5:	5f                   	pop    %edi
40bfe6:	5e                   	pop    %esi
40bfe7:	33 cd                	xor    %ebp,%ecx
40bfe9:	5b                   	pop    %ebx
40bfea:	e8 46 76 ff ff       	call   0x403635
40bfef:	c9                   	leave
40bff0:	c3                   	ret
40bff1:	8b ff                	mov    %edi,%edi
40bff3:	55                   	push   %ebp
40bff4:	8b ec                	mov    %esp,%ebp
40bff6:	b8 18 14 00 00       	mov    $0x1418,%eax
40bffb:	e8 80 2d 00 00       	call   0x40ed80
40c000:	a1 14 60 41 00       	mov    0x416014,%eax
40c005:	33 c5                	xor    %ebp,%eax
40c007:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c00a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c00d:	8b c1                	mov    %ecx,%eax
40c00f:	8b 55 10             	mov    0x10(%ebp),%edx
40c012:	83 e1 3f             	and    $0x3f,%ecx
40c015:	c1 f8 06             	sar    $0x6,%eax
40c018:	6b c9 38             	imul   $0x38,%ecx,%ecx
40c01b:	53                   	push   %ebx
40c01c:	56                   	push   %esi
40c01d:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
40c024:	8b 75 08             	mov    0x8(%ebp),%esi
40c027:	57                   	push   %edi
40c028:	8b fe                	mov    %esi,%edi
40c02a:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40c02e:	8b 4d 14             	mov    0x14(%ebp),%ecx
40c031:	89 85 f0 eb ff ff    	mov    %eax,-0x1410(%ebp)
40c037:	03 ca                	add    %edx,%ecx
40c039:	33 c0                	xor    %eax,%eax
40c03b:	89 8d f4 eb ff ff    	mov    %ecx,-0x140c(%ebp)
40c041:	ab                   	stos   %eax,%es:(%edi)
40c042:	ab                   	stos   %eax,%es:(%edi)
40c043:	ab                   	stos   %eax,%es:(%edi)
40c044:	8b fa                	mov    %edx,%edi
40c046:	3b d1                	cmp    %ecx,%edx
40c048:	0f 83 c4 00 00 00    	jae    0x40c112
40c04e:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
40c054:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
40c05a:	3b fe                	cmp    %esi,%edi
40c05c:	73 21                	jae    0x40c07f
40c05e:	0f b7 0f             	movzwl (%edi),%ecx
40c061:	83 c7 02             	add    $0x2,%edi
40c064:	83 f9 0a             	cmp    $0xa,%ecx
40c067:	75 09                	jne    0x40c072
40c069:	6a 0d                	push   $0xd
40c06b:	5a                   	pop    %edx
40c06c:	66 89 10             	mov    %dx,(%eax)
40c06f:	83 c0 02             	add    $0x2,%eax
40c072:	66 89 08             	mov    %cx,(%eax)
40c075:	83 c0 02             	add    $0x2,%eax
40c078:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40c07b:	3b c1                	cmp    %ecx,%eax
40c07d:	72 db                	jb     0x40c05a
40c07f:	6a 00                	push   $0x0
40c081:	6a 00                	push   $0x0
40c083:	68 55 0d 00 00       	push   $0xd55
40c088:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
40c08e:	51                   	push   %ecx
40c08f:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
40c095:	2b c1                	sub    %ecx,%eax
40c097:	d1 f8                	sar    $1,%eax
40c099:	50                   	push   %eax
40c09a:	8b c1                	mov    %ecx,%eax
40c09c:	50                   	push   %eax
40c09d:	6a 00                	push   $0x0
40c09f:	68 e9 fd 00 00       	push   $0xfde9
40c0a4:	e8 95 cd ff ff       	call   0x408e3e
40c0a9:	8b 75 08             	mov    0x8(%ebp),%esi
40c0ac:	83 c4 20             	add    $0x20,%esp
40c0af:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
40c0b5:	85 c0                	test   %eax,%eax
40c0b7:	74 51                	je     0x40c10a
40c0b9:	33 db                	xor    %ebx,%ebx
40c0bb:	85 c0                	test   %eax,%eax
40c0bd:	74 35                	je     0x40c0f4
40c0bf:	6a 00                	push   $0x0
40c0c1:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
40c0c7:	2b c3                	sub    %ebx,%eax
40c0c9:	51                   	push   %ecx
40c0ca:	50                   	push   %eax
40c0cb:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
40c0d1:	03 c3                	add    %ebx,%eax
40c0d3:	50                   	push   %eax
40c0d4:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
40c0da:	ff 15 94 f0 40 00    	call   *0x40f094
40c0e0:	85 c0                	test   %eax,%eax
40c0e2:	74 26                	je     0x40c10a
40c0e4:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
40c0ea:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
40c0f0:	3b d8                	cmp    %eax,%ebx
40c0f2:	72 cb                	jb     0x40c0bf
40c0f4:	8b c7                	mov    %edi,%eax
40c0f6:	2b 45 10             	sub    0x10(%ebp),%eax
40c0f9:	89 46 04             	mov    %eax,0x4(%esi)
40c0fc:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
40c102:	0f 82 46 ff ff ff    	jb     0x40c04e
40c108:	eb 08                	jmp    0x40c112
40c10a:	ff 15 58 f0 40 00    	call   *0x40f058
40c110:	89 06                	mov    %eax,(%esi)
40c112:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c115:	8b c6                	mov    %esi,%eax
40c117:	5f                   	pop    %edi
40c118:	5e                   	pop    %esi
40c119:	33 cd                	xor    %ebp,%ecx
40c11b:	5b                   	pop    %ebx
40c11c:	e8 14 75 ff ff       	call   0x403635
40c121:	c9                   	leave
40c122:	c3                   	ret
40c123:	6a 14                	push   $0x14
40c125:	68 d8 4c 41 00       	push   $0x414cd8
40c12a:	e8 e1 72 ff ff       	call   0x403410
40c12f:	8b 7d 08             	mov    0x8(%ebp),%edi
40c132:	83 ff fe             	cmp    $0xfffffffe,%edi
40c135:	75 1e                	jne    0x40c155
40c137:	8b 45 14             	mov    0x14(%ebp),%eax
40c13a:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40c13e:	83 60 20 00          	andl   $0x0,0x20(%eax)
40c142:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40c146:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40c14d:	83 c8 ff             	or     $0xffffffff,%eax
40c150:	e9 c1 00 00 00       	jmp    0x40c216
40c155:	85 ff                	test   %edi,%edi
40c157:	78 0f                	js     0x40c168
40c159:	3b 3d 78 72 41 00    	cmp    0x417278,%edi
40c15f:	73 07                	jae    0x40c168
40c161:	33 c0                	xor    %eax,%eax
40c163:	40                   	inc    %eax
40c164:	33 f6                	xor    %esi,%esi
40c166:	eb 04                	jmp    0x40c16c
40c168:	33 f6                	xor    %esi,%esi
40c16a:	8b c6                	mov    %esi,%eax
40c16c:	85 c0                	test   %eax,%eax
40c16e:	75 25                	jne    0x40c195
40c170:	8b 45 14             	mov    0x14(%ebp),%eax
40c173:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40c177:	89 70 20             	mov    %esi,0x20(%eax)
40c17a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40c17e:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40c185:	50                   	push   %eax
40c186:	56                   	push   %esi
40c187:	56                   	push   %esi
40c188:	56                   	push   %esi
40c189:	56                   	push   %esi
40c18a:	56                   	push   %esi
40c18b:	e8 0f 9b ff ff       	call   0x405c9f
40c190:	83 c4 18             	add    $0x18,%esp
40c193:	eb b8                	jmp    0x40c14d