408163:	8b 45 10             	mov    0x10(%ebp),%eax
408166:	89 45 e8             	mov    %eax,-0x18(%ebp)
408169:	8b 45 14             	mov    0x14(%ebp),%eax
40816c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40816f:	33 c0                	xor    %eax,%eax
408171:	40                   	inc    %eax
408172:	50                   	push   %eax
408173:	89 45 f8             	mov    %eax,-0x8(%ebp)
408176:	33 c0                	xor    %eax,%eax
408178:	39 45 18             	cmp    %eax,0x18(%ebp)
40817b:	0f 95 c0             	setne  %al
40817e:	50                   	push   %eax
40817f:	6a 00                	push   $0x0
408181:	8d 45 e8             	lea    -0x18(%ebp),%eax
408184:	50                   	push   %eax
408185:	ff 75 0c             	push   0xc(%ebp)
408188:	ff 75 08             	push   0x8(%ebp)
40818b:	e8 cd ea ff ff       	call   0x406c5d
408190:	5f                   	pop    %edi
408191:	8b e5                	mov    %ebp,%esp
408193:	5d                   	pop    %ebp
408194:	c2 14 00             	ret    $0x14
408197:	55                   	push   %ebp
408198:	8b ec                	mov    %esp,%ebp
40819a:	83 ec 18             	sub    $0x18,%esp
40819d:	57                   	push   %edi
40819e:	6a 06                	push   $0x6
4081a0:	59                   	pop    %ecx
4081a1:	33 c0                	xor    %eax,%eax
4081a3:	8d 7d e8             	lea    -0x18(%ebp),%edi
4081a6:	f3 ab                	rep stos %eax,%es:(%edi)
4081a8:	8b 45 10             	mov    0x10(%ebp),%eax
4081ab:	89 45 e8             	mov    %eax,-0x18(%ebp)
4081ae:	33 c0                	xor    %eax,%eax
4081b0:	39 45 14             	cmp    %eax,0x14(%ebp)
4081b3:	6a 01                	push   $0x1
4081b5:	0f 95 c0             	setne  %al
4081b8:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4081bf:	50                   	push   %eax
4081c0:	6a 00                	push   $0x0
4081c2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4081c5:	50                   	push   %eax
4081c6:	ff 75 0c             	push   0xc(%ebp)
4081c9:	ff 75 08             	push   0x8(%ebp)
4081cc:	e8 8c ea ff ff       	call   0x406c5d
4081d1:	5f                   	pop    %edi
4081d2:	8b e5                	mov    %ebp,%esp
4081d4:	5d                   	pop    %ebp
4081d5:	c2 10 00             	ret    $0x10
4081d8:	55                   	push   %ebp
4081d9:	8b ec                	mov    %esp,%ebp
4081db:	83 ec 18             	sub    $0x18,%esp
4081de:	57                   	push   %edi
4081df:	6a 06                	push   $0x6
4081e1:	59                   	pop    %ecx
4081e2:	33 c0                	xor    %eax,%eax
4081e4:	8d 7d e8             	lea    -0x18(%ebp),%edi
4081e7:	f3 ab                	rep stos %eax,%es:(%edi)
4081e9:	8b 45 10             	mov    0x10(%ebp),%eax
4081ec:	89 45 e8             	mov    %eax,-0x18(%ebp)
4081ef:	8b 45 14             	mov    0x14(%ebp),%eax
4081f2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4081f5:	33 c0                	xor    %eax,%eax
4081f7:	39 45 18             	cmp    %eax,0x18(%ebp)
4081fa:	6a 01                	push   $0x1
4081fc:	0f 95 c0             	setne  %al
4081ff:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
408206:	50                   	push   %eax
408207:	6a 00                	push   $0x0
408209:	8d 45 e8             	lea    -0x18(%ebp),%eax
40820c:	50                   	push   %eax
40820d:	ff 75 0c             	push   0xc(%ebp)
408210:	ff 75 08             	push   0x8(%ebp)
408213:	e8 45 ea ff ff       	call   0x406c5d
408218:	5f                   	pop    %edi
408219:	8b e5                	mov    %ebp,%esp
40821b:	5d                   	pop    %ebp
40821c:	c2 14 00             	ret    $0x14
40821f:	55                   	push   %ebp
408220:	8b ec                	mov    %esp,%ebp
408222:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408226:	ff 75 10             	push   0x10(%ebp)
408229:	ff 75 0c             	push   0xc(%ebp)
40822c:	74 07                	je     0x408235
40822e:	e8 5e 9f ff ff       	call   0x402191
408233:	eb 05                	jmp    0x40823a
408235:	e8 a4 9c ff ff       	call   0x401ede
40823a:	5d                   	pop    %ebp
40823b:	c2 0c 00             	ret    $0xc
40823e:	55                   	push   %ebp
40823f:	8b ec                	mov    %esp,%ebp
408241:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408245:	ff 75 14             	push   0x14(%ebp)
408248:	ff 75 10             	push   0x10(%ebp)
40824b:	ff 75 0c             	push   0xc(%ebp)
40824e:	74 07                	je     0x408257
408250:	e8 b4 9c ff ff       	call   0x401f09
408255:	eb 05                	jmp    0x40825c
408257:	e8 96 9c ff ff       	call   0x401ef2
40825c:	5d                   	pop    %ebp
40825d:	c2 10 00             	ret    $0x10
408260:	55                   	push   %ebp
408261:	8b ec                	mov    %esp,%ebp
408263:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408267:	8d 45 14             	lea    0x14(%ebp),%eax
40826a:	50                   	push   %eax
40826b:	ff 75 10             	push   0x10(%ebp)
40826e:	ff 75 0c             	push   0xc(%ebp)
408271:	74 07                	je     0x40827a
408273:	e8 d3 9c ff ff       	call   0x401f4b
408278:	5d                   	pop    %ebp
408279:	c3                   	ret
40827a:	e8 b5 9c ff ff       	call   0x401f34
40827f:	5d                   	pop    %ebp
408280:	c3                   	ret
408281:	55                   	push   %ebp
408282:	8b ec                	mov    %esp,%ebp
408284:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408288:	ff 75 14             	push   0x14(%ebp)
40828b:	ff 75 10             	push   0x10(%ebp)
40828e:	ff 75 0c             	push   0xc(%ebp)
408291:	74 07                	je     0x40829a
408293:	e8 61 a0 ff ff       	call   0x4022f9
408298:	eb 05                	jmp    0x40829f
40829a:	e8 06 9f ff ff       	call   0x4021a5
40829f:	5d                   	pop    %ebp
4082a0:	c2 10 00             	ret    $0x10
4082a3:	55                   	push   %ebp
4082a4:	8b ec                	mov    %esp,%ebp
4082a6:	51                   	push   %ecx
4082a7:	53                   	push   %ebx
4082a8:	56                   	push   %esi
4082a9:	8b 75 08             	mov    0x8(%ebp),%esi
4082ac:	33 c0                	xor    %eax,%eax
4082ae:	33 db                	xor    %ebx,%ebx
4082b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4082b3:	39 46 1c             	cmp    %eax,0x1c(%esi)
4082b6:	0f 86 83 00 00 00    	jbe    0x40833f
4082bc:	33 c9                	xor    %ecx,%ecx
4082be:	89 4d 08             	mov    %ecx,0x8(%ebp)
4082c1:	57                   	push   %edi
4082c2:	8b 7e 20             	mov    0x20(%esi),%edi
4082c5:	03 f9                	add    %ecx,%edi
4082c7:	74 69                	je     0x408332
4082c9:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4082cd:	74 63                	je     0x408332
4082cf:	ff 37                	push   (%edi)
4082d1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4082d4:	ff 37                	push   (%edi)
4082d6:	68 44 cd 44 00       	push   $0x44cd44
4082db:	50                   	push   %eax
4082dc:	e8 3f 9c ff ff       	call   0x401f20
4082e1:	83 c4 10             	add    $0x10,%esp
4082e4:	85 c0                	test   %eax,%eax
4082e6:	78 44                	js     0x40832c
4082e8:	33 c0                	xor    %eax,%eax
4082ea:	39 47 20             	cmp    %eax,0x20(%edi)
4082ed:	74 04                	je     0x4082f3
4082ef:	6a 01                	push   $0x1
4082f1:	eb 01                	jmp    0x4082f4
4082f3:	50                   	push   %eax
4082f4:	50                   	push   %eax
4082f5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4082f8:	50                   	push   %eax
4082f9:	ff 75 fc             	push   -0x4(%ebp)
4082fc:	56                   	push   %esi
4082fd:	e8 7b d3 ff ff       	call   0x40567d
408302:	85 c0                	test   %eax,%eax
408304:	78 26                	js     0x40832c
408306:	ff 75 fc             	push   -0x4(%ebp)
408309:	68 9a 01 00 20       	push   $0x2000019a
40830e:	6a 03                	push   $0x3
408310:	e8 fa d1 ff ff       	call   0x40550f
408315:	8b 45 fc             	mov    -0x4(%ebp),%eax
408318:	83 c4 0c             	add    $0xc,%esp
40831b:	85 c0                	test   %eax,%eax
40831d:	74 10                	je     0x40832f
40831f:	50                   	push   %eax
408320:	e8 6e a4 ff ff       	call   0x402793
408325:	33 c0                	xor    %eax,%eax
408327:	89 45 fc             	mov    %eax,-0x4(%ebp)
40832a:	eb 03                	jmp    0x40832f
40832c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40832f:	8b 4d 08             	mov    0x8(%ebp),%ecx
408332:	43                   	inc    %ebx
408333:	83 c1 38             	add    $0x38,%ecx
408336:	89 4d 08             	mov    %ecx,0x8(%ebp)
408339:	3b 5e 1c             	cmp    0x1c(%esi),%ebx
40833c:	72 84                	jb     0x4082c2
40833e:	5f                   	pop    %edi
40833f:	50                   	push   %eax
408340:	e8 4e a4 ff ff       	call   0x402793
408345:	5e                   	pop    %esi
408346:	5b                   	pop    %ebx
408347:	8b e5                	mov    %ebp,%esp
408349:	5d                   	pop    %ebp
40834a:	c2 04 00             	ret    $0x4
40834d:	55                   	push   %ebp
40834e:	8b ec                	mov    %esp,%ebp
408350:	83 ec 38             	sub    $0x38,%esp
408353:	53                   	push   %ebx
408354:	8b 5d 08             	mov    0x8(%ebp),%ebx
408357:	33 d2                	xor    %edx,%edx
408359:	56                   	push   %esi
40835a:	57                   	push   %edi
40835b:	6a 06                	push   $0x6
40835d:	59                   	pop    %ecx
40835e:	33 c0                	xor    %eax,%eax
408360:	89 55 ec             	mov    %edx,-0x14(%ebp)
408363:	8d 7d c8             	lea    -0x38(%ebp),%edi
408366:	89 55 f4             	mov    %edx,-0xc(%ebp)
408369:	f3 ab                	rep stos %eax,%es:(%edi)
40836b:	53                   	push   %ebx
40836c:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40836f:	89 55 fc             	mov    %edx,-0x4(%ebp)
408372:	89 55 f8             	mov    %edx,-0x8(%ebp)
408375:	89 55 f0             	mov    %edx,-0x10(%ebp)
408378:	89 55 e0             	mov    %edx,-0x20(%ebp)
40837b:	89 55 e8             	mov    %edx,-0x18(%ebp)
40837e:	ff 15 b4 b1 44 00    	call   *0x44b1b4
408384:	8d 45 ec             	lea    -0x14(%ebp),%eax
408387:	50                   	push   %eax
408388:	68 ec c9 44 00       	push   $0x44c9ec
40838d:	ff 75 0c             	push   0xc(%ebp)
408390:	e8 6e b4 03 00       	call   0x443803
408395:	8b f0                	mov    %eax,%esi
408397:	85 f6                	test   %esi,%esi
408399:	79 0a                	jns    0x4083a5
40839b:	68 00 ca 44 00       	push   $0x44ca00
4083a0:	e9 2d 03 00 00       	jmp    0x4086d2
4083a5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4083a8:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4083ab:	52                   	push   %edx
4083ac:	50                   	push   %eax
4083ad:	8b 08                	mov    (%eax),%ecx
4083af:	ff 51 20             	call   *0x20(%ecx)
4083b2:	8b f0                	mov    %eax,%esi
4083b4:	85 f6                	test   %esi,%esi
4083b6:	79 0a                	jns    0x4083c2
4083b8:	68 24 ca 44 00       	push   $0x44ca24
4083bd:	e9 10 03 00 00       	jmp    0x4086d2
4083c2:	33 ff                	xor    %edi,%edi
4083c4:	89 7d 08             	mov    %edi,0x8(%ebp)
4083c7:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
4083ca:	0f 86 0a 03 00 00    	jbe    0x4086da
4083d0:	57                   	push   %edi
4083d1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4083d4:	50                   	push   %eax
4083d5:	ff 75 ec             	push   -0x14(%ebp)
4083d8:	e8 83 b3 03 00       	call   0x443760
4083dd:	8b f0                	mov    %eax,%esi
4083df:	85 f6                	test   %esi,%esi
4083e1:	0f 88 e6 02 00 00    	js     0x4086cd
4083e7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4083ea:	50                   	push   %eax
4083eb:	68 64 ca 44 00       	push   $0x44ca64
4083f0:	ff 75 f4             	push   -0xc(%ebp)
4083f3:	e8 cf ad 03 00       	call   0x4431c7
4083f8:	8b f0                	mov    %eax,%esi
4083fa:	85 f6                	test   %esi,%esi
4083fc:	0f 88 c4 02 00 00    	js     0x4086c6
408402:	8d 45 f0             	lea    -0x10(%ebp),%eax
408405:	50                   	push   %eax
408406:	68 80 ca 44 00       	push   $0x44ca80
40840b:	ff 75 f4             	push   -0xc(%ebp)
40840e:	e8 c8 af 03 00       	call   0x4433db
408413:	8b f0                	mov    %eax,%esi
408415:	85 f6                	test   %esi,%esi
408417:	0f 88 a2 02 00 00    	js     0x4086bf
40841d:	8d 45 e0             	lea    -0x20(%ebp),%eax
408420:	50                   	push   %eax
408421:	68 a8 ca 44 00       	push   $0x44caa8
408426:	ff 75 f4             	push   -0xc(%ebp)
408429:	e8 ad af 03 00       	call   0x4433db
40842e:	8b f0                	mov    %eax,%esi
408430:	85 f6                	test   %esi,%esi
408432:	0f 88 80 02 00 00    	js     0x4086b8
408438:	8d 45 f8             	lea    -0x8(%ebp),%eax
40843b:	50                   	push   %eax
40843c:	68 d8 ca 44 00       	push   $0x44cad8
408441:	ff 75 f4             	push   -0xc(%ebp)
408444:	e8 7e ad 03 00       	call   0x4431c7
408449:	8b f0                	mov    %eax,%esi
40844b:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
408451:	0f 84 e6 00 00 00    	je     0x40853d
408457:	85 f6                	test   %esi,%esi
408459:	0f 88 0e 02 00 00    	js     0x40866d
40845f:	57                   	push   %edi
408460:	ff 75 f8             	push   -0x8(%ebp)
408463:	8d 45 c8             	lea    -0x38(%ebp),%eax
408466:	50                   	push   %eax
408467:	e8 88 7e 01 00       	call   0x4202f4
40846c:	8b f0                	mov    %eax,%esi
40846e:	85 f6                	test   %esi,%esi
408470:	0f 88 f0 01 00 00    	js     0x408666
408476:	8d 45 f8             	lea    -0x8(%ebp),%eax
408479:	50                   	push   %eax
40847a:	68 1c cb 44 00       	push   $0x44cb1c
40847f:	ff 75 f4             	push   -0xc(%ebp)
408482:	e8 40 ad 03 00       	call   0x4431c7
408487:	8b f0                	mov    %eax,%esi
408489:	85 f6                	test   %esi,%esi
40848b:	0f 88 ce 01 00 00    	js     0x40865f
408491:	6a ff                	push   $0xffffffff
408493:	68 40 cb 44 00       	push   $0x44cb40
408498:	6a ff                	push   $0xffffffff
40849a:	ff 75 f8             	push   -0x8(%ebp)
40849d:	57                   	push   %edi
40849e:	6a 7f                	push   $0x7f
4084a0:	ff 15 28 b1 44 00    	call   *0x44b128
4084a6:	6a 02                	push   $0x2
4084a8:	5e                   	pop    %esi
4084a9:	3b c6                	cmp    %esi,%eax
4084ab:	75 1f                	jne    0x4084cc
4084ad:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4084b1:	75 14                	jne    0x4084c7
4084b3:	ff 75 c8             	push   -0x38(%ebp)
4084b6:	ff 75 fc             	push   -0x4(%ebp)
4084b9:	68 50 cb 44 00       	push   $0x44cb50
4084be:	56                   	push   %esi
4084bf:	e8 56 81 03 00       	call   0x44061a
4084c4:	83 c4 10             	add    $0x10,%esp
4084c7:	33 f6                	xor    %esi,%esi
4084c9:	46                   	inc    %esi
4084ca:	eb 73                	jmp    0x40853f
4084cc:	6a ff                	push   $0xffffffff
4084ce:	68 84 cb 44 00       	push   $0x44cb84
4084d3:	6a ff                	push   $0xffffffff
4084d5:	ff 75 f8             	push   -0x8(%ebp)
4084d8:	57                   	push   %edi
4084d9:	6a 7f                	push   $0x7f
4084db:	ff 15 28 b1 44 00    	call   *0x44b128
4084e1:	3b c6                	cmp    %esi,%eax
4084e3:	75 1c                	jne    0x408501
4084e5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4084e9:	75 5a                	jne    0x408545
4084eb:	ff 75 c8             	push   -0x38(%ebp)
4084ee:	ff 75 fc             	push   -0x4(%ebp)
4084f1:	68 94 cb 44 00       	push   $0x44cb94
4084f6:	56                   	push   %esi
4084f7:	e8 1e 81 03 00       	call   0x44061a
4084fc:	83 c4 10             	add    $0x10,%esp
4084ff:	eb 3e                	jmp    0x40853f
408501:	6a ff                	push   $0xffffffff
408503:	68 c8 cb 44 00       	push   $0x44cbc8
408508:	6a ff                	push   $0xffffffff
40850a:	ff 75 f8             	push   -0x8(%ebp)
40850d:	57                   	push   %edi
40850e:	6a 7f                	push   $0x7f
408510:	ff 15 28 b1 44 00    	call   *0x44b128