40e565:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e56b:	51                   	push   %ecx
40e56c:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e572:	52                   	push   %edx
40e573:	6a 02                	push   $0x2
40e575:	66 8b f8             	mov    %ax,%di
40e578:	ff 15 28 10 40 00    	call   *0x401028
40e57e:	83 c4 0c             	add    $0xc,%esp
40e581:	66 3b fe             	cmp    %si,%di
40e584:	0f 84 e1 00 00 00    	je     0x40e66b
40e58a:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e590:	75 10                	jne    0x40e5a2
40e592:	68 38 03 41 00       	push   $0x410338
40e597:	68 b0 7c 40 00       	push   $0x407cb0
40e59c:	ff 15 24 11 40 00    	call   *0x401124
40e5a2:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e5a8:	8b 07                	mov    (%edi),%eax
40e5aa:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e5b0:	51                   	push   %ecx
40e5b1:	57                   	push   %edi
40e5b2:	ff 50 1c             	call   *0x1c(%eax)
40e5b5:	db e2                	fnclex
40e5b7:	3b c6                	cmp    %esi,%eax
40e5b9:	7d 0f                	jge    0x40e5ca
40e5bb:	6a 1c                	push   $0x1c
40e5bd:	68 a0 7c 40 00       	push   $0x407ca0
40e5c2:	57                   	push   %edi
40e5c3:	50                   	push   %eax
40e5c4:	ff 15 48 10 40 00    	call   *0x401048
40e5ca:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e5d0:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e5d6:	57                   	push   %edi
40e5d7:	83 ec 10             	sub    $0x10,%esp
40e5da:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e5df:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e5e5:	8b fc                	mov    %esp,%edi
40e5e7:	89 0f                	mov    %ecx,(%edi)
40e5e9:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e5ef:	89 4f 04             	mov    %ecx,0x4(%edi)
40e5f2:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e5f9:	00 02 80
40e5fc:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e602:	8b 10                	mov    (%eax),%edx
40e604:	89 4f 08             	mov    %ecx,0x8(%edi)
40e607:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e60d:	50                   	push   %eax
40e60e:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e614:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e617:	ff 52 5c             	call   *0x5c(%edx)
40e61a:	db e2                	fnclex
40e61c:	3b c6                	cmp    %esi,%eax
40e61e:	7d 15                	jge    0x40e635
40e620:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e626:	6a 5c                	push   $0x5c
40e628:	68 c0 7c 40 00       	push   $0x407cc0
40e62d:	52                   	push   %edx
40e62e:	50                   	push   %eax
40e62f:	ff 15 48 10 40 00    	call   *0x401048
40e635:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e63b:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e641:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40e647:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e64d:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e653:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e659:	ff 15 0c 10 40 00    	call   *0x40100c
40e65f:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e665:	ff 15 b0 11 40 00    	call   *0x4011b0
40e66b:	68 dc 84 40 00       	push   $0x4084dc
40e670:	68 ec 84 40 00       	push   $0x4084ec
40e675:	ff 15 3c 10 40 00    	call   *0x40103c
40e67b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e681:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e687:	50                   	push   %eax
40e688:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e68e:	51                   	push   %ecx
40e68f:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e695:	ff 15 90 11 40 00    	call   *0x401190
40e69b:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e6a1:	52                   	push   %edx
40e6a2:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e6a8:	50                   	push   %eax
40e6a9:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e6b0:	00 00 00
40e6b3:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e6ba:	80 00 00
40e6bd:	ff 15 60 11 40 00    	call   *0x401160
40e6c3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e6c9:	51                   	push   %ecx
40e6ca:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e6d0:	52                   	push   %edx
40e6d1:	6a 02                	push   $0x2
40e6d3:	66 8b f8             	mov    %ax,%di
40e6d6:	ff 15 28 10 40 00    	call   *0x401028
40e6dc:	83 c4 0c             	add    $0xc,%esp
40e6df:	66 3b fe             	cmp    %si,%di
40e6e2:	0f 84 de 00 00 00    	je     0x40e7c6
40e6e8:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e6ee:	75 10                	jne    0x40e700
40e6f0:	68 38 03 41 00       	push   $0x410338
40e6f5:	68 b0 7c 40 00       	push   $0x407cb0
40e6fa:	ff 15 24 11 40 00    	call   *0x401124
40e700:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e706:	8b 07                	mov    (%edi),%eax
40e708:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e70e:	51                   	push   %ecx
40e70f:	57                   	push   %edi
40e710:	ff 50 1c             	call   *0x1c(%eax)
40e713:	db e2                	fnclex
40e715:	3b c6                	cmp    %esi,%eax
40e717:	7d 0f                	jge    0x40e728
40e719:	6a 1c                	push   $0x1c
40e71b:	68 a0 7c 40 00       	push   $0x407ca0
40e720:	57                   	push   %edi
40e721:	50                   	push   %eax
40e722:	ff 15 48 10 40 00    	call   *0x401048
40e728:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e72e:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e734:	57                   	push   %edi
40e735:	83 ec 10             	sub    $0x10,%esp
40e738:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e73d:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e743:	8b fc                	mov    %esp,%edi
40e745:	89 0f                	mov    %ecx,(%edi)
40e747:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e74d:	89 4f 04             	mov    %ecx,0x4(%edi)
40e750:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e757:	00 02 80
40e75a:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e760:	8b 10                	mov    (%eax),%edx
40e762:	89 4f 08             	mov    %ecx,0x8(%edi)
40e765:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e76b:	50                   	push   %eax
40e76c:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e772:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e775:	ff 52 5c             	call   *0x5c(%edx)
40e778:	db e2                	fnclex
40e77a:	3b c6                	cmp    %esi,%eax
40e77c:	7d 15                	jge    0x40e793
40e77e:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e784:	6a 5c                	push   $0x5c
40e786:	68 c0 7c 40 00       	push   $0x407cc0
40e78b:	52                   	push   %edx
40e78c:	50                   	push   %eax
40e78d:	ff 15 48 10 40 00    	call   *0x401048
40e793:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e799:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e79f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40e7a2:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e7a8:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e7ae:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e7b4:	ff 15 0c 10 40 00    	call   *0x40100c
40e7ba:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e7c0:	ff 15 b0 11 40 00    	call   *0x4011b0
40e7c6:	68 dc 84 40 00       	push   $0x4084dc
40e7cb:	68 ec 84 40 00       	push   $0x4084ec
40e7d0:	ff 15 3c 10 40 00    	call   *0x40103c
40e7d6:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e7dc:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e7e2:	50                   	push   %eax
40e7e3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e7e9:	51                   	push   %ecx
40e7ea:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e7f0:	ff 15 90 11 40 00    	call   *0x401190
40e7f6:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e7fc:	52                   	push   %edx
40e7fd:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e803:	50                   	push   %eax
40e804:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e80b:	00 00 00
40e80e:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e815:	80 00 00
40e818:	ff 15 60 11 40 00    	call   *0x401160
40e81e:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e824:	51                   	push   %ecx
40e825:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e82b:	52                   	push   %edx
40e82c:	6a 02                	push   $0x2
40e82e:	66 8b f8             	mov    %ax,%di
40e831:	ff 15 28 10 40 00    	call   *0x401028
40e837:	83 c4 0c             	add    $0xc,%esp
40e83a:	66 3b fe             	cmp    %si,%di
40e83d:	0f 84 de 00 00 00    	je     0x40e921
40e843:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e849:	75 10                	jne    0x40e85b
40e84b:	68 38 03 41 00       	push   $0x410338
40e850:	68 b0 7c 40 00       	push   $0x407cb0
40e855:	ff 15 24 11 40 00    	call   *0x401124
40e85b:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e861:	8b 07                	mov    (%edi),%eax
40e863:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e869:	51                   	push   %ecx
40e86a:	57                   	push   %edi
40e86b:	ff 50 1c             	call   *0x1c(%eax)
40e86e:	db e2                	fnclex
40e870:	3b c6                	cmp    %esi,%eax
40e872:	7d 0f                	jge    0x40e883
40e874:	6a 1c                	push   $0x1c
40e876:	68 a0 7c 40 00       	push   $0x407ca0
40e87b:	57                   	push   %edi
40e87c:	50                   	push   %eax
40e87d:	ff 15 48 10 40 00    	call   *0x401048
40e883:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e889:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e88f:	57                   	push   %edi
40e890:	83 ec 10             	sub    $0x10,%esp
40e893:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e898:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e89e:	8b fc                	mov    %esp,%edi
40e8a0:	89 0f                	mov    %ecx,(%edi)
40e8a2:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e8a8:	89 4f 04             	mov    %ecx,0x4(%edi)
40e8ab:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e8b2:	00 02 80
40e8b5:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e8bb:	8b 10                	mov    (%eax),%edx
40e8bd:	89 4f 08             	mov    %ecx,0x8(%edi)
40e8c0:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e8c6:	50                   	push   %eax
40e8c7:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e8cd:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e8d0:	ff 52 5c             	call   *0x5c(%edx)
40e8d3:	db e2                	fnclex
40e8d5:	3b c6                	cmp    %esi,%eax
40e8d7:	7d 15                	jge    0x40e8ee
40e8d9:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e8df:	6a 5c                	push   $0x5c
40e8e1:	68 c0 7c 40 00       	push   $0x407cc0
40e8e6:	52                   	push   %edx
40e8e7:	50                   	push   %eax
40e8e8:	ff 15 48 10 40 00    	call   *0x401048
40e8ee:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e8f4:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e8fa:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40e8fd:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e903:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e909:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e90f:	ff 15 0c 10 40 00    	call   *0x40100c
40e915:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e91b:	ff 15 b0 11 40 00    	call   *0x4011b0
40e921:	68 dc 84 40 00       	push   $0x4084dc
40e926:	68 ec 84 40 00       	push   $0x4084ec
40e92b:	ff 15 3c 10 40 00    	call   *0x40103c
40e931:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e937:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e93d:	50                   	push   %eax
40e93e:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e944:	51                   	push   %ecx
40e945:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e94b:	ff 15 90 11 40 00    	call   *0x401190
40e951:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e957:	52                   	push   %edx
40e958:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e95e:	50                   	push   %eax
40e95f:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e966:	00 00 00
40e969:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e970:	80 00 00
40e973:	ff 15 60 11 40 00    	call   *0x401160
40e979:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e97f:	51                   	push   %ecx
40e980:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e986:	52                   	push   %edx
40e987:	6a 02                	push   $0x2
40e989:	66 8b f8             	mov    %ax,%di
40e98c:	ff 15 28 10 40 00    	call   *0x401028
40e992:	83 c4 0c             	add    $0xc,%esp
40e995:	66 3b fe             	cmp    %si,%di
40e998:	0f 84 e1 00 00 00    	je     0x40ea7f
40e99e:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e9a4:	75 10                	jne    0x40e9b6
40e9a6:	68 38 03 41 00       	push   $0x410338
40e9ab:	68 b0 7c 40 00       	push   $0x407cb0
40e9b0:	ff 15 24 11 40 00    	call   *0x401124
40e9b6:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e9bc:	8b 07                	mov    (%edi),%eax
40e9be:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e9c4:	51                   	push   %ecx
40e9c5:	57                   	push   %edi
40e9c6:	ff 50 1c             	call   *0x1c(%eax)
40e9c9:	db e2                	fnclex
40e9cb:	3b c6                	cmp    %esi,%eax
40e9cd:	7d 0f                	jge    0x40e9de
40e9cf:	6a 1c                	push   $0x1c
40e9d1:	68 a0 7c 40 00       	push   $0x407ca0
40e9d6:	57                   	push   %edi
40e9d7:	50                   	push   %eax
40e9d8:	ff 15 48 10 40 00    	call   *0x401048
40e9de:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e9e4:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40e9ea:	53                   	push   %ebx
40e9eb:	83 ec 10             	sub    $0x10,%esp
40e9ee:	ba 0a 00 00 00       	mov    $0xa,%edx
40e9f3:	8b dc                	mov    %esp,%ebx
40e9f5:	89 13                	mov    %edx,(%ebx)
40e9f7:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40e9fd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ea03:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ea08:	89 53 04             	mov    %edx,0x4(%ebx)
40ea0b:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ea11:	8b 38                	mov    (%eax),%edi
40ea13:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ea16:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ea1c:	50                   	push   %eax
40ea1d:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ea23:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ea26:	ff 57 5c             	call   *0x5c(%edi)
40ea29:	db e2                	fnclex
40ea2b:	3b c6                	cmp    %esi,%eax
40ea2d:	7d 15                	jge    0x40ea44
40ea2f:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ea35:	6a 5c                	push   $0x5c
40ea37:	68 c0 7c 40 00       	push   $0x407cc0
40ea3c:	52                   	push   %edx
40ea3d:	50                   	push   %eax
40ea3e:	ff 15 48 10 40 00    	call   *0x401048
40ea44:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ea4a:	bb 08 00 00 00       	mov    $0x8,%ebx
40ea4f:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ea55:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40ea5b:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ea61:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea67:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ea6d:	ff 15 0c 10 40 00    	call   *0x40100c
40ea73:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ea79:	ff 15 b0 11 40 00    	call   *0x4011b0
40ea7f:	68 dc 84 40 00       	push   $0x4084dc
40ea84:	68 ec 84 40 00       	push   $0x4084ec
40ea89:	ff 15 3c 10 40 00    	call   *0x40103c
40ea8f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ea95:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ea9b:	50                   	push   %eax
40ea9c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eaa2:	51                   	push   %ecx
40eaa3:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40eaa9:	ff 15 90 11 40 00    	call   *0x401190
40eaaf:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40eab5:	52                   	push   %edx
40eab6:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40eabc:	50                   	push   %eax
40eabd:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40eac4:	00 00 00
40eac7:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40eace:	80 00 00
40ead1:	ff 15 60 11 40 00    	call   *0x401160
40ead7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eadd:	51                   	push   %ecx
40eade:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40eae4:	52                   	push   %edx
40eae5:	6a 02                	push   $0x2
40eae7:	66 8b f8             	mov    %ax,%di