40c747:	ff 15 e4 60 41 00    	call   *0x4160e4
40c74d:	85 ff                	test   %edi,%edi
40c74f:	74 10                	je     0x40c761
40c751:	57                   	push   %edi
40c752:	6a 00                	push   $0x0
40c754:	ff 15 e0 60 41 00    	call   *0x4160e0
40c75a:	50                   	push   %eax
40c75b:	ff 15 e4 60 41 00    	call   *0x4160e4
40c761:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c764:	8b c6                	mov    %esi,%eax
40c766:	5f                   	pop    %edi
40c767:	5e                   	pop    %esi
40c768:	33 cd                	xor    %ebp,%ecx
40c76a:	5b                   	pop    %ebx
40c76b:	e8 80 58 00 00       	call   0x411ff0
40c770:	c9                   	leave
40c771:	c2 0c 00             	ret    $0xc
40c774:	8b ff                	mov    %edi,%edi
40c776:	55                   	push   %ebp
40c777:	8b ec                	mov    %esp,%ebp
40c779:	83 ec 34             	sub    $0x34,%esp
40c77c:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40c781:	33 c5                	xor    %ebp,%eax
40c783:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c786:	8b 45 10             	mov    0x10(%ebp),%eax
40c789:	56                   	push   %esi
40c78a:	89 45 dc             	mov    %eax,-0x24(%ebp)
40c78d:	33 c0                	xor    %eax,%eax
40c78f:	57                   	push   %edi
40c790:	89 45 e0             	mov    %eax,-0x20(%ebp)
40c793:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40c796:	89 45 d8             	mov    %eax,-0x28(%ebp)
40c799:	89 45 e8             	mov    %eax,-0x18(%ebp)
40c79c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c79f:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c7a2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c7a5:	50                   	push   %eax
40c7a6:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c7a9:	50                   	push   %eax
40c7aa:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c7ad:	50                   	push   %eax
40c7ae:	51                   	push   %ecx
40c7af:	51                   	push   %ecx
40c7b0:	e8 03 f3 ff ff       	call   0x40bab8
40c7b5:	8b 7d e0             	mov    -0x20(%ebp),%edi
40c7b8:	8b f0                	mov    %eax,%esi
40c7ba:	85 f6                	test   %esi,%esi
40c7bc:	74 1c                	je     0x40c7da
40c7be:	6a 00                	push   $0x0
40c7c0:	68 90 36 40 00       	push   $0x403690
40c7c5:	68 e7 03 00 00       	push   $0x3e7
40c7ca:	68 d0 34 40 00       	push   $0x4034d0
40c7cf:	51                   	push   %ecx
40c7d0:	e8 fd 47 00 00       	call   0x410fd2
40c7d5:	e9 aa 01 00 00       	jmp    0x40c984
40c7da:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c7dd:	50                   	push   %eax
40c7de:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c7e1:	50                   	push   %eax
40c7e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40c7e5:	50                   	push   %eax
40c7e6:	57                   	push   %edi
40c7e7:	ff 15 54 60 41 00    	call   *0x416054
40c7ed:	85 c0                	test   %eax,%eax
40c7ef:	75 16                	jne    0x40c807
40c7f1:	ff 15 68 61 41 00    	call   *0x416168
40c7f7:	6a 00                	push   $0x0
40c7f9:	68 90 36 40 00       	push   $0x403690
40c7fe:	8b f0                	mov    %eax,%esi
40c800:	68 f8 03 00 00       	push   $0x3f8
40c805:	eb c3                	jmp    0x40c7ca
40c807:	ff 75 ec             	push   -0x14(%ebp)
40c80a:	ff 15 58 60 41 00    	call   *0x416058
40c810:	85 c0                	test   %eax,%eax
40c812:	75 16                	jne    0x40c82a
40c814:	ff 15 68 61 41 00    	call   *0x416168
40c81a:	6a 00                	push   $0x0
40c81c:	68 90 36 40 00       	push   $0x403690
40c821:	8b f0                	mov    %eax,%esi
40c823:	68 fe 03 00 00       	push   $0x3fe
40c828:	eb a0                	jmp    0x40c7ca
40c82a:	6a 02                	push   $0x2
40c82c:	6a 0c                	push   $0xc
40c82e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c831:	50                   	push   %eax
40c832:	ff 75 ec             	push   -0x14(%ebp)
40c835:	ff 15 5c 60 41 00    	call   *0x41605c
40c83b:	85 c0                	test   %eax,%eax
40c83d:	75 19                	jne    0x40c858
40c83f:	ff 15 68 61 41 00    	call   *0x416168
40c845:	6a 00                	push   $0x0
40c847:	68 90 36 40 00       	push   $0x403690
40c84c:	8b f0                	mov    %eax,%esi
40c84e:	68 0d 04 00 00       	push   $0x40d
40c853:	e9 72 ff ff ff       	jmp    0x40c7ca
40c858:	33 f6                	xor    %esi,%esi
40c85a:	39 75 f0             	cmp    %esi,-0x10(%ebp)
40c85d:	76 37                	jbe    0x40c896
40c85f:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c862:	50                   	push   %eax
40c863:	56                   	push   %esi
40c864:	ff 75 ec             	push   -0x14(%ebp)
40c867:	ff 15 60 60 41 00    	call   *0x416060
40c86d:	85 c0                	test   %eax,%eax
40c86f:	74 5c                	je     0x40c8cd
40c871:	8b 45 d0             	mov    -0x30(%ebp),%eax
40c874:	8a 08                	mov    (%eax),%cl
40c876:	84 c9                	test   %cl,%cl
40c878:	74 05                	je     0x40c87f
40c87a:	80 f9 01             	cmp    $0x1,%cl
40c87d:	75 11                	jne    0x40c890
40c87f:	83 c0 08             	add    $0x8,%eax
40c882:	50                   	push   %eax
40c883:	ff 75 dc             	push   -0x24(%ebp)
40c886:	ff 15 64 60 41 00    	call   *0x416064
40c88c:	85 c0                	test   %eax,%eax
40c88e:	75 31                	jne    0x40c8c1
40c890:	46                   	inc    %esi
40c891:	3b 75 f0             	cmp    -0x10(%ebp),%esi
40c894:	72 c9                	jb     0x40c85f
40c896:	6a 01                	push   $0x1
40c898:	ff 75 ec             	push   -0x14(%ebp)
40c89b:	6a 01                	push   $0x1
40c89d:	57                   	push   %edi
40c89e:	ff 15 44 60 41 00    	call   *0x416044
40c8a4:	85 c0                	test   %eax,%eax
40c8a6:	75 3e                	jne    0x40c8e6
40c8a8:	ff 15 68 61 41 00    	call   *0x416168
40c8ae:	6a 00                	push   $0x0
40c8b0:	68 90 36 40 00       	push   $0x403690
40c8b5:	8b f0                	mov    %eax,%esi
40c8b7:	68 3c 04 00 00       	push   $0x43c
40c8bc:	e9 09 ff ff ff       	jmp    0x40c7ca
40c8c1:	56                   	push   %esi
40c8c2:	ff 75 ec             	push   -0x14(%ebp)
40c8c5:	ff 15 6c 60 41 00    	call   *0x41606c
40c8cb:	eb c9                	jmp    0x40c896
40c8cd:	ff 15 68 61 41 00    	call   *0x416168
40c8d3:	6a 00                	push   $0x0
40c8d5:	68 90 36 40 00       	push   $0x403690
40c8da:	8b f0                	mov    %eax,%esi
40c8dc:	68 18 04 00 00       	push   $0x418
40c8e1:	e9 e4 fe ff ff       	jmp    0x40c7ca
40c8e6:	6a 00                	push   $0x0
40c8e8:	ff 75 e8             	push   -0x18(%ebp)
40c8eb:	57                   	push   %edi
40c8ec:	ff 15 48 60 41 00    	call   *0x416048
40c8f2:	85 c0                	test   %eax,%eax
40c8f4:	75 19                	jne    0x40c90f
40c8f6:	ff 15 68 61 41 00    	call   *0x416168
40c8fc:	6a 00                	push   $0x0
40c8fe:	68 90 36 40 00       	push   $0x403690
40c903:	8b f0                	mov    %eax,%esi
40c905:	68 45 04 00 00       	push   $0x445
40c90a:	e9 bb fe ff ff       	jmp    0x40c7ca
40c90f:	6a 00                	push   $0x0
40c911:	ff 75 e4             	push   -0x1c(%ebp)
40c914:	57                   	push   %edi
40c915:	ff 15 4c 60 41 00    	call   *0x41604c
40c91b:	85 c0                	test   %eax,%eax
40c91d:	75 19                	jne    0x40c938
40c91f:	ff 15 68 61 41 00    	call   *0x416168
40c925:	6a 00                	push   $0x0
40c927:	68 90 36 40 00       	push   $0x403690
40c92c:	8b f0                	mov    %eax,%esi
40c92e:	68 4e 04 00 00       	push   $0x44e
40c933:	e9 92 fe ff ff       	jmp    0x40c7ca
40c938:	57                   	push   %edi
40c939:	ff 15 34 60 41 00    	call   *0x416034
40c93f:	85 c0                	test   %eax,%eax
40c941:	75 15                	jne    0x40c958
40c943:	50                   	push   %eax
40c944:	68 90 36 40 00       	push   $0x403690
40c949:	be 05 40 00 80       	mov    $0x80004005,%esi
40c94e:	68 57 04 00 00       	push   $0x457
40c953:	e9 72 fe ff ff       	jmp    0x40c7ca
40c958:	57                   	push   %edi
40c959:	68 28 3a 40 00       	push   $0x403a28
40c95e:	68 f8 39 40 00       	push   $0x4039f8
40c963:	e8 dd f4 ff ff       	call   0x40be45
40c968:	85 c0                	test   %eax,%eax
40c96a:	74 16                	je     0x40c982
40c96c:	6a 00                	push   $0x0
40c96e:	68 90 36 40 00       	push   $0x403690
40c973:	be 05 40 00 80       	mov    $0x80004005,%esi
40c978:	68 61 04 00 00       	push   $0x461
40c97d:	e9 48 fe ff ff       	jmp    0x40c7ca
40c982:	33 f6                	xor    %esi,%esi
40c984:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40c988:	74 16                	je     0x40c9a0
40c98a:	ff 75 ec             	push   -0x14(%ebp)
40c98d:	6a 00                	push   $0x0
40c98f:	ff 15 e0 60 41 00    	call   *0x4160e0
40c995:	50                   	push   %eax
40c996:	ff 15 e4 60 41 00    	call   *0x4160e4
40c99c:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40c9a0:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40c9a4:	74 12                	je     0x40c9b8
40c9a6:	ff 75 e8             	push   -0x18(%ebp)
40c9a9:	6a 00                	push   $0x0
40c9ab:	ff 15 e0 60 41 00    	call   *0x4160e0
40c9b1:	50                   	push   %eax
40c9b2:	ff 15 e4 60 41 00    	call   *0x4160e4
40c9b8:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40c9bc:	74 12                	je     0x40c9d0
40c9be:	ff 75 e4             	push   -0x1c(%ebp)
40c9c1:	6a 00                	push   $0x0
40c9c3:	ff 15 e0 60 41 00    	call   *0x4160e0
40c9c9:	50                   	push   %eax
40c9ca:	ff 15 e4 60 41 00    	call   *0x4160e4
40c9d0:	85 ff                	test   %edi,%edi
40c9d2:	74 10                	je     0x40c9e4
40c9d4:	57                   	push   %edi
40c9d5:	6a 00                	push   $0x0
40c9d7:	ff 15 e0 60 41 00    	call   *0x4160e0
40c9dd:	50                   	push   %eax
40c9de:	ff 15 e4 60 41 00    	call   *0x4160e4
40c9e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c9e7:	8b c6                	mov    %esi,%eax
40c9e9:	5f                   	pop    %edi
40c9ea:	33 cd                	xor    %ebp,%ecx
40c9ec:	5e                   	pop    %esi
40c9ed:	e8 fe 55 00 00       	call   0x411ff0
40c9f2:	c9                   	leave
40c9f3:	c2 0c 00             	ret    $0xc
40c9f6:	8b ff                	mov    %edi,%edi
40c9f8:	55                   	push   %ebp
40c9f9:	8b ec                	mov    %esp,%ebp
40c9fb:	83 ec 3c             	sub    $0x3c,%esp
40c9fe:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40ca03:	33 c5                	xor    %ebp,%eax
40ca05:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ca08:	8b 45 0c             	mov    0xc(%ebp),%eax
40ca0b:	b9 30 3b 40 00       	mov    $0x403b30,%ecx
40ca10:	53                   	push   %ebx
40ca11:	56                   	push   %esi
40ca12:	33 db                	xor    %ebx,%ebx
40ca14:	89 45 dc             	mov    %eax,-0x24(%ebp)
40ca17:	57                   	push   %edi
40ca18:	33 ff                	xor    %edi,%edi
40ca1a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40ca1d:	47                   	inc    %edi
40ca1e:	66 c7 45 f8 00 05    	movw   $0x500,-0x8(%ebp)
40ca24:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ca27:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40ca2a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40ca2d:	89 7d e0             	mov    %edi,-0x20(%ebp)
40ca30:	66 8b 10             	mov    (%eax),%dx
40ca33:	66 3b 11             	cmp    (%ecx),%dx
40ca36:	75 1e                	jne    0x40ca56
40ca38:	66 85 d2             	test   %dx,%dx
40ca3b:	74 15                	je     0x40ca52
40ca3d:	66 8b 50 02          	mov    0x2(%eax),%dx
40ca41:	66 3b 51 02          	cmp    0x2(%ecx),%dx
40ca45:	75 0f                	jne    0x40ca56
40ca47:	83 c0 04             	add    $0x4,%eax
40ca4a:	83 c1 04             	add    $0x4,%ecx
40ca4d:	66 85 d2             	test   %dx,%dx
40ca50:	75 de                	jne    0x40ca30
40ca52:	8b c3                	mov    %ebx,%eax
40ca54:	eb 04                	jmp    0x40ca5a
40ca56:	1b c0                	sbb    %eax,%eax
40ca58:	0b c7                	or     %edi,%eax
40ca5a:	be d0 34 40 00       	mov    $0x4034d0,%esi
40ca5f:	56                   	push   %esi
40ca60:	85 c0                	test   %eax,%eax
40ca62:	75 66                	jne    0x40caca
40ca64:	68 8d 04 00 00       	push   $0x48d
40ca69:	68 f8 2a 40 00       	push   $0x402af8
40ca6e:	e8 aa 44 00 00       	call   0x410f1d
40ca73:	56                   	push   %esi
40ca74:	68 8f 04 00 00       	push   $0x48f
40ca79:	68 68 2c 40 00       	push   $0x402c68
40ca7e:	c7 45 e4 0b 00 00 00 	movl   $0xb,-0x1c(%ebp)
40ca85:	e8 93 44 00 00       	call   0x410f1d
40ca8a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ca8d:	50                   	push   %eax
40ca8e:	53                   	push   %ebx
40ca8f:	53                   	push   %ebx
40ca90:	53                   	push   %ebx
40ca91:	53                   	push   %ebx
40ca92:	53                   	push   %ebx
40ca93:	53                   	push   %ebx
40ca94:	53                   	push   %ebx
40ca95:	6a 04                	push   $0x4
40ca97:	57                   	push   %edi
40ca98:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ca9b:	50                   	push   %eax
40ca9c:	ff 15 38 60 41 00    	call   *0x416038
40caa2:	85 c0                	test   %eax,%eax
40caa4:	75 1f                	jne    0x40cac5
40caa6:	ff 15 68 61 41 00    	call   *0x416168
40caac:	53                   	push   %ebx
40caad:	68 e8 36 40 00       	push   $0x4036e8
40cab2:	68 af 04 00 00       	push   $0x4af
40cab7:	56                   	push   %esi
40cab8:	51                   	push   %ecx
40cab9:	8b f8                	mov    %eax,%edi
40cabb:	e8 12 45 00 00       	call   0x410fd2
40cac0:	e9 60 02 00 00       	jmp    0x40cd25
40cac5:	ff 75 f0             	push   -0x10(%ebp)
40cac8:	eb 5b                	jmp    0x40cb25
40caca:	68 92 04 00 00       	push   $0x492
40cacf:	68 f8 2a 40 00       	push   $0x402af8
40cad4:	e8 44 44 00 00       	call   0x410f1d
40cad9:	56                   	push   %esi
40cada:	68 95 04 00 00       	push   $0x495
40cadf:	68 68 2c 40 00       	push   $0x402c68
40cae4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40cae7:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
40caee:	e8 2a 44 00 00       	call   0x410f1d
40caf3:	8d 45 ec             	lea    -0x14(%ebp),%eax
40caf6:	50                   	push   %eax
40caf7:	53                   	push   %ebx
40caf8:	53                   	push   %ebx
40caf9:	53                   	push   %ebx
40cafa:	53                   	push   %ebx
40cafb:	53                   	push   %ebx
40cafc:	53                   	push   %ebx
40cafd:	53                   	push   %ebx
40cafe:	6a 0a                	push   $0xa
40cb00:	57                   	push   %edi
40cb01:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cb04:	50                   	push   %eax
40cb05:	ff 15 38 60 41 00    	call   *0x416038
40cb0b:	85 c0                	test   %eax,%eax
40cb0d:	75 13                	jne    0x40cb22
40cb0f:	ff 15 68 61 41 00    	call   *0x416168
40cb15:	53                   	push   %ebx
40cb16:	68 e8 36 40 00       	push   $0x4036e8
40cb1b:	68 ca 04 00 00       	push   $0x4ca
40cb20:	eb 95                	jmp    0x40cab7
40cb22:	ff 75 ec             	push   -0x14(%ebp)
40cb25:	ff 15 3c 60 41 00    	call   *0x41603c
40cb2b:	8d 78 10             	lea    0x10(%eax),%edi
40cb2e:	57                   	push   %edi
40cb2f:	53                   	push   %ebx
40cb30:	ff 15 e0 60 41 00    	call   *0x4160e0
40cb36:	50                   	push   %eax
40cb37:	ff 15 dc 60 41 00    	call   *0x4160dc
40cb3d:	8b d8                	mov    %eax,%ebx
40cb3f:	85 db                	test   %ebx,%ebx
40cb41:	75 1e                	jne    0x40cb61
40cb43:	6a 08                	push   $0x8
40cb45:	5f                   	pop    %edi
40cb46:	68 0e 00 07 80       	push   $0x8007000e
40cb4b:	68 e8 36 40 00       	push   $0x4036e8
40cb50:	68 e1 04 00 00       	push   $0x4e1
40cb55:	56                   	push   %esi
40cb56:	51                   	push   %ecx