40de67:	5e                   	pop    %esi
40de68:	5d                   	pop    %ebp
40de69:	c2 0c 00             	ret    $0xc
40de6c:	56                   	push   %esi
40de6d:	8b f1                	mov    %ecx,%esi
40de6f:	51                   	push   %ecx
40de70:	83 66 04 00          	andl   $0x0,0x4(%esi)
40de74:	8d 4e 0c             	lea    0xc(%esi),%ecx
40de77:	e8 ba 03 00 00       	call   0x40e236
40de7c:	83 26 00             	andl   $0x0,(%esi)
40de7f:	8b c6                	mov    %esi,%eax
40de81:	83 66 08 00          	andl   $0x0,0x8(%esi)
40de85:	5e                   	pop    %esi
40de86:	c3                   	ret
40de87:	8b 41 14             	mov    0x14(%ecx),%eax
40de8a:	c3                   	ret
40de8b:	56                   	push   %esi
40de8c:	8b f1                	mov    %ecx,%esi
40de8e:	e8 30 02 00 00       	call   0x40e0c3
40de93:	8d 4e 0c             	lea    0xc(%esi),%ecx
40de96:	e8 86 03 00 00       	call   0x40e221
40de9b:	8b 4e 04             	mov    0x4(%esi),%ecx
40de9e:	e8 8a 7b ff ff       	call   0x405a2d
40dea3:	83 66 04 00          	andl   $0x0,0x4(%esi)
40dea7:	5e                   	pop    %esi
40dea8:	c3                   	ret
40dea9:	55                   	push   %ebp
40deaa:	8b ec                	mov    %esp,%ebp
40deac:	56                   	push   %esi
40dead:	ff 75 08             	push   0x8(%ebp)
40deb0:	ff 15 dc 21 41 00    	call   *0x4121dc
40deb6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40deb9:	8b f0                	mov    %eax,%esi
40debb:	e8 6d 7b ff ff       	call   0x405a2d
40dec0:	8b c6                	mov    %esi,%eax
40dec2:	5e                   	pop    %esi
40dec3:	5d                   	pop    %ebp
40dec4:	c3                   	ret
40dec5:	55                   	push   %ebp
40dec6:	8b ec                	mov    %esp,%ebp
40dec8:	81 ec 88 02 00 00    	sub    $0x288,%esp
40dece:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40ded2:	53                   	push   %ebx
40ded3:	56                   	push   %esi
40ded4:	57                   	push   %edi
40ded5:	6a 05                	push   $0x5
40ded7:	58                   	pop    %eax
40ded8:	8b f9                	mov    %ecx,%edi
40deda:	89 45 f4             	mov    %eax,-0xc(%ebp)
40dedd:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40dee0:	89 45 ec             	mov    %eax,-0x14(%ebp)
40dee3:	e8 2d 39 ff ff       	call   0x401815
40dee8:	8d 85 7c fd ff ff    	lea    -0x284(%ebp),%eax
40deee:	50                   	push   %eax
40deef:	ff 75 08             	push   0x8(%ebp)
40def2:	ff 15 20 21 41 00    	call   *0x412120
40def8:	8b d8                	mov    %eax,%ebx
40defa:	83 fb ff             	cmp    $0xffffffff,%ebx
40defd:	e9 9a 00 00 00       	jmp    0x40df9c
40df02:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
40df06:	f6 85 7c fd ff ff 10 	testb  $0x10,-0x284(%ebp)
40df0d:	74 11                	je     0x40df20
40df0f:	0f 57 c0             	xorps  %xmm0,%xmm0
40df12:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
40df19:	66 0f 13 45 d4       	movlpd %xmm0,-0x2c(%ebp)
40df1e:	eb 16                	jmp    0x40df36
40df20:	8b 85 9c fd ff ff    	mov    -0x264(%ebp),%eax
40df26:	8b 8d 98 fd ff ff    	mov    -0x268(%ebp),%ecx
40df2c:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
40df30:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40df33:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40df36:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
40df3c:	50                   	push   %eax
40df3d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40df40:	e8 cd 54 ff ff       	call   0x403412
40df45:	50                   	push   %eax
40df46:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40df49:	e8 16 53 ff ff       	call   0x403264
40df4e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40df51:	e8 d7 7a ff ff       	call   0x405a2d
40df56:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40df5a:	8d 45 cc             	lea    -0x34(%ebp),%eax
40df5d:	83 ec 18             	sub    $0x18,%esp
40df60:	8b f4                	mov    %esp,%esi
40df62:	8b ce                	mov    %esi,%ecx
40df64:	50                   	push   %eax
40df65:	e8 f0 54 ff ff       	call   0x40345a
40df6a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40df6d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40df70:	89 46 08             	mov    %eax,0x8(%esi)
40df73:	8b 45 d8             	mov    -0x28(%ebp),%eax
40df76:	89 46 0c             	mov    %eax,0xc(%esi)
40df79:	8b 45 dc             	mov    -0x24(%ebp),%eax
40df7c:	89 46 10             	mov    %eax,0x10(%esi)
40df7f:	e8 92 37 ff ff       	call   0x401716
40df84:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40df87:	e8 a1 7a ff ff       	call   0x405a2d
40df8c:	8d 85 7c fd ff ff    	lea    -0x284(%ebp),%eax
40df92:	50                   	push   %eax
40df93:	53                   	push   %ebx
40df94:	ff 15 24 21 41 00    	call   *0x412124
40df9a:	85 c0                	test   %eax,%eax
40df9c:	0f 85 60 ff ff ff    	jne    0x40df02
40dfa2:	8d 45 e8             	lea    -0x18(%ebp),%eax
40dfa5:	8b cf                	mov    %edi,%ecx
40dfa7:	50                   	push   %eax
40dfa8:	e8 54 33 ff ff       	call   0x401301
40dfad:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40dfb0:	85 c9                	test   %ecx,%ecx
40dfb2:	74 06                	je     0x40dfba
40dfb4:	51                   	push   %ecx
40dfb5:	e8 bb 3a ff ff       	call   0x401a75
40dfba:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dfbd:	e8 6b 7a ff ff       	call   0x405a2d
40dfc2:	8b c7                	mov    %edi,%eax
40dfc4:	5f                   	pop    %edi
40dfc5:	5e                   	pop    %esi
40dfc6:	5b                   	pop    %ebx
40dfc7:	c9                   	leave
40dfc8:	c3                   	ret
40dfc9:	55                   	push   %ebp
40dfca:	8b ec                	mov    %esp,%ebp
40dfcc:	83 ec 24             	sub    $0x24,%esp
40dfcf:	53                   	push   %ebx
40dfd0:	56                   	push   %esi
40dfd1:	57                   	push   %edi
40dfd2:	8b f9                	mov    %ecx,%edi
40dfd4:	b9 08 02 00 00       	mov    $0x208,%ecx
40dfd9:	89 7d f8             	mov    %edi,-0x8(%ebp)
40dfdc:	e8 fa 7a ff ff       	call   0x405adb
40dfe1:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40dfe5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40dfe8:	6a 05                	push   $0x5
40dfea:	8b d8                	mov    %eax,%ebx
40dfec:	58                   	pop    %eax
40dfed:	89 45 e8             	mov    %eax,-0x18(%ebp)
40dff0:	89 45 e0             	mov    %eax,-0x20(%ebp)
40dff3:	e8 9e 39 ff ff       	call   0x401996
40dff8:	53                   	push   %ebx
40dff9:	68 04 01 00 00       	push   $0x104
40dffe:	ff 15 2c 21 41 00    	call   *0x41212c
40e004:	8b f0                	mov    %eax,%esi
40e006:	81 fe 04 01 00 00    	cmp    $0x104,%esi
40e00c:	76 1d                	jbe    0x40e02b
40e00e:	33 c9                	xor    %ecx,%ecx
40e010:	6a 02                	push   $0x2
40e012:	5a                   	pop    %edx
40e013:	f7 e2                	mul    %edx
40e015:	0f 90 c1             	seto   %cl
40e018:	f7 d9                	neg    %ecx
40e01a:	0b c8                	or     %eax,%ecx
40e01c:	e8 ba 7a ff ff       	call   0x405adb
40e021:	8b d8                	mov    %eax,%ebx
40e023:	53                   	push   %ebx
40e024:	56                   	push   %esi
40e025:	ff 15 2c 21 41 00    	call   *0x41212c
40e02b:	33 f6                	xor    %esi,%esi
40e02d:	66 39 33             	cmp    %si,(%ebx)
40e030:	74 72                	je     0x40e0a4
40e032:	53                   	push   %ebx
40e033:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e036:	89 75 ec             	mov    %esi,-0x14(%ebp)
40e039:	e8 d4 53 ff ff       	call   0x403412
40e03e:	50                   	push   %eax
40e03f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40e042:	e8 1d 52 ff ff       	call   0x403264
40e047:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e04a:	e8 de 79 ff ff       	call   0x405a2d
40e04f:	ff 75 ec             	push   -0x14(%ebp)
40e052:	89 75 fc             	mov    %esi,-0x4(%ebp)
40e055:	ff 15 38 21 41 00    	call   *0x412138
40e05b:	83 ec 0c             	sub    $0xc,%esp
40e05e:	8b f8                	mov    %eax,%edi
40e060:	8b f4                	mov    %esp,%esi
40e062:	89 7d f0             	mov    %edi,-0x10(%ebp)
40e065:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e068:	8b ce                	mov    %esi,%ecx
40e06a:	50                   	push   %eax
40e06b:	e8 ea 53 ff ff       	call   0x40345a
40e070:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e073:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40e076:	89 7e 04             	mov    %edi,0x4(%esi)
40e079:	89 46 08             	mov    %eax,0x8(%esi)
40e07c:	e8 22 38 ff ff       	call   0x4018a3
40e081:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40e084:	e8 05 50 ff ff       	call   0x40308e
40e089:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e08c:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
40e08f:	83 c3 02             	add    $0x2,%ebx
40e092:	e8 96 79 ff ff       	call   0x405a2d
40e097:	33 f6                	xor    %esi,%esi
40e099:	89 75 ec             	mov    %esi,-0x14(%ebp)
40e09c:	66 39 33             	cmp    %si,(%ebx)
40e09f:	75 91                	jne    0x40e032
40e0a1:	8b 7d f8             	mov    -0x8(%ebp),%edi
40e0a4:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e0a7:	8b cf                	mov    %edi,%ecx
40e0a9:	50                   	push   %eax
40e0aa:	e8 99 32 ff ff       	call   0x401348
40e0af:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40e0b2:	85 c9                	test   %ecx,%ecx
40e0b4:	74 06                	je     0x40e0bc
40e0b6:	51                   	push   %ecx
40e0b7:	e8 e4 39 ff ff       	call   0x401aa0
40e0bc:	8b c7                	mov    %edi,%eax
40e0be:	5f                   	pop    %edi
40e0bf:	5e                   	pop    %esi
40e0c0:	5b                   	pop    %ebx
40e0c1:	c9                   	leave
40e0c2:	c3                   	ret
40e0c3:	56                   	push   %esi
40e0c4:	8b f1                	mov    %ecx,%esi
40e0c6:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40e0ca:	74 0d                	je     0x40e0d9
40e0cc:	ff 76 08             	push   0x8(%esi)
40e0cf:	ff 15 00 22 41 00    	call   *0x412200
40e0d5:	83 66 08 00          	andl   $0x0,0x8(%esi)
40e0d9:	5e                   	pop    %esi
40e0da:	c3                   	ret
40e0db:	55                   	push   %ebp
40e0dc:	8b ec                	mov    %esp,%ebp
40e0de:	51                   	push   %ecx
40e0df:	53                   	push   %ebx
40e0e0:	56                   	push   %esi
40e0e1:	8b f1                	mov    %ecx,%esi
40e0e3:	33 db                	xor    %ebx,%ebx
40e0e5:	57                   	push   %edi
40e0e6:	39 1e                	cmp    %ebx,(%esi)
40e0e8:	74 08                	je     0x40e0f2
40e0ea:	8d 4e 0c             	lea    0xc(%esi),%ecx
40e0ed:	e8 1b 01 00 00       	call   0x40e20d
40e0f2:	6a 02                	push   $0x2
40e0f4:	53                   	push   %ebx
40e0f5:	53                   	push   %ebx
40e0f6:	ff 76 08             	push   0x8(%esi)
40e0f9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e0fc:	ff 15 28 21 41 00    	call   *0x412128
40e102:	8b 45 08             	mov    0x8(%ebp),%eax
40e105:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e108:	53                   	push   %ebx
40e109:	51                   	push   %ecx
40e10a:	ff 70 04             	push   0x4(%eax)
40e10d:	ff 30                	push   (%eax)
40e10f:	ff 76 08             	push   0x8(%esi)
40e112:	ff 15 90 20 41 00    	call   *0x412090
40e118:	8b f8                	mov    %eax,%edi
40e11a:	39 1e                	cmp    %ebx,(%esi)
40e11c:	74 09                	je     0x40e127
40e11e:	ff 76 0c             	push   0xc(%esi)
40e121:	ff 15 50 21 41 00    	call   *0x412150
40e127:	8b c7                	mov    %edi,%eax
40e129:	5f                   	pop    %edi
40e12a:	5e                   	pop    %esi
40e12b:	5b                   	pop    %ebx
40e12c:	c9                   	leave
40e12d:	c2 08 00             	ret    $0x8
40e130:	55                   	push   %ebp
40e131:	8b ec                	mov    %esp,%ebp
40e133:	56                   	push   %esi
40e134:	57                   	push   %edi
40e135:	33 ff                	xor    %edi,%edi
40e137:	8b f1                	mov    %ecx,%esi
40e139:	57                   	push   %edi
40e13a:	57                   	push   %edi
40e13b:	6a 03                	push   $0x3
40e13d:	57                   	push   %edi
40e13e:	6a 01                	push   $0x1
40e140:	ff 75 08             	push   0x8(%ebp)
40e143:	ff 76 04             	push   0x4(%esi)
40e146:	ff 15 94 20 41 00    	call   *0x412094
40e14c:	89 46 08             	mov    %eax,0x8(%esi)
40e14f:	83 f8 ff             	cmp    $0xffffffff,%eax
40e152:	74 10                	je     0x40e164
40e154:	57                   	push   %edi
40e155:	50                   	push   %eax
40e156:	ff 15 d8 20 41 00    	call   *0x4120d8
40e15c:	89 46 14             	mov    %eax,0x14(%esi)
40e15f:	33 c0                	xor    %eax,%eax
40e161:	40                   	inc    %eax
40e162:	eb 05                	jmp    0x40e169
40e164:	89 7e 08             	mov    %edi,0x8(%esi)
40e167:	33 c0                	xor    %eax,%eax
40e169:	5f                   	pop    %edi
40e16a:	5e                   	pop    %esi
40e16b:	5d                   	pop    %ebp
40e16c:	c2 08 00             	ret    $0x8
40e16f:	56                   	push   %esi
40e170:	57                   	push   %edi
40e171:	33 ff                	xor    %edi,%edi
40e173:	8b f1                	mov    %ecx,%esi
40e175:	57                   	push   %edi
40e176:	57                   	push   %edi
40e177:	6a 02                	push   $0x2
40e179:	57                   	push   %edi
40e17a:	6a 01                	push   $0x1
40e17c:	68 00 00 00 40       	push   $0x40000000
40e181:	ff 76 04             	push   0x4(%esi)
40e184:	ff 15 94 20 41 00    	call   *0x412094
40e18a:	89 46 08             	mov    %eax,0x8(%esi)
40e18d:	83 f8 ff             	cmp    $0xffffffff,%eax
40e190:	75 07                	jne    0x40e199
40e192:	89 7e 08             	mov    %edi,0x8(%esi)
40e195:	33 c0                	xor    %eax,%eax
40e197:	eb 03                	jmp    0x40e19c
40e199:	33 c0                	xor    %eax,%eax
40e19b:	40                   	inc    %eax
40e19c:	5f                   	pop    %edi
40e19d:	5e                   	pop    %esi
40e19e:	c2 08 00             	ret    $0x8
40e1a1:	55                   	push   %ebp
40e1a2:	8b ec                	mov    %esp,%ebp
40e1a4:	56                   	push   %esi
40e1a5:	57                   	push   %edi
40e1a6:	8b f9                	mov    %ecx,%edi
40e1a8:	51                   	push   %ecx
40e1a9:	83 67 04 00          	andl   $0x0,0x4(%edi)
40e1ad:	8d 4f 0c             	lea    0xc(%edi),%ecx
40e1b0:	e8 81 00 00 00       	call   0x40e236
40e1b5:	8d 45 08             	lea    0x8(%ebp),%eax
40e1b8:	50                   	push   %eax
40e1b9:	8d 4f 04             	lea    0x4(%edi),%ecx
40e1bc:	e8 a3 50 ff ff       	call   0x403264
40e1c1:	8b 45 0c             	mov    0xc(%ebp),%eax
40e1c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e1c7:	83 67 08 00          	andl   $0x0,0x8(%edi)
40e1cb:	83 67 14 00          	andl   $0x0,0x14(%edi)
40e1cf:	89 07                	mov    %eax,(%edi)
40e1d1:	e8 57 78 ff ff       	call   0x405a2d
40e1d6:	8b c7                	mov    %edi,%eax
40e1d8:	5f                   	pop    %edi
40e1d9:	5e                   	pop    %esi
40e1da:	5d                   	pop    %ebp
40e1db:	c2 08 00             	ret    $0x8
40e1de:	51                   	push   %ecx
40e1df:	ff 15 40 21 41 00    	call   *0x412140
40e1e5:	c3                   	ret
40e1e6:	51                   	push   %ecx
40e1e7:	ff 15 3c 21 41 00    	call   *0x41213c
40e1ed:	c3                   	ret
40e1ee:	51                   	push   %ecx
40e1ef:	ff 15 48 21 41 00    	call   *0x412148
40e1f5:	c3                   	ret
40e1f6:	56                   	push   %esi
40e1f7:	8b f1                	mov    %ecx,%esi
40e1f9:	56                   	push   %esi
40e1fa:	ff 15 44 21 41 00    	call   *0x412144
40e200:	8b c6                	mov    %esi,%eax
40e202:	5e                   	pop    %esi
40e203:	c3                   	ret
40e204:	ff 31                	push   (%ecx)