40a852:	57                   	push   %edi
40a853:	e8 d4 67 ff ff       	call   0x40102c
40a858:	83 c4 0c             	add    $0xc,%esp
40a85b:	8d 86 a8 ec 20 00    	lea    0x20eca8(%esi),%eax
40a861:	68 d0 35 02 00       	push   $0x235d0
40a866:	50                   	push   %eax
40a867:	ff 75 f0             	push   -0x10(%ebp)
40a86a:	e8 bd 67 ff ff       	call   0x40102c
40a86f:	83 c4 0c             	add    $0xc,%esp
40a872:	8d 86 78 22 23 00    	lea    0x232278(%esi),%eax
40a878:	68 48 47 01 00       	push   $0x14748
40a87d:	50                   	push   %eax
40a87e:	ff 75 fc             	push   -0x4(%ebp)
40a881:	e8 a6 67 ff ff       	call   0x40102c
40a886:	8b 3d bc 20 41 00    	mov    0x4120bc,%edi
40a88c:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40a892:	83 c4 0c             	add    $0xc,%esp
40a895:	50                   	push   %eax
40a896:	68 00 01 00 00       	push   $0x100
40a89b:	ff d7                	call   *%edi
40a89d:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40a8a3:	50                   	push   %eax
40a8a4:	ff 15 e0 20 41 00    	call   *0x4120e0
40a8aa:	8b 35 04 22 41 00    	mov    0x412204,%esi
40a8b0:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40a8b6:	68 20 2c 41 00       	push   $0x412c20
40a8bb:	50                   	push   %eax
40a8bc:	ff d6                	call   *%esi
40a8be:	8d 85 d8 fb ff ff    	lea    -0x428(%ebp),%eax
40a8c4:	50                   	push   %eax
40a8c5:	68 00 01 00 00       	push   $0x100
40a8ca:	ff d7                	call   *%edi
40a8cc:	68 3c 2c 41 00       	push   $0x412c3c
40a8d1:	8d 85 d8 fb ff ff    	lea    -0x428(%ebp),%eax
40a8d7:	50                   	push   %eax
40a8d8:	ff d6                	call   *%esi
40a8da:	8d 85 d8 f7 ff ff    	lea    -0x828(%ebp),%eax
40a8e0:	50                   	push   %eax
40a8e1:	68 00 01 00 00       	push   $0x100
40a8e6:	ff d7                	call   *%edi
40a8e8:	68 58 2c 41 00       	push   $0x412c58
40a8ed:	8d 85 d8 f7 ff ff    	lea    -0x828(%ebp),%eax
40a8f3:	50                   	push   %eax
40a8f4:	ff d6                	call   *%esi
40a8f6:	8d 85 d8 f9 ff ff    	lea    -0x628(%ebp),%eax
40a8fc:	50                   	push   %eax
40a8fd:	68 00 01 00 00       	push   $0x100
40a902:	ff d7                	call   *%edi
40a904:	68 70 2c 41 00       	push   $0x412c70
40a909:	8d 85 d8 f9 ff ff    	lea    -0x628(%ebp),%eax
40a90f:	50                   	push   %eax
40a910:	ff d6                	call   *%esi
40a912:	8d 85 d8 f3 ff ff    	lea    -0xc28(%ebp),%eax
40a918:	50                   	push   %eax
40a919:	68 00 01 00 00       	push   $0x100
40a91e:	ff d7                	call   *%edi
40a920:	68 94 2c 41 00       	push   $0x412c94
40a925:	8d 85 d8 f3 ff ff    	lea    -0xc28(%ebp),%eax
40a92b:	50                   	push   %eax
40a92c:	ff d6                	call   *%esi
40a92e:	8d 85 d8 f5 ff ff    	lea    -0xa28(%ebp),%eax
40a934:	50                   	push   %eax
40a935:	68 00 01 00 00       	push   $0x100
40a93a:	ff d7                	call   *%edi
40a93c:	68 ac 2c 41 00       	push   $0x412cac
40a941:	8d 85 d8 f5 ff ff    	lea    -0xa28(%ebp),%eax
40a947:	50                   	push   %eax
40a948:	ff d6                	call   *%esi
40a94a:	8b 55 f0             	mov    -0x10(%ebp),%edx
40a94d:	85 d2                	test   %edx,%edx
40a94f:	0f 84 f4 00 00 00    	je     0x40aa49
40a955:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a958:	85 c9                	test   %ecx,%ecx
40a95a:	0f 84 e9 00 00 00    	je     0x40aa49
40a960:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40a964:	0f 84 df 00 00 00    	je     0x40aa49
40a96a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40a96e:	0f 84 d5 00 00 00    	je     0x40aa49
40a974:	8b 7d f4             	mov    -0xc(%ebp),%edi
40a977:	85 ff                	test   %edi,%edi
40a979:	0f 84 ca 00 00 00    	je     0x40aa49
40a97f:	8b 75 ec             	mov    -0x14(%ebp),%esi
40a982:	85 f6                	test   %esi,%esi
40a984:	0f 84 bf 00 00 00    	je     0x40aa49
40a98a:	80 3a 4d             	cmpb   $0x4d,(%edx)
40a98d:	6a 5a                	push   $0x5a
40a98f:	58                   	pop    %eax
40a990:	75 1c                	jne    0x40a9ae
40a992:	38 42 01             	cmp    %al,0x1(%edx)
40a995:	75 17                	jne    0x40a9ae
40a997:	68 d0 35 02 00       	push   $0x235d0
40a99c:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
40a9a2:	e8 0a 52 00 00       	call   0x40fbb1
40a9a7:	59                   	pop    %ecx
40a9a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a9ab:	6a 5a                	push   $0x5a
40a9ad:	58                   	pop    %eax
40a9ae:	80 39 4d             	cmpb   $0x4d,(%ecx)
40a9b1:	75 18                	jne    0x40a9cb
40a9b3:	38 41 01             	cmp    %al,0x1(%ecx)
40a9b6:	75 13                	jne    0x40a9cb
40a9b8:	8b d1                	mov    %ecx,%edx
40a9ba:	8d 8d d8 fb ff ff    	lea    -0x428(%ebp),%ecx
40a9c0:	68 38 b7 06 00       	push   $0x6b738
40a9c5:	e8 e7 51 00 00       	call   0x40fbb1
40a9ca:	59                   	pop    %ecx
40a9cb:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a9ce:	80 38 4d             	cmpb   $0x4d,(%eax)
40a9d1:	75 19                	jne    0x40a9ec
40a9d3:	80 78 01 5a          	cmpb   $0x5a,0x1(%eax)
40a9d7:	75 13                	jne    0x40a9ec
40a9d9:	68 d0 17 02 00       	push   $0x217d0
40a9de:	8b d0                	mov    %eax,%edx
40a9e0:	8d 8d d8 f7 ff ff    	lea    -0x828(%ebp),%ecx
40a9e6:	e8 c6 51 00 00       	call   0x40fbb1
40a9eb:	59                   	pop    %ecx
40a9ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a9ef:	80 38 4d             	cmpb   $0x4d,(%eax)
40a9f2:	75 19                	jne    0x40aa0d
40a9f4:	80 78 01 5a          	cmpb   $0x5a,0x1(%eax)
40a9f8:	75 13                	jne    0x40aa0d
40a9fa:	68 48 47 01 00       	push   $0x14748
40a9ff:	8b d0                	mov    %eax,%edx
40aa01:	8d 8d d8 f9 ff ff    	lea    -0x628(%ebp),%ecx
40aa07:	e8 a5 51 00 00       	call   0x40fbb1
40aa0c:	59                   	pop    %ecx
40aa0d:	80 3f 4d             	cmpb   $0x4d,(%edi)
40aa10:	75 19                	jne    0x40aa2b
40aa12:	80 7f 01 5a          	cmpb   $0x5a,0x1(%edi)
40aa16:	75 13                	jne    0x40aa2b
40aa18:	68 d0 19 05 00       	push   $0x519d0
40aa1d:	8b d7                	mov    %edi,%edx
40aa1f:	8d 8d d8 f3 ff ff    	lea    -0xc28(%ebp),%ecx
40aa25:	e8 87 51 00 00       	call   0x40fbb1
40aa2a:	59                   	pop    %ecx
40aa2b:	80 3e 4d             	cmpb   $0x4d,(%esi)
40aa2e:	75 19                	jne    0x40aa49
40aa30:	80 7e 01 5a          	cmpb   $0x5a,0x1(%esi)
40aa34:	75 13                	jne    0x40aa49
40aa36:	68 d0 03 13 00       	push   $0x1303d0
40aa3b:	8b d6                	mov    %esi,%edx
40aa3d:	8d 8d d8 f5 ff ff    	lea    -0xa28(%ebp),%ecx
40aa43:	e8 69 51 00 00       	call   0x40fbb1
40aa48:	59                   	pop    %ecx
40aa49:	8b 35 98 20 41 00    	mov    0x412098,%esi
40aa4f:	8d 85 d8 fb ff ff    	lea    -0x428(%ebp),%eax
40aa55:	50                   	push   %eax
40aa56:	ff d6                	call   *%esi
40aa58:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
40aa5e:	8d 85 d8 f9 ff ff    	lea    -0x628(%ebp),%eax
40aa64:	50                   	push   %eax
40aa65:	ff d6                	call   *%esi
40aa67:	89 83 bc 00 00 00    	mov    %eax,0xbc(%ebx)
40aa6d:	8d 85 d8 f7 ff ff    	lea    -0x828(%ebp),%eax
40aa73:	50                   	push   %eax
40aa74:	ff d6                	call   *%esi
40aa76:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
40aa7c:	8d 85 d8 f5 ff ff    	lea    -0xa28(%ebp),%eax
40aa82:	50                   	push   %eax
40aa83:	ff d6                	call   *%esi
40aa85:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
40aa8b:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40aa91:	50                   	push   %eax
40aa92:	ff d6                	call   *%esi
40aa94:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
40aa9a:	8d 85 d8 f3 ff ff    	lea    -0xc28(%ebp),%eax
40aaa0:	50                   	push   %eax
40aaa1:	ff d6                	call   *%esi
40aaa3:	6a 64                	push   $0x64
40aaa5:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
40aaab:	ff 15 e4 21 41 00    	call   *0x4121e4
40aab1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40aab4:	e8 ad 83 ff ff       	call   0x402e66
40aab9:	e9 1e 02 00 00       	jmp    0x40acdc
40aabe:	ff 75 08             	push   0x8(%ebp)
40aac1:	ff 15 d0 20 41 00    	call   *0x4120d0
40aac7:	68 44 26 41 00       	push   $0x412644
40aacc:	8d 4d 08             	lea    0x8(%ebp),%ecx
40aacf:	e8 c3 87 ff ff       	call   0x403297
40aad4:	8d 45 08             	lea    0x8(%ebp),%eax
40aad7:	50                   	push   %eax
40aad8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40aadb:	e8 7a 89 ff ff       	call   0x40345a
40aae0:	68 ac 2c 41 00       	push   $0x412cac
40aae5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40aae8:	e8 aa 87 ff ff       	call   0x403297
40aaed:	8d 45 08             	lea    0x8(%ebp),%eax
40aaf0:	50                   	push   %eax
40aaf1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40aaf4:	e8 61 89 ff ff       	call   0x40345a
40aaf9:	68 c0 2c 41 00       	push   $0x412cc0
40aafe:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40ab01:	e8 91 87 ff ff       	call   0x403297
40ab06:	8d 45 08             	lea    0x8(%ebp),%eax
40ab09:	50                   	push   %eax
40ab0a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ab0d:	e8 48 89 ff ff       	call   0x40345a
40ab12:	68 dc 2c 41 00       	push   $0x412cdc
40ab17:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ab1a:	e8 78 87 ff ff       	call   0x403297
40ab1f:	8d 45 08             	lea    0x8(%ebp),%eax
40ab22:	50                   	push   %eax
40ab23:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ab26:	e8 2f 89 ff ff       	call   0x40345a
40ab2b:	68 58 2c 41 00       	push   $0x412c58
40ab30:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ab33:	e8 5f 87 ff ff       	call   0x403297
40ab38:	8d 45 08             	lea    0x8(%ebp),%eax
40ab3b:	50                   	push   %eax
40ab3c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ab3f:	e8 16 89 ff ff       	call   0x40345a
40ab44:	68 20 2c 41 00       	push   $0x412c20
40ab49:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ab4c:	e8 46 87 ff ff       	call   0x403297
40ab51:	8d 45 08             	lea    0x8(%ebp),%eax
40ab54:	50                   	push   %eax
40ab55:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40ab58:	e8 fd 88 ff ff       	call   0x40345a
40ab5d:	68 70 2c 41 00       	push   $0x412c70
40ab62:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40ab65:	e8 2d 87 ff ff       	call   0x403297
40ab6a:	8d 45 08             	lea    0x8(%ebp),%eax
40ab6d:	50                   	push   %eax
40ab6e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40ab71:	e8 e4 88 ff ff       	call   0x40345a
40ab76:	68 f8 2c 41 00       	push   $0x412cf8
40ab7b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40ab7e:	e8 14 87 ff ff       	call   0x403297
40ab83:	8d 45 08             	lea    0x8(%ebp),%eax
40ab86:	50                   	push   %eax
40ab87:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ab8a:	e8 cb 88 ff ff       	call   0x40345a
40ab8f:	68 04 2d 41 00       	push   $0x412d04
40ab94:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ab97:	e8 fb 86 ff ff       	call   0x403297
40ab9c:	6a 5a                	push   $0x5a
40ab9e:	58                   	pop    %eax
40ab9f:	89 45 e0             	mov    %eax,-0x20(%ebp)
40aba2:	8b f8                	mov    %eax,%edi
40aba4:	8d 45 d8             	lea    -0x28(%ebp),%eax
40aba7:	50                   	push   %eax
40aba8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40abab:	e8 aa 88 ff ff       	call   0x40345a
40abb0:	68 10 2d 41 00       	push   $0x412d10
40abb5:	57                   	push   %edi
40abb6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40abb9:	e8 e1 84 ff ff       	call   0x40309f
40abbe:	8b c8                	mov    %eax,%ecx
40abc0:	e8 d2 86 ff ff       	call   0x403297
40abc5:	ff 75 0c             	push   0xc(%ebp)
40abc8:	ff 15 78 22 41 00    	call   *0x412278
40abce:	85 c0                	test   %eax,%eax
40abd0:	75 18                	jne    0x40abea
40abd2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40abd5:	83 c7 0a             	add    $0xa,%edi
40abd8:	e8 50 ae ff ff       	call   0x405a2d
40abdd:	89 75 0c             	mov    %esi,0xc(%ebp)
40abe0:	81 ff 96 00 00 00    	cmp    $0x96,%edi
40abe6:	75 bc                	jne    0x40aba4
40abe8:	eb 14                	jmp    0x40abfe
40abea:	8d 45 0c             	lea    0xc(%ebp),%eax
40abed:	50                   	push   %eax
40abee:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40abf1:	e8 6e 86 ff ff       	call   0x403264
40abf6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40abf9:	e8 2f ae ff ff       	call   0x405a2d
40abfe:	6a 5a                	push   $0x5a
40ac00:	5f                   	pop    %edi
40ac01:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ac04:	50                   	push   %eax
40ac05:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40ac08:	e8 4d 88 ff ff       	call   0x40345a
40ac0d:	68 10 2d 41 00       	push   $0x412d10
40ac12:	57                   	push   %edi
40ac13:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40ac16:	e8 84 84 ff ff       	call   0x40309f
40ac1b:	8b c8                	mov    %eax,%ecx
40ac1d:	e8 75 86 ff ff       	call   0x403297
40ac22:	ff 75 0c             	push   0xc(%ebp)
40ac25:	ff 15 78 22 41 00    	call   *0x412278
40ac2b:	85 c0                	test   %eax,%eax
40ac2d:	75 1c                	jne    0x40ac4b
40ac2f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ac32:	83 45 e0 0a          	addl   $0xa,-0x20(%ebp)
40ac36:	e8 f2 ad ff ff       	call   0x405a2d
40ac3b:	8b 7d e0             	mov    -0x20(%ebp),%edi
40ac3e:	89 75 0c             	mov    %esi,0xc(%ebp)
40ac41:	81 ff 96 00 00 00    	cmp    $0x96,%edi
40ac47:	75 b8                	jne    0x40ac01
40ac49:	eb 14                	jmp    0x40ac5f
40ac4b:	8d 45 0c             	lea    0xc(%ebp),%eax
40ac4e:	50                   	push   %eax
40ac4f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40ac52:	e8 0d 86 ff ff       	call   0x403264
40ac57:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ac5a:	e8 ce ad ff ff       	call   0x405a2d
40ac5f:	ff 75 e8             	push   -0x18(%ebp)
40ac62:	8b 35 98 20 41 00    	mov    0x412098,%esi
40ac68:	ff d6                	call   *%esi
40ac6a:	ff 75 f8             	push   -0x8(%ebp)
40ac6d:	89 83 bc 00 00 00    	mov    %eax,0xbc(%ebx)
40ac73:	ff d6                	call   *%esi
40ac75:	ff 75 fc             	push   -0x4(%ebp)
40ac78:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
40ac7e:	ff d6                	call   *%esi
40ac80:	ff 75 f4             	push   -0xc(%ebp)
40ac83:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
40ac89:	ff d6                	call   *%esi
40ac8b:	ff 75 f0             	push   -0x10(%ebp)
40ac8e:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
40ac94:	ff d6                	call   *%esi
40ac96:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ac99:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
40ac9f:	e8 89 ad ff ff       	call   0x405a2d
40aca4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40aca7:	e8 81 ad ff ff       	call   0x405a2d
40acac:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40acaf:	e8 79 ad ff ff       	call   0x405a2d
40acb4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40acb7:	e8 71 ad ff ff       	call   0x405a2d
40acbc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40acbf:	e8 69 ad ff ff       	call   0x405a2d
40acc4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40acc7:	e8 61 ad ff ff       	call   0x405a2d
40accc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40accf:	e8 59 ad ff ff       	call   0x405a2d
40acd4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40acd7:	e8 51 ad ff ff       	call   0x405a2d
40acdc:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
40ace2:	85 c9                	test   %ecx,%ecx
40ace4:	75 07                	jne    0x40aced
40ace6:	33 f6                	xor    %esi,%esi
40ace8:	e9 c0 00 00 00       	jmp    0x40adad
40aced:	51                   	push   %ecx
40acee:	ba 1c 2d 41 00       	mov    $0x412d1c,%edx
40acf3:	e8 0f 3c 00 00       	call   0x40e907
40acf8:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
40acfe:	ba 28 2d 41 00       	mov    $0x412d28,%edx
40ad03:	89 43 68             	mov    %eax,0x68(%ebx)
40ad06:	e8 fc 3b 00 00       	call   0x40e907
40ad0b:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
40ad11:	ba 40 2d 41 00       	mov    $0x412d40,%edx
40ad16:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
40ad1c:	e8 e6 3b 00 00       	call   0x40e907
40ad21:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
40ad27:	ba 54 2d 41 00       	mov    $0x412d54,%edx
40ad2c:	89 43 7c             	mov    %eax,0x7c(%ebx)
40ad2f:	e8 d3 3b 00 00       	call   0x40e907
40ad34:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
40ad3a:	ba 64 2d 41 00       	mov    $0x412d64,%edx