408f72:	e8 db 80 ff ff       	call   0x401052
408f77:	56                   	push   %esi
408f78:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
408f7e:	57                   	push   %edi
408f7f:	50                   	push   %eax
408f80:	e8 cd 80 ff ff       	call   0x401052
408f85:	56                   	push   %esi
408f86:	8d 85 d0 fc ff ff    	lea    -0x330(%ebp),%eax
408f8c:	57                   	push   %edi
408f8d:	50                   	push   %eax
408f8e:	e8 bf 80 ff ff       	call   0x401052
408f93:	ff 75 fc             	push   -0x4(%ebp)
408f96:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
408f9c:	57                   	push   %edi
408f9d:	50                   	push   %eax
408f9e:	e8 af 80 ff ff       	call   0x401052
408fa3:	8b 75 08             	mov    0x8(%ebp),%esi
408fa6:	8d 45 fc             	lea    -0x4(%ebp),%eax
408fa9:	83 c4 30             	add    $0x30,%esp
408fac:	50                   	push   %eax
408fad:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
408fb3:	50                   	push   %eax
408fb4:	57                   	push   %edi
408fb5:	57                   	push   %edi
408fb6:	8b 3d 18 20 41 00    	mov    0x412018,%edi
408fbc:	68 78 2f 41 00       	push   $0x412f78
408fc1:	56                   	push   %esi
408fc2:	ff d7                	call   *%edi
408fc4:	85 c0                	test   %eax,%eax
408fc6:	75 0f                	jne    0x408fd7
408fc8:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
408fce:	50                   	push   %eax
408fcf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408fd2:	e8 55 a1 ff ff       	call   0x40312c
408fd7:	68 00 10 00 00       	push   $0x1000
408fdc:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
408fe2:	c7 45 fc 00 10 00 00 	movl   $0x1000,-0x4(%ebp)
408fe9:	6a 00                	push   $0x0
408feb:	50                   	push   %eax
408fec:	e8 61 80 ff ff       	call   0x401052
408ff1:	83 c4 0c             	add    $0xc,%esp
408ff4:	8d 45 fc             	lea    -0x4(%ebp),%eax
408ff7:	50                   	push   %eax
408ff8:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
408ffe:	50                   	push   %eax
408fff:	6a 00                	push   $0x0
409001:	6a 00                	push   $0x0
409003:	68 94 2f 41 00       	push   $0x412f94
409008:	56                   	push   %esi
409009:	ff d7                	call   *%edi
40900b:	85 c0                	test   %eax,%eax
40900d:	75 0f                	jne    0x40901e
40900f:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409015:	50                   	push   %eax
409016:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409019:	e8 0e a1 ff ff       	call   0x40312c
40901e:	b8 00 10 00 00       	mov    $0x1000,%eax
409023:	50                   	push   %eax
409024:	89 45 fc             	mov    %eax,-0x4(%ebp)
409027:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
40902d:	6a 00                	push   $0x0
40902f:	50                   	push   %eax
409030:	e8 1d 80 ff ff       	call   0x401052
409035:	83 c4 0c             	add    $0xc,%esp
409038:	8d 45 fc             	lea    -0x4(%ebp),%eax
40903b:	50                   	push   %eax
40903c:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409042:	50                   	push   %eax
409043:	6a 00                	push   $0x0
409045:	6a 00                	push   $0x0
409047:	68 a0 2f 41 00       	push   $0x412fa0
40904c:	56                   	push   %esi
40904d:	ff d7                	call   *%edi
40904f:	85 c0                	test   %eax,%eax
409051:	75 0f                	jne    0x409062
409053:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409059:	50                   	push   %eax
40905a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40905d:	e8 ca a0 ff ff       	call   0x40312c
409062:	b8 00 10 00 00       	mov    $0x1000,%eax
409067:	50                   	push   %eax
409068:	89 45 fc             	mov    %eax,-0x4(%ebp)
40906b:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409071:	6a 00                	push   $0x0
409073:	50                   	push   %eax
409074:	e8 d9 7f ff ff       	call   0x401052
409079:	83 c4 0c             	add    $0xc,%esp
40907c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40907f:	50                   	push   %eax
409080:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409086:	50                   	push   %eax
409087:	6a 00                	push   $0x0
409089:	6a 00                	push   $0x0
40908b:	68 b8 2f 41 00       	push   $0x412fb8
409090:	56                   	push   %esi
409091:	ff d7                	call   *%edi
409093:	85 c0                	test   %eax,%eax
409095:	75 0f                	jne    0x4090a6
409097:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
40909d:	50                   	push   %eax
40909e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4090a1:	e8 86 a0 ff ff       	call   0x40312c
4090a6:	b8 00 10 00 00       	mov    $0x1000,%eax
4090ab:	50                   	push   %eax
4090ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090af:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4090b5:	6a 00                	push   $0x0
4090b7:	50                   	push   %eax
4090b8:	e8 95 7f ff ff       	call   0x401052
4090bd:	83 c4 0c             	add    $0xc,%esp
4090c0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4090c3:	50                   	push   %eax
4090c4:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4090ca:	50                   	push   %eax
4090cb:	6a 00                	push   $0x0
4090cd:	6a 00                	push   $0x0
4090cf:	68 cc 2f 41 00       	push   $0x412fcc
4090d4:	56                   	push   %esi
4090d5:	ff d7                	call   *%edi
4090d7:	85 c0                	test   %eax,%eax
4090d9:	75 0f                	jne    0x4090ea
4090db:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4090e1:	50                   	push   %eax
4090e2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4090e5:	e8 42 a0 ff ff       	call   0x40312c
4090ea:	b8 00 10 00 00       	mov    $0x1000,%eax
4090ef:	50                   	push   %eax
4090f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090f3:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4090f9:	6a 00                	push   $0x0
4090fb:	50                   	push   %eax
4090fc:	e8 51 7f ff ff       	call   0x401052
409101:	83 c4 0c             	add    $0xc,%esp
409104:	8d 45 fc             	lea    -0x4(%ebp),%eax
409107:	50                   	push   %eax
409108:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
40910e:	50                   	push   %eax
40910f:	6a 00                	push   $0x0
409111:	6a 00                	push   $0x0
409113:	68 e4 2f 41 00       	push   $0x412fe4
409118:	56                   	push   %esi
409119:	ff d7                	call   *%edi
40911b:	85 c0                	test   %eax,%eax
40911d:	75 38                	jne    0x409157
40911f:	68 00 10 00 00       	push   $0x1000
409124:	50                   	push   %eax
409125:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
40912b:	50                   	push   %eax
40912c:	e8 21 7f ff ff       	call   0x401052
409131:	ff 75 fc             	push   -0x4(%ebp)
409134:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
40913a:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
409140:	e8 93 01 00 00       	call   0x4092d8
409145:	83 c4 10             	add    $0x10,%esp
409148:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
40914e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409151:	50                   	push   %eax
409152:	e8 d5 9f ff ff       	call   0x40312c
409157:	b8 00 10 00 00       	mov    $0x1000,%eax
40915c:	50                   	push   %eax
40915d:	89 45 fc             	mov    %eax,-0x4(%ebp)
409160:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409166:	6a 00                	push   $0x0
409168:	50                   	push   %eax
409169:	e8 e4 7e ff ff       	call   0x401052
40916e:	83 c4 0c             	add    $0xc,%esp
409171:	8d 45 fc             	lea    -0x4(%ebp),%eax
409174:	50                   	push   %eax
409175:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
40917b:	50                   	push   %eax
40917c:	6a 00                	push   $0x0
40917e:	6a 00                	push   $0x0
409180:	68 00 30 41 00       	push   $0x413000
409185:	56                   	push   %esi
409186:	ff d7                	call   *%edi
409188:	85 c0                	test   %eax,%eax
40918a:	75 38                	jne    0x4091c4
40918c:	68 00 10 00 00       	push   $0x1000
409191:	50                   	push   %eax
409192:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409198:	50                   	push   %eax
409199:	e8 b4 7e ff ff       	call   0x401052
40919e:	ff 75 fc             	push   -0x4(%ebp)
4091a1:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
4091a7:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
4091ad:	e8 26 01 00 00       	call   0x4092d8
4091b2:	83 c4 10             	add    $0x10,%esp
4091b5:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
4091bb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4091be:	50                   	push   %eax
4091bf:	e8 68 9f ff ff       	call   0x40312c
4091c4:	b8 00 10 00 00       	mov    $0x1000,%eax
4091c9:	50                   	push   %eax
4091ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4091cd:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4091d3:	6a 00                	push   $0x0
4091d5:	50                   	push   %eax
4091d6:	e8 77 7e ff ff       	call   0x401052
4091db:	83 c4 0c             	add    $0xc,%esp
4091de:	8d 45 fc             	lea    -0x4(%ebp),%eax
4091e1:	50                   	push   %eax
4091e2:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
4091e8:	50                   	push   %eax
4091e9:	6a 00                	push   $0x0
4091eb:	6a 00                	push   $0x0
4091ed:	68 1c 30 41 00       	push   $0x41301c
4091f2:	56                   	push   %esi
4091f3:	ff d7                	call   *%edi
4091f5:	85 c0                	test   %eax,%eax
4091f7:	75 38                	jne    0x409231
4091f9:	68 00 10 00 00       	push   $0x1000
4091fe:	50                   	push   %eax
4091ff:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409205:	50                   	push   %eax
409206:	e8 47 7e ff ff       	call   0x401052
40920b:	ff 75 fc             	push   -0x4(%ebp)
40920e:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
409214:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
40921a:	e8 b9 00 00 00       	call   0x4092d8
40921f:	83 c4 10             	add    $0x10,%esp
409222:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409228:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40922b:	50                   	push   %eax
40922c:	e8 fb 9e ff ff       	call   0x40312c
409231:	b8 00 10 00 00       	mov    $0x1000,%eax
409236:	50                   	push   %eax
409237:	89 45 fc             	mov    %eax,-0x4(%ebp)
40923a:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409240:	6a 00                	push   $0x0
409242:	50                   	push   %eax
409243:	e8 0a 7e ff ff       	call   0x401052
409248:	83 c4 0c             	add    $0xc,%esp
40924b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40924e:	50                   	push   %eax
40924f:	8d 85 d0 dc ff ff    	lea    -0x2330(%ebp),%eax
409255:	50                   	push   %eax
409256:	6a 00                	push   $0x0
409258:	6a 00                	push   $0x0
40925a:	68 38 30 41 00       	push   $0x413038
40925f:	56                   	push   %esi
409260:	ff d7                	call   *%edi
409262:	85 c0                	test   %eax,%eax
409264:	75 38                	jne    0x40929e
409266:	68 00 10 00 00       	push   $0x1000
40926b:	50                   	push   %eax
40926c:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409272:	50                   	push   %eax
409273:	e8 da 7d ff ff       	call   0x401052
409278:	ff 75 fc             	push   -0x4(%ebp)
40927b:	8d 95 d0 bc ff ff    	lea    -0x4330(%ebp),%edx
409281:	8d 8d d0 dc ff ff    	lea    -0x2330(%ebp),%ecx
409287:	e8 4c 00 00 00       	call   0x4092d8
40928c:	83 c4 10             	add    $0x10,%esp
40928f:	8d 85 d0 bc ff ff    	lea    -0x4330(%ebp),%eax
409295:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409298:	50                   	push   %eax
409299:	e8 8e 9e ff ff       	call   0x40312c
40929e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4092a1:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
4092a8:	e8 e1 9d ff ff       	call   0x40308e
4092ad:	85 c0                	test   %eax,%eax
4092af:	7e 15                	jle    0x4092c6
4092b1:	83 ec 10             	sub    $0x10,%esp
4092b4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4092b7:	8b cc                	mov    %esp,%ecx
4092b9:	50                   	push   %eax
4092ba:	e8 fa 8b ff ff       	call   0x401eb9
4092bf:	8b cb                	mov    %ebx,%ecx
4092c1:	e8 29 8c ff ff       	call   0x401eef
4092c6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4092c9:	e8 c1 80 ff ff       	call   0x40138f
4092ce:	5f                   	pop    %edi
4092cf:	33 c0                	xor    %eax,%eax
4092d1:	5e                   	pop    %esi
4092d2:	40                   	inc    %eax
4092d3:	5b                   	pop    %ebx
4092d4:	c9                   	leave
4092d5:	c2 08 00             	ret    $0x8
4092d8:	55                   	push   %ebp
4092d9:	8b ec                	mov    %esp,%ebp
4092db:	b8 14 20 00 00       	mov    $0x2014,%eax
4092e0:	e8 4b 7e ff ff       	call   0x401130
4092e5:	53                   	push   %ebx
4092e6:	56                   	push   %esi
4092e7:	57                   	push   %edi
4092e8:	8b 7d 08             	mov    0x8(%ebp),%edi
4092eb:	8b da                	mov    %edx,%ebx
4092ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4092f0:	8d 47 ff             	lea    -0x1(%edi),%eax
4092f3:	50                   	push   %eax
4092f4:	6a 40                	push   $0x40
4092f6:	ff 15 c8 20 41 00    	call   *0x4120c8
4092fc:	33 f6                	xor    %esi,%esi
4092fe:	8b d0                	mov    %eax,%edx
409300:	46                   	inc    %esi
409301:	3b fe                	cmp    %esi,%edi
409303:	7e 0f                	jle    0x409314
409305:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409308:	8a 04 0e             	mov    (%esi,%ecx,1),%al
40930b:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
40930f:	46                   	inc    %esi
409310:	3b f7                	cmp    %edi,%esi
409312:	7c f4                	jl     0x409308
409314:	8d 47 ff             	lea    -0x1(%edi),%eax
409317:	89 55 f8             	mov    %edx,-0x8(%ebp)
40931a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40931d:	33 f6                	xor    %esi,%esi
40931f:	8d 45 ec             	lea    -0x14(%ebp),%eax
409322:	50                   	push   %eax
409323:	56                   	push   %esi
409324:	56                   	push   %esi
409325:	56                   	push   %esi
409326:	56                   	push   %esi
409327:	56                   	push   %esi
409328:	8d 45 f4             	lea    -0xc(%ebp),%eax
40932b:	50                   	push   %eax
40932c:	ff 15 80 20 41 00    	call   *0x412080
409332:	85 c0                	test   %eax,%eax
409334:	74 27                	je     0x40935d
409336:	85 ff                	test   %edi,%edi
409338:	7e 1a                	jle    0x409354
40933a:	8b 55 f0             	mov    -0x10(%ebp),%edx
40933d:	8d 8d ec df ff ff    	lea    -0x2014(%ebp),%ecx
409343:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
409347:	83 c6 02             	add    $0x2,%esi
40934a:	66 89 01             	mov    %ax,(%ecx)
40934d:	8d 49 02             	lea    0x2(%ecx),%ecx
409350:	3b f7                	cmp    %edi,%esi
409352:	7c ef                	jl     0x409343
409354:	8d 85 ec df ff ff    	lea    -0x2014(%ebp),%eax
40935a:	50                   	push   %eax
40935b:	eb 05                	jmp    0x409362
40935d:	68 54 2f 41 00       	push   $0x412f54
409362:	53                   	push   %ebx
409363:	ff 15 cc 21 41 00    	call   *0x4121cc
409369:	5f                   	pop    %edi
40936a:	5e                   	pop    %esi
40936b:	5b                   	pop    %ebx
40936c:	c9                   	leave
40936d:	c3                   	ret
40936e:	55                   	push   %ebp
40936f:	8b ec                	mov    %esp,%ebp
409371:	81 ec c8 04 00 00    	sub    $0x4c8,%esp
409377:	53                   	push   %ebx
409378:	56                   	push   %esi
409379:	57                   	push   %edi
40937a:	8b f9                	mov    %ecx,%edi
40937c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40937f:	68 44 2e 41 00       	push   $0x412e44
409384:	89 7d e4             	mov    %edi,-0x1c(%ebp)