40e8c5:	0b f8                	or     %eax,%edi
40e8c7:	8d 46 38             	lea    0x38(%esi),%eax
40e8ca:	50                   	push   %eax
40e8cb:	6a 44                	push   $0x44
40e8cd:	ff 75 fc             	push   -0x4(%ebp)
40e8d0:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e8d3:	53                   	push   %ebx
40e8d4:	50                   	push   %eax
40e8d5:	e8 b5 eb ff ff       	call   0x40d48f
40e8da:	0b f8                	or     %eax,%edi
40e8dc:	8d 46 3c             	lea    0x3c(%esi),%eax
40e8df:	50                   	push   %eax
40e8e0:	6a 45                	push   $0x45
40e8e2:	ff 75 fc             	push   -0x4(%ebp)
40e8e5:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e8e8:	53                   	push   %ebx
40e8e9:	50                   	push   %eax
40e8ea:	e8 a0 eb ff ff       	call   0x40d48f
40e8ef:	83 c4 50             	add    $0x50,%esp
40e8f2:	0b f8                	or     %eax,%edi
40e8f4:	8d 46 40             	lea    0x40(%esi),%eax
40e8f7:	50                   	push   %eax
40e8f8:	6a 46                	push   $0x46
40e8fa:	ff 75 fc             	push   -0x4(%ebp)
40e8fd:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e900:	53                   	push   %ebx
40e901:	50                   	push   %eax
40e902:	e8 88 eb ff ff       	call   0x40d48f
40e907:	0b f8                	or     %eax,%edi
40e909:	8d 46 44             	lea    0x44(%esi),%eax
40e90c:	50                   	push   %eax
40e90d:	6a 47                	push   $0x47
40e90f:	ff 75 fc             	push   -0x4(%ebp)
40e912:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e915:	53                   	push   %ebx
40e916:	50                   	push   %eax
40e917:	e8 73 eb ff ff       	call   0x40d48f
40e91c:	0b f8                	or     %eax,%edi
40e91e:	8d 46 48             	lea    0x48(%esi),%eax
40e921:	50                   	push   %eax
40e922:	6a 48                	push   $0x48
40e924:	ff 75 fc             	push   -0x4(%ebp)
40e927:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e92a:	53                   	push   %ebx
40e92b:	50                   	push   %eax
40e92c:	e8 5e eb ff ff       	call   0x40d48f
40e931:	0b f8                	or     %eax,%edi
40e933:	8d 46 4c             	lea    0x4c(%esi),%eax
40e936:	50                   	push   %eax
40e937:	6a 49                	push   $0x49
40e939:	ff 75 fc             	push   -0x4(%ebp)
40e93c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e93f:	53                   	push   %ebx
40e940:	50                   	push   %eax
40e941:	e8 49 eb ff ff       	call   0x40d48f
40e946:	83 c4 50             	add    $0x50,%esp
40e949:	0b f8                	or     %eax,%edi
40e94b:	8d 46 50             	lea    0x50(%esi),%eax
40e94e:	50                   	push   %eax
40e94f:	6a 4a                	push   $0x4a
40e951:	ff 75 fc             	push   -0x4(%ebp)
40e954:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e957:	53                   	push   %ebx
40e958:	50                   	push   %eax
40e959:	e8 31 eb ff ff       	call   0x40d48f
40e95e:	0b f8                	or     %eax,%edi
40e960:	8d 46 54             	lea    0x54(%esi),%eax
40e963:	50                   	push   %eax
40e964:	6a 4b                	push   $0x4b
40e966:	ff 75 fc             	push   -0x4(%ebp)
40e969:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e96c:	53                   	push   %ebx
40e96d:	50                   	push   %eax
40e96e:	e8 1c eb ff ff       	call   0x40d48f
40e973:	0b f8                	or     %eax,%edi
40e975:	8d 46 58             	lea    0x58(%esi),%eax
40e978:	50                   	push   %eax
40e979:	6a 4c                	push   $0x4c
40e97b:	ff 75 fc             	push   -0x4(%ebp)
40e97e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e981:	53                   	push   %ebx
40e982:	50                   	push   %eax
40e983:	e8 07 eb ff ff       	call   0x40d48f
40e988:	0b f8                	or     %eax,%edi
40e98a:	8d 46 5c             	lea    0x5c(%esi),%eax
40e98d:	50                   	push   %eax
40e98e:	6a 4d                	push   $0x4d
40e990:	ff 75 fc             	push   -0x4(%ebp)
40e993:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e996:	53                   	push   %ebx
40e997:	50                   	push   %eax
40e998:	e8 f2 ea ff ff       	call   0x40d48f
40e99d:	83 c4 50             	add    $0x50,%esp
40e9a0:	0b f8                	or     %eax,%edi
40e9a2:	8d 46 60             	lea    0x60(%esi),%eax
40e9a5:	50                   	push   %eax
40e9a6:	6a 4e                	push   $0x4e
40e9a8:	ff 75 fc             	push   -0x4(%ebp)
40e9ab:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e9ae:	53                   	push   %ebx
40e9af:	50                   	push   %eax
40e9b0:	e8 da ea ff ff       	call   0x40d48f
40e9b5:	0b f8                	or     %eax,%edi
40e9b7:	8d 46 64             	lea    0x64(%esi),%eax
40e9ba:	50                   	push   %eax
40e9bb:	6a 4f                	push   $0x4f
40e9bd:	ff 75 fc             	push   -0x4(%ebp)
40e9c0:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e9c3:	53                   	push   %ebx
40e9c4:	50                   	push   %eax
40e9c5:	e8 c5 ea ff ff       	call   0x40d48f
40e9ca:	0b f8                	or     %eax,%edi
40e9cc:	8d 46 68             	lea    0x68(%esi),%eax
40e9cf:	50                   	push   %eax
40e9d0:	6a 38                	push   $0x38
40e9d2:	ff 75 fc             	push   -0x4(%ebp)
40e9d5:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e9d8:	53                   	push   %ebx
40e9d9:	50                   	push   %eax
40e9da:	e8 b0 ea ff ff       	call   0x40d48f
40e9df:	0b f8                	or     %eax,%edi
40e9e1:	8d 46 6c             	lea    0x6c(%esi),%eax
40e9e4:	50                   	push   %eax
40e9e5:	6a 39                	push   $0x39
40e9e7:	ff 75 fc             	push   -0x4(%ebp)
40e9ea:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e9ed:	53                   	push   %ebx
40e9ee:	50                   	push   %eax
40e9ef:	e8 9b ea ff ff       	call   0x40d48f
40e9f4:	83 c4 50             	add    $0x50,%esp
40e9f7:	0b f8                	or     %eax,%edi
40e9f9:	8d 46 70             	lea    0x70(%esi),%eax
40e9fc:	50                   	push   %eax
40e9fd:	6a 3a                	push   $0x3a
40e9ff:	ff 75 fc             	push   -0x4(%ebp)
40ea02:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea05:	53                   	push   %ebx
40ea06:	50                   	push   %eax
40ea07:	e8 83 ea ff ff       	call   0x40d48f
40ea0c:	0b f8                	or     %eax,%edi
40ea0e:	8d 46 74             	lea    0x74(%esi),%eax
40ea11:	50                   	push   %eax
40ea12:	6a 3b                	push   $0x3b
40ea14:	ff 75 fc             	push   -0x4(%ebp)
40ea17:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea1a:	53                   	push   %ebx
40ea1b:	50                   	push   %eax
40ea1c:	e8 6e ea ff ff       	call   0x40d48f
40ea21:	0b f8                	or     %eax,%edi
40ea23:	8d 46 78             	lea    0x78(%esi),%eax
40ea26:	50                   	push   %eax
40ea27:	6a 3c                	push   $0x3c
40ea29:	ff 75 fc             	push   -0x4(%ebp)
40ea2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea2f:	53                   	push   %ebx
40ea30:	50                   	push   %eax
40ea31:	e8 59 ea ff ff       	call   0x40d48f
40ea36:	0b f8                	or     %eax,%edi
40ea38:	8d 46 7c             	lea    0x7c(%esi),%eax
40ea3b:	50                   	push   %eax
40ea3c:	6a 3d                	push   $0x3d
40ea3e:	ff 75 fc             	push   -0x4(%ebp)
40ea41:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea44:	53                   	push   %ebx
40ea45:	50                   	push   %eax
40ea46:	e8 44 ea ff ff       	call   0x40d48f
40ea4b:	83 c4 50             	add    $0x50,%esp
40ea4e:	0b f8                	or     %eax,%edi
40ea50:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
40ea56:	50                   	push   %eax
40ea57:	6a 3e                	push   $0x3e
40ea59:	ff 75 fc             	push   -0x4(%ebp)
40ea5c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea5f:	53                   	push   %ebx
40ea60:	50                   	push   %eax
40ea61:	e8 29 ea ff ff       	call   0x40d48f
40ea66:	0b f8                	or     %eax,%edi
40ea68:	8d 86 84 00 00 00    	lea    0x84(%esi),%eax
40ea6e:	50                   	push   %eax
40ea6f:	6a 3f                	push   $0x3f
40ea71:	ff 75 fc             	push   -0x4(%ebp)
40ea74:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea77:	53                   	push   %ebx
40ea78:	50                   	push   %eax
40ea79:	e8 11 ea ff ff       	call   0x40d48f
40ea7e:	0b f8                	or     %eax,%edi
40ea80:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
40ea86:	50                   	push   %eax
40ea87:	6a 40                	push   $0x40
40ea89:	ff 75 fc             	push   -0x4(%ebp)
40ea8c:	53                   	push   %ebx
40ea8d:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea90:	50                   	push   %eax
40ea91:	e8 f9 e9 ff ff       	call   0x40d48f
40ea96:	0b f8                	or     %eax,%edi
40ea98:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
40ea9e:	50                   	push   %eax
40ea9f:	6a 41                	push   $0x41
40eaa1:	ff 75 fc             	push   -0x4(%ebp)
40eaa4:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eaa7:	53                   	push   %ebx
40eaa8:	50                   	push   %eax
40eaa9:	e8 e1 e9 ff ff       	call   0x40d48f
40eaae:	83 c4 50             	add    $0x50,%esp
40eab1:	0b f8                	or     %eax,%edi
40eab3:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
40eab9:	50                   	push   %eax
40eaba:	6a 42                	push   $0x42
40eabc:	ff 75 fc             	push   -0x4(%ebp)
40eabf:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eac2:	53                   	push   %ebx
40eac3:	50                   	push   %eax
40eac4:	e8 c6 e9 ff ff       	call   0x40d48f
40eac9:	0b f8                	or     %eax,%edi
40eacb:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
40ead1:	50                   	push   %eax
40ead2:	6a 43                	push   $0x43
40ead4:	ff 75 fc             	push   -0x4(%ebp)
40ead7:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eada:	53                   	push   %ebx
40eadb:	50                   	push   %eax
40eadc:	e8 ae e9 ff ff       	call   0x40d48f
40eae1:	0b f8                	or     %eax,%edi
40eae3:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
40eae9:	50                   	push   %eax
40eaea:	6a 28                	push   $0x28
40eaec:	ff 75 fc             	push   -0x4(%ebp)
40eaef:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eaf2:	53                   	push   %ebx
40eaf3:	50                   	push   %eax
40eaf4:	e8 96 e9 ff ff       	call   0x40d48f
40eaf9:	0b f8                	or     %eax,%edi
40eafb:	8d 86 9c 00 00 00    	lea    0x9c(%esi),%eax
40eb01:	50                   	push   %eax
40eb02:	6a 29                	push   $0x29
40eb04:	ff 75 fc             	push   -0x4(%ebp)
40eb07:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb0a:	53                   	push   %ebx
40eb0b:	50                   	push   %eax
40eb0c:	e8 7e e9 ff ff       	call   0x40d48f
40eb11:	83 c4 50             	add    $0x50,%esp
40eb14:	0b f8                	or     %eax,%edi
40eb16:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
40eb1c:	50                   	push   %eax
40eb1d:	6a 1f                	push   $0x1f
40eb1f:	ff 75 f8             	push   -0x8(%ebp)
40eb22:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb25:	53                   	push   %ebx
40eb26:	50                   	push   %eax
40eb27:	e8 63 e9 ff ff       	call   0x40d48f
40eb2c:	0b f8                	or     %eax,%edi
40eb2e:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
40eb34:	50                   	push   %eax
40eb35:	6a 20                	push   $0x20
40eb37:	ff 75 f8             	push   -0x8(%ebp)
40eb3a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb3d:	53                   	push   %ebx
40eb3e:	50                   	push   %eax
40eb3f:	e8 4b e9 ff ff       	call   0x40d48f
40eb44:	0b f8                	or     %eax,%edi
40eb46:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
40eb4c:	50                   	push   %eax
40eb4d:	68 03 10 00 00       	push   $0x1003
40eb52:	ff 75 f8             	push   -0x8(%ebp)
40eb55:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb58:	53                   	push   %ebx
40eb59:	50                   	push   %eax
40eb5a:	e8 30 e9 ff ff       	call   0x40d48f
40eb5f:	0b f8                	or     %eax,%edi
40eb61:	8d 86 b0 00 00 00    	lea    0xb0(%esi),%eax
40eb67:	50                   	push   %eax
40eb68:	68 09 10 00 00       	push   $0x1009
40eb6d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40eb70:	53                   	push   %ebx
40eb71:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb74:	6a 00                	push   $0x0
40eb76:	50                   	push   %eax
40eb77:	e8 13 e9 ff ff       	call   0x40d48f
40eb7c:	83 c4 50             	add    $0x50,%esp
40eb7f:	0b f8                	or     %eax,%edi
40eb81:	8b c7                	mov    %edi,%eax
40eb83:	5f                   	pop    %edi
40eb84:	89 9e ac 00 00 00    	mov    %ebx,0xac(%esi)
40eb8a:	5b                   	pop    %ebx
40eb8b:	c9                   	leave
40eb8c:	c3                   	ret
40eb8d:	8b ff                	mov    %edi,%edi
40eb8f:	55                   	push   %ebp
40eb90:	8b ec                	mov    %esp,%ebp
40eb92:	56                   	push   %esi
40eb93:	8b 75 08             	mov    0x8(%ebp),%esi
40eb96:	85 f6                	test   %esi,%esi
40eb98:	0f 84 81 01 00 00    	je     0x40ed1f
40eb9e:	ff 76 04             	push   0x4(%esi)
40eba1:	e8 7a 64 ff ff       	call   0x405020
40eba6:	ff 76 08             	push   0x8(%esi)
40eba9:	e8 72 64 ff ff       	call   0x405020
40ebae:	ff 76 0c             	push   0xc(%esi)
40ebb1:	e8 6a 64 ff ff       	call   0x405020
40ebb6:	ff 76 10             	push   0x10(%esi)
40ebb9:	e8 62 64 ff ff       	call   0x405020
40ebbe:	ff 76 14             	push   0x14(%esi)
40ebc1:	e8 5a 64 ff ff       	call   0x405020
40ebc6:	ff 76 18             	push   0x18(%esi)
40ebc9:	e8 52 64 ff ff       	call   0x405020
40ebce:	ff 36                	push   (%esi)
40ebd0:	e8 4b 64 ff ff       	call   0x405020
40ebd5:	ff 76 20             	push   0x20(%esi)
40ebd8:	e8 43 64 ff ff       	call   0x405020
40ebdd:	ff 76 24             	push   0x24(%esi)
40ebe0:	e8 3b 64 ff ff       	call   0x405020
40ebe5:	ff 76 28             	push   0x28(%esi)
40ebe8:	e8 33 64 ff ff       	call   0x405020
40ebed:	ff 76 2c             	push   0x2c(%esi)
40ebf0:	e8 2b 64 ff ff       	call   0x405020
40ebf5:	ff 76 30             	push   0x30(%esi)
40ebf8:	e8 23 64 ff ff       	call   0x405020
40ebfd:	ff 76 34             	push   0x34(%esi)
40ec00:	e8 1b 64 ff ff       	call   0x405020
40ec05:	ff 76 1c             	push   0x1c(%esi)
40ec08:	e8 13 64 ff ff       	call   0x405020
40ec0d:	ff 76 38             	push   0x38(%esi)
40ec10:	e8 0b 64 ff ff       	call   0x405020
40ec15:	ff 76 3c             	push   0x3c(%esi)
40ec18:	e8 03 64 ff ff       	call   0x405020
40ec1d:	83 c4 40             	add    $0x40,%esp
40ec20:	ff 76 40             	push   0x40(%esi)
40ec23:	e8 f8 63 ff ff       	call   0x405020
40ec28:	ff 76 44             	push   0x44(%esi)
40ec2b:	e8 f0 63 ff ff       	call   0x405020
40ec30:	ff 76 48             	push   0x48(%esi)
40ec33:	e8 e8 63 ff ff       	call   0x405020
40ec38:	ff 76 4c             	push   0x4c(%esi)
40ec3b:	e8 e0 63 ff ff       	call   0x405020
40ec40:	ff 76 50             	push   0x50(%esi)
40ec43:	e8 d8 63 ff ff       	call   0x405020
40ec48:	ff 76 54             	push   0x54(%esi)
40ec4b:	e8 d0 63 ff ff       	call   0x405020
40ec50:	ff 76 58             	push   0x58(%esi)
40ec53:	e8 c8 63 ff ff       	call   0x405020
40ec58:	ff 76 5c             	push   0x5c(%esi)
40ec5b:	e8 c0 63 ff ff       	call   0x405020
40ec60:	ff 76 60             	push   0x60(%esi)
40ec63:	e8 b8 63 ff ff       	call   0x405020
40ec68:	ff 76 64             	push   0x64(%esi)
40ec6b:	e8 b0 63 ff ff       	call   0x405020
40ec70:	ff 76 68             	push   0x68(%esi)
40ec73:	e8 a8 63 ff ff       	call   0x405020
40ec78:	ff 76 6c             	push   0x6c(%esi)
40ec7b:	e8 a0 63 ff ff       	call   0x405020