40e4a2:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e4a8:	6a 5c                	push   $0x5c
40e4aa:	68 b8 7c 40 00       	push   $0x407cb8
40e4af:	52                   	push   %edx
40e4b0:	50                   	push   %eax
40e4b1:	ff 15 48 10 40 00    	call   *0x401048
40e4b7:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e4bd:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e4c3:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40e4c9:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e4cf:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e4d5:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e4db:	ff 15 0c 10 40 00    	call   *0x40100c
40e4e1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e4e7:	ff 15 ac 11 40 00    	call   *0x4011ac
40e4ed:	68 e8 84 40 00       	push   $0x4084e8
40e4f2:	68 f8 84 40 00       	push   $0x4084f8
40e4f7:	ff 15 3c 10 40 00    	call   *0x40103c
40e4fd:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e503:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e509:	50                   	push   %eax
40e50a:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e510:	51                   	push   %ecx
40e511:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e517:	ff 15 94 11 40 00    	call   *0x401194
40e51d:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e523:	52                   	push   %edx
40e524:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e52a:	50                   	push   %eax
40e52b:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e532:	00 00 00
40e535:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e53c:	80 00 00
40e53f:	ff 15 68 11 40 00    	call   *0x401168
40e545:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e54b:	51                   	push   %ecx
40e54c:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e552:	52                   	push   %edx
40e553:	6a 02                	push   $0x2
40e555:	66 8b f8             	mov    %ax,%di
40e558:	ff 15 28 10 40 00    	call   *0x401028
40e55e:	83 c4 0c             	add    $0xc,%esp
40e561:	66 3b fe             	cmp    %si,%di
40e564:	0f 84 e1 00 00 00    	je     0x40e64b
40e56a:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e570:	75 10                	jne    0x40e582
40e572:	68 38 03 41 00       	push   $0x410338
40e577:	68 a8 7c 40 00       	push   $0x407ca8
40e57c:	ff 15 2c 11 40 00    	call   *0x40112c
40e582:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e588:	8b 07                	mov    (%edi),%eax
40e58a:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e590:	51                   	push   %ecx
40e591:	57                   	push   %edi
40e592:	ff 50 1c             	call   *0x1c(%eax)
40e595:	db e2                	fnclex
40e597:	3b c6                	cmp    %esi,%eax
40e599:	7d 0f                	jge    0x40e5aa
40e59b:	6a 1c                	push   $0x1c
40e59d:	68 98 7c 40 00       	push   $0x407c98
40e5a2:	57                   	push   %edi
40e5a3:	50                   	push   %eax
40e5a4:	ff 15 48 10 40 00    	call   *0x401048
40e5aa:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e5b0:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e5b6:	57                   	push   %edi
40e5b7:	83 ec 10             	sub    $0x10,%esp
40e5ba:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e5bf:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e5c5:	8b fc                	mov    %esp,%edi
40e5c7:	89 0f                	mov    %ecx,(%edi)
40e5c9:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e5cf:	89 4f 04             	mov    %ecx,0x4(%edi)
40e5d2:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e5d9:	00 02 80
40e5dc:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e5e2:	8b 10                	mov    (%eax),%edx
40e5e4:	89 4f 08             	mov    %ecx,0x8(%edi)
40e5e7:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e5ed:	50                   	push   %eax
40e5ee:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e5f4:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e5f7:	ff 52 5c             	call   *0x5c(%edx)
40e5fa:	db e2                	fnclex
40e5fc:	3b c6                	cmp    %esi,%eax
40e5fe:	7d 15                	jge    0x40e615
40e600:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e606:	6a 5c                	push   $0x5c
40e608:	68 b8 7c 40 00       	push   $0x407cb8
40e60d:	52                   	push   %edx
40e60e:	50                   	push   %eax
40e60f:	ff 15 48 10 40 00    	call   *0x401048
40e615:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e61b:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e621:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40e627:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e62d:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e633:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e639:	ff 15 0c 10 40 00    	call   *0x40100c
40e63f:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e645:	ff 15 ac 11 40 00    	call   *0x4011ac
40e64b:	68 e8 84 40 00       	push   $0x4084e8
40e650:	68 f8 84 40 00       	push   $0x4084f8
40e655:	ff 15 3c 10 40 00    	call   *0x40103c
40e65b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e661:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e667:	50                   	push   %eax
40e668:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e66e:	51                   	push   %ecx
40e66f:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e675:	ff 15 94 11 40 00    	call   *0x401194
40e67b:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e681:	52                   	push   %edx
40e682:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e688:	50                   	push   %eax
40e689:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e690:	00 00 00
40e693:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e69a:	80 00 00
40e69d:	ff 15 68 11 40 00    	call   *0x401168
40e6a3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e6a9:	51                   	push   %ecx
40e6aa:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e6b0:	52                   	push   %edx
40e6b1:	6a 02                	push   $0x2
40e6b3:	66 8b f8             	mov    %ax,%di
40e6b6:	ff 15 28 10 40 00    	call   *0x401028
40e6bc:	83 c4 0c             	add    $0xc,%esp
40e6bf:	66 3b fe             	cmp    %si,%di
40e6c2:	0f 84 de 00 00 00    	je     0x40e7a6
40e6c8:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e6ce:	75 10                	jne    0x40e6e0
40e6d0:	68 38 03 41 00       	push   $0x410338
40e6d5:	68 a8 7c 40 00       	push   $0x407ca8
40e6da:	ff 15 2c 11 40 00    	call   *0x40112c
40e6e0:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e6e6:	8b 07                	mov    (%edi),%eax
40e6e8:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e6ee:	51                   	push   %ecx
40e6ef:	57                   	push   %edi
40e6f0:	ff 50 1c             	call   *0x1c(%eax)
40e6f3:	db e2                	fnclex
40e6f5:	3b c6                	cmp    %esi,%eax
40e6f7:	7d 0f                	jge    0x40e708
40e6f9:	6a 1c                	push   $0x1c
40e6fb:	68 98 7c 40 00       	push   $0x407c98
40e700:	57                   	push   %edi
40e701:	50                   	push   %eax
40e702:	ff 15 48 10 40 00    	call   *0x401048
40e708:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e70e:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e714:	57                   	push   %edi
40e715:	83 ec 10             	sub    $0x10,%esp
40e718:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e71d:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e723:	8b fc                	mov    %esp,%edi
40e725:	89 0f                	mov    %ecx,(%edi)
40e727:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e72d:	89 4f 04             	mov    %ecx,0x4(%edi)
40e730:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e737:	00 02 80
40e73a:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e740:	8b 10                	mov    (%eax),%edx
40e742:	89 4f 08             	mov    %ecx,0x8(%edi)
40e745:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e74b:	50                   	push   %eax
40e74c:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e752:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e755:	ff 52 5c             	call   *0x5c(%edx)
40e758:	db e2                	fnclex
40e75a:	3b c6                	cmp    %esi,%eax
40e75c:	7d 15                	jge    0x40e773
40e75e:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e764:	6a 5c                	push   $0x5c
40e766:	68 b8 7c 40 00       	push   $0x407cb8
40e76b:	52                   	push   %edx
40e76c:	50                   	push   %eax
40e76d:	ff 15 48 10 40 00    	call   *0x401048
40e773:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e779:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e77f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40e782:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e788:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e78e:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e794:	ff 15 0c 10 40 00    	call   *0x40100c
40e79a:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e7a0:	ff 15 ac 11 40 00    	call   *0x4011ac
40e7a6:	68 e8 84 40 00       	push   $0x4084e8
40e7ab:	68 f8 84 40 00       	push   $0x4084f8
40e7b0:	ff 15 3c 10 40 00    	call   *0x40103c
40e7b6:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e7bc:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e7c2:	50                   	push   %eax
40e7c3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e7c9:	51                   	push   %ecx
40e7ca:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e7d0:	ff 15 94 11 40 00    	call   *0x401194
40e7d6:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e7dc:	52                   	push   %edx
40e7dd:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e7e3:	50                   	push   %eax
40e7e4:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e7eb:	00 00 00
40e7ee:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e7f5:	80 00 00
40e7f8:	ff 15 68 11 40 00    	call   *0x401168
40e7fe:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e804:	51                   	push   %ecx
40e805:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e80b:	52                   	push   %edx
40e80c:	6a 02                	push   $0x2
40e80e:	66 8b f8             	mov    %ax,%di
40e811:	ff 15 28 10 40 00    	call   *0x401028
40e817:	83 c4 0c             	add    $0xc,%esp
40e81a:	66 3b fe             	cmp    %si,%di
40e81d:	0f 84 de 00 00 00    	je     0x40e901
40e823:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e829:	75 10                	jne    0x40e83b
40e82b:	68 38 03 41 00       	push   $0x410338
40e830:	68 a8 7c 40 00       	push   $0x407ca8
40e835:	ff 15 2c 11 40 00    	call   *0x40112c
40e83b:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e841:	8b 07                	mov    (%edi),%eax
40e843:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e849:	51                   	push   %ecx
40e84a:	57                   	push   %edi
40e84b:	ff 50 1c             	call   *0x1c(%eax)
40e84e:	db e2                	fnclex
40e850:	3b c6                	cmp    %esi,%eax
40e852:	7d 0f                	jge    0x40e863
40e854:	6a 1c                	push   $0x1c
40e856:	68 98 7c 40 00       	push   $0x407c98
40e85b:	57                   	push   %edi
40e85c:	50                   	push   %eax
40e85d:	ff 15 48 10 40 00    	call   *0x401048
40e863:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e869:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e86f:	57                   	push   %edi
40e870:	83 ec 10             	sub    $0x10,%esp
40e873:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e878:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e87e:	8b fc                	mov    %esp,%edi
40e880:	89 0f                	mov    %ecx,(%edi)
40e882:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e888:	89 4f 04             	mov    %ecx,0x4(%edi)
40e88b:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e892:	00 02 80
40e895:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e89b:	8b 10                	mov    (%eax),%edx
40e89d:	89 4f 08             	mov    %ecx,0x8(%edi)
40e8a0:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e8a6:	50                   	push   %eax
40e8a7:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e8ad:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e8b0:	ff 52 5c             	call   *0x5c(%edx)
40e8b3:	db e2                	fnclex
40e8b5:	3b c6                	cmp    %esi,%eax
40e8b7:	7d 15                	jge    0x40e8ce
40e8b9:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e8bf:	6a 5c                	push   $0x5c
40e8c1:	68 b8 7c 40 00       	push   $0x407cb8
40e8c6:	52                   	push   %edx
40e8c7:	50                   	push   %eax
40e8c8:	ff 15 48 10 40 00    	call   *0x401048
40e8ce:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e8d4:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e8da:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40e8dd:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e8e3:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e8e9:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e8ef:	ff 15 0c 10 40 00    	call   *0x40100c
40e8f5:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e8fb:	ff 15 ac 11 40 00    	call   *0x4011ac
40e901:	68 e8 84 40 00       	push   $0x4084e8
40e906:	68 f8 84 40 00       	push   $0x4084f8
40e90b:	ff 15 3c 10 40 00    	call   *0x40103c
40e911:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e917:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e91d:	50                   	push   %eax
40e91e:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e924:	51                   	push   %ecx
40e925:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e92b:	ff 15 94 11 40 00    	call   *0x401194
40e931:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e937:	52                   	push   %edx
40e938:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e93e:	50                   	push   %eax
40e93f:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e946:	00 00 00
40e949:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e950:	80 00 00
40e953:	ff 15 68 11 40 00    	call   *0x401168
40e959:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e95f:	51                   	push   %ecx
40e960:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e966:	52                   	push   %edx
40e967:	6a 02                	push   $0x2
40e969:	66 8b f8             	mov    %ax,%di
40e96c:	ff 15 28 10 40 00    	call   *0x401028
40e972:	83 c4 0c             	add    $0xc,%esp
40e975:	66 3b fe             	cmp    %si,%di
40e978:	0f 84 e1 00 00 00    	je     0x40ea5f
40e97e:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e984:	75 10                	jne    0x40e996
40e986:	68 38 03 41 00       	push   $0x410338
40e98b:	68 a8 7c 40 00       	push   $0x407ca8
40e990:	ff 15 2c 11 40 00    	call   *0x40112c
40e996:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e99c:	8b 07                	mov    (%edi),%eax
40e99e:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e9a4:	51                   	push   %ecx
40e9a5:	57                   	push   %edi
40e9a6:	ff 50 1c             	call   *0x1c(%eax)
40e9a9:	db e2                	fnclex
40e9ab:	3b c6                	cmp    %esi,%eax
40e9ad:	7d 0f                	jge    0x40e9be
40e9af:	6a 1c                	push   $0x1c
40e9b1:	68 98 7c 40 00       	push   $0x407c98
40e9b6:	57                   	push   %edi
40e9b7:	50                   	push   %eax
40e9b8:	ff 15 48 10 40 00    	call   *0x401048
40e9be:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e9c4:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40e9ca:	53                   	push   %ebx
40e9cb:	83 ec 10             	sub    $0x10,%esp
40e9ce:	ba 0a 00 00 00       	mov    $0xa,%edx
40e9d3:	8b dc                	mov    %esp,%ebx
40e9d5:	89 13                	mov    %edx,(%ebx)
40e9d7:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40e9dd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40e9e3:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40e9e8:	89 53 04             	mov    %edx,0x4(%ebx)
40e9eb:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40e9f1:	8b 38                	mov    (%eax),%edi
40e9f3:	89 4b 08             	mov    %ecx,0x8(%ebx)
40e9f6:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e9fc:	50                   	push   %eax
40e9fd:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ea03:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ea06:	ff 57 5c             	call   *0x5c(%edi)
40ea09:	db e2                	fnclex
40ea0b:	3b c6                	cmp    %esi,%eax
40ea0d:	7d 15                	jge    0x40ea24
40ea0f:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ea15:	6a 5c                	push   $0x5c
40ea17:	68 b8 7c 40 00       	push   $0x407cb8
40ea1c:	52                   	push   %edx
40ea1d:	50                   	push   %eax
40ea1e:	ff 15 48 10 40 00    	call   *0x401048
40ea24:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax