40b7b5:	89 45 e0             	mov    %eax,-0x20(%ebp)
40b7b8:	43                   	inc    %ebx
40b7b9:	8b 45 0c             	mov    0xc(%ebp),%eax
40b7bc:	57                   	push   %edi
40b7bd:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40b7c0:	89 7d f0             	mov    %edi,-0x10(%ebp)
40b7c3:	8b 00                	mov    (%eax),%eax
40b7c5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40b7c8:	8d 45 e0             	lea    -0x20(%ebp),%eax
40b7cb:	50                   	push   %eax
40b7cc:	53                   	push   %ebx
40b7cd:	57                   	push   %edi
40b7ce:	89 7d f4             	mov    %edi,-0xc(%ebp)
40b7d1:	c7 45 f8 01 02 01 00 	movl   $0x10201,-0x8(%ebp)
40b7d8:	89 7d fc             	mov    %edi,-0x4(%ebp)
40b7db:	ff 15 28 22 41 00    	call   *0x412228
40b7e1:	85 c0                	test   %eax,%eax
40b7e3:	75 2f                	jne    0x40b814
40b7e5:	8b 06                	mov    (%esi),%eax
40b7e7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40b7ea:	89 45 08             	mov    %eax,0x8(%ebp)
40b7ed:	e8 16 1d 00 00       	call   0x40d508
40b7f2:	53                   	push   %ebx
40b7f3:	8d 4d 08             	lea    0x8(%ebp),%ecx
40b7f6:	51                   	push   %ecx
40b7f7:	6a 03                	push   $0x3
40b7f9:	ff 30                	push   (%eax)
40b7fb:	57                   	push   %edi
40b7fc:	ff 15 2c 22 41 00    	call   *0x41222c
40b802:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b805:	8b f0                	mov    %eax,%esi
40b807:	e8 21 a2 ff ff       	call   0x405a2d
40b80c:	85 f6                	test   %esi,%esi
40b80e:	75 04                	jne    0x40b814
40b810:	8b c3                	mov    %ebx,%eax
40b812:	eb 02                	jmp    0x40b816
40b814:	33 c0                	xor    %eax,%eax
40b816:	5f                   	pop    %edi
40b817:	5e                   	pop    %esi
40b818:	5b                   	pop    %ebx
40b819:	c9                   	leave
40b81a:	c2 08 00             	ret    $0x8
40b81d:	55                   	push   %ebp
40b81e:	8b ec                	mov    %esp,%ebp
40b820:	56                   	push   %esi
40b821:	57                   	push   %edi
40b822:	6a 01                	push   $0x1
40b824:	68 00 38 41 00       	push   $0x413800
40b829:	33 ff                	xor    %edi,%edi
40b82b:	57                   	push   %edi
40b82c:	ff 15 40 20 41 00    	call   *0x412040
40b832:	8b f0                	mov    %eax,%esi
40b834:	85 f6                	test   %esi,%esi
40b836:	74 4b                	je     0x40b883
40b838:	8b 45 08             	mov    0x8(%ebp),%eax
40b83b:	53                   	push   %ebx
40b83c:	6a 02                	push   $0x2
40b83e:	ff 30                	push   (%eax)
40b840:	56                   	push   %esi
40b841:	ff 15 24 20 41 00    	call   *0x412024
40b847:	8b d8                	mov    %eax,%ebx
40b849:	85 db                	test   %ebx,%ebx
40b84b:	75 0b                	jne    0x40b858
40b84d:	56                   	push   %esi
40b84e:	ff 15 44 20 41 00    	call   *0x412044
40b854:	33 c0                	xor    %eax,%eax
40b856:	eb 2a                	jmp    0x40b882
40b858:	57                   	push   %edi
40b859:	57                   	push   %edi
40b85a:	57                   	push   %edi
40b85b:	57                   	push   %edi
40b85c:	57                   	push   %edi
40b85d:	57                   	push   %edi
40b85e:	57                   	push   %edi
40b85f:	6a ff                	push   $0xffffffff
40b861:	ff 75 0c             	push   0xc(%ebp)
40b864:	6a ff                	push   $0xffffffff
40b866:	53                   	push   %ebx
40b867:	ff 15 28 20 41 00    	call   *0x412028
40b86d:	85 c0                	test   %eax,%eax
40b86f:	74 03                	je     0x40b874
40b871:	33 ff                	xor    %edi,%edi
40b873:	47                   	inc    %edi
40b874:	56                   	push   %esi
40b875:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b87b:	ff d6                	call   *%esi
40b87d:	53                   	push   %ebx
40b87e:	ff d6                	call   *%esi
40b880:	8b c7                	mov    %edi,%eax
40b882:	5b                   	pop    %ebx
40b883:	5f                   	pop    %edi
40b884:	5e                   	pop    %esi
40b885:	5d                   	pop    %ebp
40b886:	c2 08 00             	ret    $0x8
40b889:	55                   	push   %ebp
40b88a:	8b ec                	mov    %esp,%ebp
40b88c:	56                   	push   %esi
40b88d:	57                   	push   %edi
40b88e:	6a 01                	push   $0x1
40b890:	68 00 38 41 00       	push   $0x413800
40b895:	33 ff                	xor    %edi,%edi
40b897:	57                   	push   %edi
40b898:	ff 15 40 20 41 00    	call   *0x412040
40b89e:	8b f0                	mov    %eax,%esi
40b8a0:	85 f6                	test   %esi,%esi
40b8a2:	74 64                	je     0x40b908
40b8a4:	8b 45 08             	mov    0x8(%ebp),%eax
40b8a7:	53                   	push   %ebx
40b8a8:	6a 10                	push   $0x10
40b8aa:	ff 30                	push   (%eax)
40b8ac:	56                   	push   %esi
40b8ad:	ff 15 24 20 41 00    	call   *0x412024
40b8b3:	8b d8                	mov    %eax,%ebx
40b8b5:	85 db                	test   %ebx,%ebx
40b8b7:	75 0b                	jne    0x40b8c4
40b8b9:	56                   	push   %esi
40b8ba:	ff 15 44 20 41 00    	call   *0x412044
40b8c0:	33 c0                	xor    %eax,%eax
40b8c2:	eb 43                	jmp    0x40b907
40b8c4:	57                   	push   %edi
40b8c5:	57                   	push   %edi
40b8c6:	53                   	push   %ebx
40b8c7:	ff 15 34 20 41 00    	call   *0x412034
40b8cd:	85 c0                	test   %eax,%eax
40b8cf:	75 25                	jne    0x40b8f6
40b8d1:	ff 15 0c 22 41 00    	call   *0x41220c
40b8d7:	3d 20 04 00 00       	cmp    $0x420,%eax
40b8dc:	75 1b                	jne    0x40b8f9
40b8de:	68 d0 07 00 00       	push   $0x7d0
40b8e3:	ff 15 e4 21 41 00    	call   *0x4121e4
40b8e9:	57                   	push   %edi
40b8ea:	57                   	push   %edi
40b8eb:	53                   	push   %ebx
40b8ec:	ff 15 34 20 41 00    	call   *0x412034
40b8f2:	85 c0                	test   %eax,%eax
40b8f4:	74 03                	je     0x40b8f9
40b8f6:	33 ff                	xor    %edi,%edi
40b8f8:	47                   	inc    %edi
40b8f9:	56                   	push   %esi
40b8fa:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b900:	ff d6                	call   *%esi
40b902:	53                   	push   %ebx
40b903:	ff d6                	call   *%esi
40b905:	8b c7                	mov    %edi,%eax
40b907:	5b                   	pop    %ebx
40b908:	5f                   	pop    %edi
40b909:	5e                   	pop    %esi
40b90a:	5d                   	pop    %ebp
40b90b:	c2 04 00             	ret    $0x4
40b90e:	55                   	push   %ebp
40b90f:	8b ec                	mov    %esp,%ebp
40b911:	51                   	push   %ecx
40b912:	56                   	push   %esi
40b913:	57                   	push   %edi
40b914:	6a 01                	push   $0x1
40b916:	33 ff                	xor    %edi,%edi
40b918:	68 00 38 41 00       	push   $0x413800
40b91d:	57                   	push   %edi
40b91e:	89 7d fc             	mov    %edi,-0x4(%ebp)
40b921:	ff 15 40 20 41 00    	call   *0x412040
40b927:	8b f0                	mov    %eax,%esi
40b929:	85 f6                	test   %esi,%esi
40b92b:	0f 84 85 00 00 00    	je     0x40b9b6
40b931:	8b 45 08             	mov    0x8(%ebp),%eax
40b934:	53                   	push   %ebx
40b935:	6a 01                	push   $0x1
40b937:	ff 30                	push   (%eax)
40b939:	56                   	push   %esi
40b93a:	ff 15 24 20 41 00    	call   *0x412024
40b940:	8b d8                	mov    %eax,%ebx
40b942:	85 db                	test   %ebx,%ebx
40b944:	75 09                	jne    0x40b94f
40b946:	56                   	push   %esi
40b947:	ff 15 44 20 41 00    	call   *0x412044
40b94d:	eb 48                	jmp    0x40b997
40b94f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b952:	50                   	push   %eax
40b953:	57                   	push   %edi
40b954:	57                   	push   %edi
40b955:	53                   	push   %ebx
40b956:	ff 15 2c 20 41 00    	call   *0x41202c
40b95c:	85 c0                	test   %eax,%eax
40b95e:	75 0b                	jne    0x40b96b
40b960:	ff 15 0c 22 41 00    	call   *0x41220c
40b966:	83 f8 7a             	cmp    $0x7a,%eax
40b969:	75 20                	jne    0x40b98b
40b96b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b96e:	e8 14 a1 ff ff       	call   0x405a87
40b973:	8b f8                	mov    %eax,%edi
40b975:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b978:	50                   	push   %eax
40b979:	ff 75 fc             	push   -0x4(%ebp)
40b97c:	89 7d 08             	mov    %edi,0x8(%ebp)
40b97f:	57                   	push   %edi
40b980:	53                   	push   %ebx
40b981:	ff 15 2c 20 41 00    	call   *0x41202c
40b987:	85 c0                	test   %eax,%eax
40b989:	75 10                	jne    0x40b99b
40b98b:	56                   	push   %esi
40b98c:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b992:	ff d6                	call   *%esi
40b994:	53                   	push   %ebx
40b995:	ff d6                	call   *%esi
40b997:	33 c0                	xor    %eax,%eax
40b999:	eb 1a                	jmp    0x40b9b5
40b99b:	8b 7f 04             	mov    0x4(%edi),%edi
40b99e:	56                   	push   %esi
40b99f:	8b 35 44 20 41 00    	mov    0x412044,%esi
40b9a5:	ff d6                	call   *%esi
40b9a7:	53                   	push   %ebx
40b9a8:	ff d6                	call   *%esi
40b9aa:	ff 75 08             	push   0x8(%ebp)
40b9ad:	e8 0f 57 ff ff       	call   0x4010c1
40b9b2:	59                   	pop    %ecx
40b9b3:	8b c7                	mov    %edi,%eax
40b9b5:	5b                   	pop    %ebx
40b9b6:	5f                   	pop    %edi
40b9b7:	5e                   	pop    %esi
40b9b8:	c9                   	leave
40b9b9:	c2 04 00             	ret    $0x4
40b9bc:	55                   	push   %ebp
40b9bd:	8b ec                	mov    %esp,%ebp
40b9bf:	83 ec 50             	sub    $0x50,%esp
40b9c2:	53                   	push   %ebx
40b9c3:	56                   	push   %esi
40b9c4:	57                   	push   %edi
40b9c5:	33 db                	xor    %ebx,%ebx
40b9c7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40b9ca:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40b9cd:	68 20 38 41 00       	push   $0x413820
40b9d2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40b9d5:	e8 38 7a ff ff       	call   0x403412
40b9da:	68 88 38 41 00       	push   $0x413888
40b9df:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40b9e2:	e8 2b 7a ff ff       	call   0x403412
40b9e7:	68 08 39 41 00       	push   $0x413908
40b9ec:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40b9ef:	e8 1e 7a ff ff       	call   0x403412
40b9f4:	68 78 39 41 00       	push   $0x413978
40b9f9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40b9fc:	e8 11 7a ff ff       	call   0x403412
40ba01:	68 e8 39 41 00       	push   $0x4139e8
40ba06:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ba09:	e8 04 7a ff ff       	call   0x403412
40ba0e:	68 78 3a 41 00       	push   $0x413a78
40ba13:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40ba16:	e8 f7 79 ff ff       	call   0x403412
40ba1b:	6a 01                	push   $0x1
40ba1d:	68 06 01 02 00       	push   $0x20106
40ba22:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ba25:	50                   	push   %eax
40ba26:	68 02 00 00 80       	push   $0x80000002
40ba2b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba2e:	e8 cb 35 00 00       	call   0x40effe
40ba33:	85 c0                	test   %eax,%eax
40ba35:	0f 84 bb 02 00 00    	je     0x40bcf6
40ba3b:	6a 04                	push   $0x4
40ba3d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40ba40:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40ba43:	50                   	push   %eax
40ba44:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba47:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40ba4a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40ba4d:	e8 6f 73 ff ff       	call   0x402dc1
40ba52:	6a 04                	push   $0x4
40ba54:	8d 45 bc             	lea    -0x44(%ebp),%eax
40ba57:	50                   	push   %eax
40ba58:	68 00 3b 41 00       	push   $0x413b00
40ba5d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ba60:	e8 ad 79 ff ff       	call   0x403412
40ba65:	50                   	push   %eax
40ba66:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba69:	e8 5d 35 00 00       	call   0x40efcb
40ba6e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40ba71:	8b f0                	mov    %eax,%esi
40ba73:	e8 b5 9f ff ff       	call   0x405a2d
40ba78:	85 f6                	test   %esi,%esi
40ba7a:	75 0d                	jne    0x40ba89
40ba7c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ba7f:	e8 c8 34 00 00       	call   0x40ef4c
40ba84:	e9 65 02 00 00       	jmp    0x40bcee
40ba89:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba8c:	e8 62 73 ff ff       	call   0x402df3
40ba91:	33 ff                	xor    %edi,%edi
40ba93:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40ba96:	6a 04                	push   $0x4
40ba98:	47                   	inc    %edi
40ba99:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40ba9c:	50                   	push   %eax
40ba9d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40baa0:	e8 1c 73 ff ff       	call   0x402dc1
40baa5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40baa8:	e8 9f 34 00 00       	call   0x40ef4c
40baad:	57                   	push   %edi
40baae:	68 06 01 02 00       	push   $0x20106
40bab3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40bab6:	50                   	push   %eax
40bab7:	68 02 00 00 80       	push   $0x80000002
40babc:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40babf:	e8 3a 35 00 00       	call   0x40effe
40bac4:	85 c0                	test   %eax,%eax
40bac6:	0f 84 22 02 00 00    	je     0x40bcee
40bacc:	6a 04                	push   $0x4
40bace:	8d 45 bc             	lea    -0x44(%ebp),%eax
40bad1:	50                   	push   %eax
40bad2:	68 28 3b 41 00       	push   $0x413b28
40bad7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bada:	e8 33 79 ff ff       	call   0x403412
40badf:	50                   	push   %eax
40bae0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bae3:	e8 e3 34 00 00       	call   0x40efcb
40bae8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40baeb:	8b f0                	mov    %eax,%esi
40baed:	e8 3b 9f ff ff       	call   0x405a2d
40baf2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40baf5:	e8 52 34 00 00       	call   0x40ef4c
40bafa:	85 f6                	test   %esi,%esi
40bafc:	0f 84 ec 01 00 00    	je     0x40bcee
40bb02:	57                   	push   %edi
40bb03:	68 06 01 02 00       	push   $0x20106
40bb08:	8d 45 d8             	lea    -0x28(%ebp),%eax
40bb0b:	50                   	push   %eax
40bb0c:	68 02 00 00 80       	push   $0x80000002
40bb11:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb14:	e8 e5 34 00 00       	call   0x40effe
40bb19:	85 c0                	test   %eax,%eax
40bb1b:	0f 84 cd 01 00 00    	je     0x40bcee
40bb21:	6a 04                	push   $0x4
40bb23:	8d 45 bc             	lea    -0x44(%ebp),%eax
40bb26:	50                   	push   %eax
40bb27:	68 5c 3b 41 00       	push   $0x413b5c
40bb2c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bb2f:	e8 de 78 ff ff       	call   0x403412
40bb34:	50                   	push   %eax
40bb35:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb38:	e8 8e 34 00 00       	call   0x40efcb
40bb3d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40bb40:	8b f0                	mov    %eax,%esi
40bb42:	e8 e6 9e ff ff       	call   0x405a2d
40bb47:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb4a:	e8 fd 33 00 00       	call   0x40ef4c
40bb4f:	85 f6                	test   %esi,%esi
40bb51:	0f 84 97 01 00 00    	je     0x40bcee
40bb57:	be 02 00 00 80       	mov    $0x80000002,%esi
40bb5c:	8d 55 ec             	lea    -0x14(%ebp),%edx
40bb5f:	8b ce                	mov    %esi,%ecx
40bb61:	e8 bb 1b 00 00       	call   0x40d721
40bb66:	85 c0                	test   %eax,%eax
40bb68:	0f 85 7d 01 00 00    	jne    0x40bceb
40bb6e:	57                   	push   %edi