40d5fc:	52                   	push   %edx
40d5fd:	50                   	push   %eax
40d5fe:	56                   	push   %esi
40d5ff:	e8 7c c8 ff ff       	call   0x409e80
40d604:	8b 85 0c fd ff ff    	mov    -0x2f4(%ebp),%eax
40d60a:	83 c4 1c             	add    $0x1c,%esp
40d60d:	3b c3                	cmp    %ebx,%eax
40d60f:	0f 84 a4 01 00 00    	je     0x40d7b9
40d615:	89 85 58 fd ff ff    	mov    %eax,-0x2a8(%ebp)
40d61b:	39 9e d4 07 00 00    	cmp    %ebx,0x7d4(%esi)
40d621:	74 19                	je     0x40d63c
40d623:	8b 8e 7c 0b 00 00    	mov    0xb7c(%esi),%ecx
40d629:	6a 32                	push   $0x32
40d62b:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
40d631:	50                   	push   %eax
40d632:	51                   	push   %ecx
40d633:	56                   	push   %esi
40d634:	e8 37 c7 ff ff       	call   0x409d70
40d639:	83 c4 10             	add    $0x10,%esp
40d63c:	8b 96 7c 0b 00 00    	mov    0xb7c(%esi),%edx
40d642:	8b 02                	mov    (%edx),%eax
40d644:	8b 8e 78 0b 00 00    	mov    0xb78(%esi),%ecx
40d64a:	6a 02                	push   $0x2
40d64c:	50                   	push   %eax
40d64d:	51                   	push   %ecx
40d64e:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
40d654:	52                   	push   %edx
40d655:	56                   	push   %esi
40d656:	e8 95 c5 ff ff       	call   0x409bf0
40d65b:	83 c4 14             	add    $0x14,%esp
40d65e:	8b f8                	mov    %eax,%edi
40d660:	53                   	push   %ebx
40d661:	3b fb                	cmp    %ebx,%edi
40d663:	0f 84 2f 01 00 00    	je     0x40d798
40d669:	8b 45 84             	mov    -0x7c(%ebp),%eax
40d66c:	8b 8d 5c fd ff ff    	mov    -0x2a4(%ebp),%ecx
40d672:	8b 95 58 fd ff ff    	mov    -0x2a8(%ebp),%edx
40d678:	50                   	push   %eax
40d679:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
40d67f:	51                   	push   %ecx
40d680:	52                   	push   %edx
40d681:	50                   	push   %eax
40d682:	56                   	push   %esi
40d683:	e8 d8 96 00 00       	call   0x416d60
40d688:	8b 8d 58 fd ff ff    	mov    -0x2a8(%ebp),%ecx
40d68e:	8b 95 5c fd ff ff    	mov    -0x2a4(%ebp),%edx
40d694:	51                   	push   %ecx
40d695:	52                   	push   %edx
40d696:	e8 e5 ab 00 00       	call   0x418280
40d69b:	2b f8                	sub    %eax,%edi
40d69d:	6a 04                	push   $0x4
40d69f:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d6a2:	50                   	push   %eax
40d6a3:	8d 4d fa             	lea    -0x6(%ebp),%ecx
40d6a6:	83 ef 0a             	sub    $0xa,%edi
40d6a9:	51                   	push   %ecx
40d6aa:	89 7d ec             	mov    %edi,-0x14(%ebp)
40d6ad:	e8 ae ac 00 00       	call   0x418360
40d6b2:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
40d6b8:	83 c4 2c             	add    $0x2c,%esp
40d6bb:	6a 0a                	push   $0xa
40d6bd:	8d 55 f4             	lea    -0xc(%ebp),%edx
40d6c0:	52                   	push   %edx
40d6c1:	50                   	push   %eax
40d6c2:	50                   	push   %eax
40d6c3:	e8 b8 ab 00 00       	call   0x418280
40d6c8:	83 c4 08             	add    $0x8,%esp
40d6cb:	50                   	push   %eax
40d6cc:	e8 8f ac 00 00       	call   0x418360
40d6d1:	53                   	push   %ebx
40d6d2:	8d 85 54 fd ff ff    	lea    -0x2ac(%ebp),%eax
40d6d8:	50                   	push   %eax
40d6d9:	8b 06                	mov    (%esi),%eax
40d6db:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40d6de:	51                   	push   %ecx
40d6df:	8d 95 50 fd ff ff    	lea    -0x2b0(%ebp),%edx
40d6e5:	52                   	push   %edx
40d6e6:	50                   	push   %eax
40d6e7:	56                   	push   %esi
40d6e8:	e8 d3 f4 ff ff       	call   0x40cbc0
40d6ed:	83 c4 24             	add    $0x24,%esp
40d6f0:	85 c0                	test   %eax,%eax
40d6f2:	0f 84 c1 00 00 00    	je     0x40d7b9
40d6f8:	8b 45 84             	mov    -0x7c(%ebp),%eax
40d6fb:	8b 8d 5c fd ff ff    	mov    -0x2a4(%ebp),%ecx
40d701:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
40d707:	50                   	push   %eax
40d708:	51                   	push   %ecx
40d709:	52                   	push   %edx
40d70a:	e8 51 ac 00 00       	call   0x418360
40d70f:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
40d715:	50                   	push   %eax
40d716:	56                   	push   %esi
40d717:	e8 24 ac 00 00       	call   0x418340
40d71c:	8b 8d 58 fd ff ff    	mov    -0x2a8(%ebp),%ecx
40d722:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
40d728:	51                   	push   %ecx
40d729:	52                   	push   %edx
40d72a:	56                   	push   %esi
40d72b:	e8 90 91 00 00       	call   0x4168c0
40d730:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
40d736:	6a 40                	push   $0x40
40d738:	53                   	push   %ebx
40d739:	6a 01                	push   $0x1
40d73b:	8d 45 84             	lea    -0x7c(%ebp),%eax
40d73e:	50                   	push   %eax
40d73f:	8b 85 50 fd ff ff    	mov    -0x2b0(%ebp),%eax
40d745:	53                   	push   %ebx
40d746:	53                   	push   %ebx
40d747:	53                   	push   %ebx
40d748:	8d 8d 58 fd ff ff    	lea    -0x2a8(%ebp),%ecx
40d74e:	51                   	push   %ecx
40d74f:	52                   	push   %edx
40d750:	50                   	push   %eax
40d751:	56                   	push   %esi
40d752:	e8 19 91 00 00       	call   0x416870
40d757:	83 c4 4c             	add    $0x4c,%esp
40d75a:	85 c0                	test   %eax,%eax
40d75c:	79 12                	jns    0x40d770
40d75e:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
40d764:	53                   	push   %ebx
40d765:	51                   	push   %ecx
40d766:	ff 55 08             	call   *0x8(%ebp)
40d769:	5f                   	pop    %edi
40d76a:	5e                   	pop    %esi
40d76b:	5b                   	pop    %ebx
40d76c:	8b e5                	mov    %ebp,%esp
40d76e:	5d                   	pop    %ebp
40d76f:	c3                   	ret
40d770:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
40d776:	8b 06                	mov    (%esi),%eax
40d778:	52                   	push   %edx
40d779:	50                   	push   %eax
40d77a:	56                   	push   %esi
40d77b:	e8 40 91 00 00       	call   0x4168c0
40d780:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
40d786:	53                   	push   %ebx
40d787:	51                   	push   %ecx
40d788:	56                   	push   %esi
40d789:	e8 f2 8e 00 00       	call   0x416680
40d78e:	83 c4 18             	add    $0x18,%esp
40d791:	5f                   	pop    %edi
40d792:	5e                   	pop    %esi
40d793:	5b                   	pop    %ebx
40d794:	8b e5                	mov    %ebp,%esp
40d796:	5d                   	pop    %ebp
40d797:	c3                   	ret
40d798:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
40d79e:	52                   	push   %edx
40d79f:	ff 55 08             	call   *0x8(%ebp)
40d7a2:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
40d7a8:	50                   	push   %eax
40d7a9:	56                   	push   %esi
40d7aa:	e8 91 ab 00 00       	call   0x418340
40d7af:	83 c4 08             	add    $0x8,%esp
40d7b2:	5f                   	pop    %edi
40d7b3:	5e                   	pop    %esi
40d7b4:	5b                   	pop    %ebx
40d7b5:	8b e5                	mov    %ebp,%esp
40d7b7:	5d                   	pop    %ebp
40d7b8:	c3                   	ret
40d7b9:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
40d7bf:	53                   	push   %ebx
40d7c0:	51                   	push   %ecx
40d7c1:	ff 55 08             	call   *0x8(%ebp)
40d7c4:	8b 95 5c fd ff ff    	mov    -0x2a4(%ebp),%edx
40d7ca:	52                   	push   %edx
40d7cb:	56                   	push   %esi
40d7cc:	e8 6f ab 00 00       	call   0x418340
40d7d1:	83 c4 08             	add    $0x8,%esp
40d7d4:	5f                   	pop    %edi
40d7d5:	5e                   	pop    %esi
40d7d6:	5b                   	pop    %ebx
40d7d7:	8b e5                	mov    %ebp,%esp
40d7d9:	5d                   	pop    %ebp
40d7da:	c3                   	ret
40d7db:	62 5c a8 47          	bound  %ebx,0x47(%eax,%ebp,4)
40d7df:	51                   	push   %ecx
40d7e0:	55                   	push   %ebp
40d7e1:	8b ec                	mov    %esp,%ebp
40d7e3:	81 ec 04 02 00 00    	sub    $0x204,%esp
40d7e9:	53                   	push   %ebx
40d7ea:	56                   	push   %esi
40d7eb:	68 03 01 00 00       	push   $0x103
40d7f0:	8d 85 fd fd ff ff    	lea    -0x203(%ebp),%eax
40d7f6:	6a 00                	push   $0x0
40d7f8:	50                   	push   %eax
40d7f9:	c6 85 fc fd ff ff 00 	movb   $0x0,-0x204(%ebp)
40d800:	e8 db ab 00 00       	call   0x4183e0
40d805:	6a 3f                	push   $0x3f
40d807:	8d 4d 81             	lea    -0x7f(%ebp),%ecx
40d80a:	6a 00                	push   $0x0
40d80c:	51                   	push   %ecx
40d80d:	c6 45 80 00          	movb   $0x0,-0x80(%ebp)
40d811:	e8 ca ab 00 00       	call   0x4183e0
40d816:	8d 55 80             	lea    -0x80(%ebp),%edx
40d819:	6a 00                	push   $0x0
40d81b:	52                   	push   %edx
40d81c:	e8 5f b7 00 00       	call   0x418f80
40d821:	6a 7c                	push   $0x7c
40d823:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
40d829:	6a 00                	push   $0x0
40d82b:	52                   	push   %edx
40d82c:	c7 85 00 ff ff ff 5c 	movl   $0x5c,-0x100(%ebp)
40d833:	00 00 00
40d836:	e8 a5 ab 00 00       	call   0x4183e0
40d83b:	8d 45 80             	lea    -0x80(%ebp),%eax
40d83e:	50                   	push   %eax
40d83f:	8d 8d 02 ff ff ff    	lea    -0xfe(%ebp),%ecx
40d845:	51                   	push   %ecx
40d846:	e8 05 b2 00 00       	call   0x418a50
40d84b:	8b 75 0c             	mov    0xc(%ebp),%esi
40d84e:	8b 55 08             	mov    0x8(%ebp),%edx
40d851:	68 00 10 00 00       	push   $0x1000
40d856:	8d 9e 68 28 00 00    	lea    0x2868(%esi),%ebx
40d85c:	8d 46 48             	lea    0x48(%esi),%eax
40d85f:	53                   	push   %ebx
40d860:	50                   	push   %eax
40d861:	52                   	push   %edx
40d862:	e8 89 ad ff ff       	call   0x4085f0
40d867:	83 c4 44             	add    $0x44,%esp
40d86a:	85 c0                	test   %eax,%eax
40d86c:	75 06                	jne    0x40d874
40d86e:	5e                   	pop    %esi
40d86f:	5b                   	pop    %ebx
40d870:	8b e5                	mov    %ebp,%esp
40d872:	5d                   	pop    %ebp
40d873:	c3                   	ret
40d874:	57                   	push   %edi
40d875:	53                   	push   %ebx
40d876:	e8 d5 ad 00 00       	call   0x418650
40d87b:	89 45 0c             	mov    %eax,0xc(%ebp)
40d87e:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
40d882:	50                   	push   %eax
40d883:	8d be 68 08 00 00    	lea    0x868(%esi),%edi
40d889:	53                   	push   %ebx
40d88a:	57                   	push   %edi
40d88b:	e8 d0 aa 00 00       	call   0x418360
40d890:	8b 55 0c             	mov    0xc(%ebp),%edx
40d893:	6a 00                	push   $0x0
40d895:	8d 9e 68 04 00 00    	lea    0x468(%esi),%ebx
40d89b:	b9 3b 00 00 00       	mov    $0x3b,%ecx
40d8a0:	53                   	push   %ebx
40d8a1:	57                   	push   %edi
40d8a2:	66 89 8c 56 68 08 00 	mov    %cx,0x868(%esi,%edx,2)
40d8a9:	00
40d8aa:	e8 11 af 00 00       	call   0x4187c0
40d8af:	57                   	push   %edi
40d8b0:	8b 7d 08             	mov    0x8(%ebp),%edi
40d8b3:	8d 46 48             	lea    0x48(%esi),%eax
40d8b6:	50                   	push   %eax
40d8b7:	57                   	push   %edi
40d8b8:	e8 b3 ac ff ff       	call   0x408570
40d8bd:	89 46 08             	mov    %eax,0x8(%esi)
40d8c0:	6a 00                	push   $0x0
40d8c2:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d8c8:	50                   	push   %eax
40d8c9:	53                   	push   %ebx
40d8ca:	e8 f1 ae 00 00       	call   0x4187c0
40d8cf:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
40d8d5:	53                   	push   %ebx
40d8d6:	51                   	push   %ecx
40d8d7:	e8 24 b1 00 00       	call   0x418a00
40d8dc:	8d 95 fc fd ff ff    	lea    -0x204(%ebp),%edx
40d8e2:	52                   	push   %edx
40d8e3:	8d 5f 1c             	lea    0x1c(%edi),%ebx
40d8e6:	53                   	push   %ebx
40d8e7:	e8 34 ab ff ff       	call   0x408420
40d8ec:	83 c4 44             	add    $0x44,%esp
40d8ef:	8d 4e 0c             	lea    0xc(%esi),%ecx
40d8f2:	89 01                	mov    %eax,(%ecx)
40d8f4:	85 c0                	test   %eax,%eax
40d8f6:	75 2b                	jne    0x40d923
40d8f8:	8b bf d8 07 00 00    	mov    0x7d8(%edi),%edi
40d8fe:	85 ff                	test   %edi,%edi
40d900:	74 18                	je     0x40d91a
40d902:	83 3e 32             	cmpl   $0x32,(%esi)
40d905:	75 13                	jne    0x40d91a
40d907:	c7 87 40 20 00 00 01 	movl   $0x1,0x2040(%edi)
40d90e:	00 00 00
40d911:	8b 46 04             	mov    0x4(%esi),%eax
40d914:	89 87 44 20 00 00    	mov    %eax,0x2044(%edi)
40d91a:	5f                   	pop    %edi
40d91b:	5e                   	pop    %esi
40d91c:	33 c0                	xor    %eax,%eax
40d91e:	5b                   	pop    %ebx
40d91f:	8b e5                	mov    %ebp,%esp
40d921:	5d                   	pop    %ebp
40d922:	c3                   	ret
40d923:	8b 16                	mov    (%esi),%edx
40d925:	52                   	push   %edx
40d926:	51                   	push   %ecx
40d927:	57                   	push   %edi
40d928:	e8 d3 7d 00 00       	call   0x415700
40d92d:	83 c4 0c             	add    $0xc,%esp
40d930:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
40d934:	74 e4                	je     0x40d91a
40d936:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40d93a:	74 de                	je     0x40d91a
40d93c:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40d940:	74 d8                	je     0x40d91a
40d942:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40d946:	74 d2                	je     0x40d91a
40d948:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40d94c:	74 cc                	je     0x40d91a
40d94e:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40d952:	74 c6                	je     0x40d91a
40d954:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40d958:	74 c0                	je     0x40d91a
40d95a:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
40d95e:	74 ba                	je     0x40d91a
40d960:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
40d964:	74 b4                	je     0x40d91a
40d966:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
40d96a:	74 ae                	je     0x40d91a
40d96c:	6a 3f                	push   $0x3f
40d96e:	8d 45 c1             	lea    -0x3f(%ebp),%eax
40d971:	6a 00                	push   $0x0
40d973:	50                   	push   %eax
40d974:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
40d978:	e8 63 aa 00 00       	call   0x4183e0
40d97d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40d980:	6a 06                	push   $0x6
40d982:	51                   	push   %ecx
40d983:	e8 f8 b5 00 00       	call   0x418f80
40d988:	8d 55 c0             	lea    -0x40(%ebp),%edx
40d98b:	52                   	push   %edx
40d98c:	53                   	push   %ebx
40d98d:	e8 8e aa ff ff       	call   0x408420
40d992:	83 c4 1c             	add    $0x1c,%esp
40d995:	89 45 0c             	mov    %eax,0xc(%ebp)
40d998:	85 c0                	test   %eax,%eax
40d99a:	0f 84 7a ff ff ff    	je     0x40d91a
40d9a0:	6a 4e                	push   $0x4e
40d9a2:	57                   	push   %edi
40d9a3:	e8 68 48 00 00       	call   0x412210
40d9a8:	50                   	push   %eax
40d9a9:	8b 45 0c             	mov    0xc(%ebp),%eax
40d9ac:	6a 00                	push   $0x0
40d9ae:	6a 00                	push   $0x0
40d9b0:	50                   	push   %eax
40d9b1:	53                   	push   %ebx
40d9b2:	e8 19 49 00 00       	call   0x4122d0
40d9b7:	83 c4 1c             	add    $0x1c,%esp
40d9ba:	33 c9                	xor    %ecx,%ecx
40d9bc:	85 c0                	test   %eax,%eax
40d9be:	0f 95 c1             	setne  %cl
40d9c1:	5f                   	pop    %edi
40d9c2:	89 46 44             	mov    %eax,0x44(%esi)
40d9c5:	5e                   	pop    %esi