404004:	74 03                	je     0x404009
404006:	55                   	push   %ebp
404007:	eb 02                	jmp    0x40400b
404009:	6a 01                	push   $0x1
40400b:	68 60 f0 00 00       	push   $0xf060
404010:	55                   	push   %ebp
404011:	57                   	push   %edi
404012:	ff 15 84 81 40 00    	call   *0x408184
404018:	50                   	push   %eax
404019:	ff 15 8c 81 40 00    	call   *0x40818c
40401f:	8b 1d 00 82 40 00    	mov    0x408200,%ebx
404025:	6a 01                	push   $0x1
404027:	55                   	push   %ebp
404028:	68 f4 00 00 00       	push   $0xf4
40402d:	ff 74 24 38          	push   0x38(%esp)
404031:	ff d3                	call   *%ebx
404033:	39 2d cc f4 42 00    	cmp    %ebp,0x42f4cc
404039:	74 13                	je     0x40404e
40403b:	55                   	push   %ebp
40403c:	6a 02                	push   $0x2
40403e:	68 01 04 00 00       	push   $0x401
404043:	57                   	push   %edi
404044:	ff d3                	call   *%ebx
404046:	ff 35 60 98 42 00    	push   0x429860
40404c:	eb 06                	jmp    0x404054
40404e:	ff 35 94 a8 42 00    	push   0x42a894
404054:	e8 d0 01 00 00       	call   0x404229
404059:	e8 a3 fc ff ff       	call   0x403d01
40405e:	bb 98 a8 42 00       	mov    $0x42a898,%ebx
404063:	50                   	push   %eax
404064:	53                   	push   %ebx
404065:	e8 fc 20 00 00       	call   0x406166
40406a:	ff 76 18             	push   0x18(%esi)
40406d:	53                   	push   %ebx
40406e:	e8 09 21 00 00       	call   0x40617c
404073:	03 c3                	add    %ebx,%eax
404075:	50                   	push   %eax
404076:	e8 0d 21 00 00       	call   0x406188
40407b:	53                   	push   %ebx
40407c:	57                   	push   %edi
40407d:	ff 15 40 82 40 00    	call   *0x408240
404083:	55                   	push   %ebp
404084:	ff 76 08             	push   0x8(%esi)
404087:	e8 fd d2 ff ff       	call   0x401389
40408c:	85 c0                	test   %eax,%eax
40408e:	0f 85 9c fe ff ff    	jne    0x403f30
404094:	39 2e                	cmp    %ebp,(%esi)
404096:	0f 84 94 fe ff ff    	je     0x403f30
40409c:	83 7e 04 05          	cmpl   $0x5,0x4(%esi)
4040a0:	75 1d                	jne    0x4040bf
4040a2:	39 2d cc f4 42 00    	cmp    %ebp,0x42f4cc
4040a8:	0f 85 13 01 00 00    	jne    0x4041c1
4040ae:	39 2d c0 f4 42 00    	cmp    %ebp,0x42f4c0
4040b4:	0f 85 76 fe ff ff    	jne    0x403f30
4040ba:	e9 02 01 00 00       	jmp    0x4041c1
4040bf:	ff 35 f8 eb 42 00    	push   0x42ebf8
4040c5:	ff 15 70 82 40 00    	call   *0x408270
4040cb:	89 35 70 a0 42 00    	mov    %esi,0x42a070
4040d1:	39 2e                	cmp    %ebp,(%esi)
4040d3:	0f 8e c5 00 00 00    	jle    0x40419e
4040d9:	8b 46 04             	mov    0x4(%esi),%eax
4040dc:	56                   	push   %esi
4040dd:	ff 34 85 fc a1 40 00 	push   0x40a1fc(,%eax,4)
4040e4:	66 8b 06             	mov    (%esi),%ax
4040e7:	66 03 05 00 ec 42 00 	add    0x42ec00,%ax
4040ee:	57                   	push   %edi
4040ef:	0f b7 c0             	movzwl %ax,%eax
4040f2:	50                   	push   %eax
4040f3:	ff 35 20 f4 42 00    	push   0x42f420
4040f9:	ff 15 38 82 40 00    	call   *0x408238
4040ff:	3b c5                	cmp    %ebp,%eax
404101:	a3 f8 eb 42 00       	mov    %eax,0x42ebf8
404106:	0f 84 92 00 00 00    	je     0x40419e
40410c:	ff 76 2c             	push   0x2c(%esi)
40410f:	6a 06                	push   $0x6
404111:	50                   	push   %eax
404112:	e8 dd 00 00 00       	call   0x4041f4
404117:	8d 44 24 10          	lea    0x10(%esp),%eax
40411b:	50                   	push   %eax
40411c:	68 fa 03 00 00       	push   $0x3fa
404121:	57                   	push   %edi
404122:	ff 15 d0 81 40 00    	call   *0x4081d0
404128:	50                   	push   %eax
404129:	ff 15 cc 81 40 00    	call   *0x4081cc
40412f:	8d 44 24 10          	lea    0x10(%esp),%eax
404133:	50                   	push   %eax
404134:	57                   	push   %edi
404135:	ff 15 c8 81 40 00    	call   *0x4081c8
40413b:	6a 15                	push   $0x15
40413d:	55                   	push   %ebp
40413e:	55                   	push   %ebp
40413f:	ff 74 24 20          	push   0x20(%esp)
404143:	ff 74 24 20          	push   0x20(%esp)
404147:	55                   	push   %ebp
404148:	ff 35 f8 eb 42 00    	push   0x42ebf8
40414e:	ff 15 94 81 40 00    	call   *0x408194
404154:	55                   	push   %ebp
404155:	ff 76 0c             	push   0xc(%esi)
404158:	e8 2c d2 ff ff       	call   0x401389
40415d:	39 2d ec eb 42 00    	cmp    %ebp,0x42ebec
404163:	75 5c                	jne    0x4041c1
404165:	6a 08                	push   $0x8
404167:	ff 35 f8 eb 42 00    	push   0x42ebf8
40416d:	ff 15 48 82 40 00    	call   *0x408248
404173:	68 05 04 00 00       	push   $0x405
404178:	e8 c3 00 00 00       	call   0x404240
40417d:	eb 1f                	jmp    0x40419e
40417f:	ff 35 f8 eb 42 00    	push   0x42ebf8
404185:	ff 15 70 82 40 00    	call   *0x408270
40418b:	ff 35 68 9c 42 00    	push   0x429c68
404191:	89 2d 28 f4 42 00    	mov    %ebp,0x42f428
404197:	57                   	push   %edi
404198:	ff 15 14 82 40 00    	call   *0x408214
40419e:	39 2d 98 b8 42 00    	cmp    %ebp,0x42b898
4041a4:	75 1b                	jne    0x4041c1
4041a6:	39 2d f8 eb 42 00    	cmp    %ebp,0x42ebf8
4041ac:	74 13                	je     0x4041c1
4041ae:	6a 0a                	push   $0xa
4041b0:	57                   	push   %edi
4041b1:	ff 15 48 82 40 00    	call   *0x408248
4041b7:	c7 05 98 b8 42 00 01 	movl   $0x1,0x42b898
4041be:	00 00 00
4041c1:	33 c0                	xor    %eax,%eax
4041c3:	5f                   	pop    %edi
4041c4:	5e                   	pop    %esi
4041c5:	5d                   	pop    %ebp
4041c6:	5b                   	pop    %ebx
4041c7:	83 c4 10             	add    $0x10,%esp
4041ca:	c2 10 00             	ret    $0x10
4041cd:	83 7c 24 04 78       	cmpl   $0x78,0x4(%esp)
4041d2:	75 06                	jne    0x4041da
4041d4:	ff 05 ec eb 42 00    	incl   0x42ebec
4041da:	6a 00                	push   $0x0
4041dc:	ff 74 24 08          	push   0x8(%esp)
4041e0:	68 08 04 00 00       	push   $0x408
4041e5:	ff 35 28 f4 42 00    	push   0x42f428
4041eb:	ff 15 00 82 40 00    	call   *0x408200
4041f1:	c2 04 00             	ret    $0x4
4041f4:	ff 74 24 0c          	push   0xc(%esp)
4041f8:	6a 00                	push   $0x0
4041fa:	e8 89 1f 00 00       	call   0x406188
4041ff:	50                   	push   %eax
404200:	8b 44 24 0c          	mov    0xc(%esp),%eax
404204:	05 e8 03 00 00       	add    $0x3e8,%eax
404209:	50                   	push   %eax
40420a:	ff 74 24 0c          	push   0xc(%esp)
40420e:	e8 4d 16 00 00       	call   0x405860
404213:	c2 0c 00             	ret    $0xc
404216:	ff 74 24 04          	push   0x4(%esp)
40421a:	ff 35 94 a8 42 00    	push   0x42a894
404220:	ff 15 f8 81 40 00    	call   *0x4081f8
404226:	c2 04 00             	ret    $0x4
404229:	6a 01                	push   $0x1
40422b:	ff 74 24 08          	push   0x8(%esp)
40422f:	6a 28                	push   $0x28
404231:	ff 35 28 f4 42 00    	push   0x42f428
404237:	ff 15 00 82 40 00    	call   *0x408200
40423d:	c2 04 00             	ret    $0x4
404240:	a1 f8 eb 42 00       	mov    0x42ebf8,%eax
404245:	85 c0                	test   %eax,%eax
404247:	74 0f                	je     0x404258
404249:	6a 00                	push   $0x0
40424b:	6a 00                	push   $0x0
40424d:	ff 74 24 0c          	push   0xc(%esp)
404251:	50                   	push   %eax
404252:	ff 15 00 82 40 00    	call   *0x408200
404258:	c2 04 00             	ret    $0x4
40425b:	55                   	push   %ebp
40425c:	8b ec                	mov    %esp,%ebp
40425e:	83 ec 0c             	sub    $0xc,%esp
404261:	8b 45 08             	mov    0x8(%ebp),%eax
404264:	56                   	push   %esi
404265:	05 cd fe ff ff       	add    $0xfffffecd,%eax
40426a:	83 f8 05             	cmp    $0x5,%eax
40426d:	0f 87 b0 00 00 00    	ja     0x404323
404273:	6a eb                	push   $0xffffffeb
404275:	ff 75 10             	push   0x10(%ebp)
404278:	ff 15 9c 81 40 00    	call   *0x40819c
40427e:	8b f0                	mov    %eax,%esi
404280:	85 f6                	test   %esi,%esi
404282:	0f 84 9b 00 00 00    	je     0x404323
404288:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
40428c:	0f 87 91 00 00 00    	ja     0x404323
404292:	83 7e 10 02          	cmpl   $0x2,0x10(%esi)
404296:	0f 87 87 00 00 00    	ja     0x404323
40429c:	8b 4e 14             	mov    0x14(%esi),%ecx
40429f:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
4042a5:	75 7c                	jne    0x404323
4042a7:	8b 06                	mov    (%esi),%eax
4042a9:	57                   	push   %edi
4042aa:	8b 3d 98 81 40 00    	mov    0x408198,%edi
4042b0:	f6 c1 02             	test   $0x2,%cl
4042b3:	74 03                	je     0x4042b8
4042b5:	50                   	push   %eax
4042b6:	ff d7                	call   *%edi
4042b8:	f6 46 14 01          	testb  $0x1,0x14(%esi)
4042bc:	74 0a                	je     0x4042c8
4042be:	50                   	push   %eax
4042bf:	ff 75 0c             	push   0xc(%ebp)
4042c2:	ff 15 50 80 40 00    	call   *0x408050
4042c8:	ff 76 10             	push   0x10(%esi)
4042cb:	ff 75 0c             	push   0xc(%ebp)
4042ce:	ff 15 54 80 40 00    	call   *0x408054
4042d4:	8b 46 04             	mov    0x4(%esi),%eax
4042d7:	f6 46 14 08          	testb  $0x8,0x14(%esi)
4042db:	89 45 f8             	mov    %eax,-0x8(%ebp)
4042de:	74 06                	je     0x4042e6
4042e0:	50                   	push   %eax
4042e1:	ff d7                	call   *%edi
4042e3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4042e6:	f6 46 14 04          	testb  $0x4,0x14(%esi)
4042ea:	5f                   	pop    %edi
4042eb:	74 0a                	je     0x4042f7
4042ed:	50                   	push   %eax
4042ee:	ff 75 0c             	push   0xc(%ebp)
4042f1:	ff 15 68 80 40 00    	call   *0x408068
4042f7:	f6 46 14 10          	testb  $0x10,0x14(%esi)
4042fb:	74 21                	je     0x40431e
4042fd:	8b 46 08             	mov    0x8(%esi),%eax
404300:	89 45 f4             	mov    %eax,-0xc(%ebp)
404303:	8b 46 0c             	mov    0xc(%esi),%eax
404306:	85 c0                	test   %eax,%eax
404308:	74 07                	je     0x404311
40430a:	50                   	push   %eax
40430b:	ff 15 60 80 40 00    	call   *0x408060
404311:	8d 45 f4             	lea    -0xc(%ebp),%eax
404314:	50                   	push   %eax
404315:	ff 15 5c 80 40 00    	call   *0x40805c
40431b:	89 46 0c             	mov    %eax,0xc(%esi)
40431e:	8b 46 0c             	mov    0xc(%esi),%eax
404321:	eb 02                	jmp    0x404325
404323:	33 c0                	xor    %eax,%eax
404325:	5e                   	pop    %esi
404326:	c9                   	leave
404327:	c2 0c 00             	ret    $0xc
40432a:	55                   	push   %ebp
40432b:	8b ec                	mov    %esp,%ebp
40432d:	8b 45 08             	mov    0x8(%ebp),%eax
404330:	8b 0d 64 98 42 00    	mov    0x429864,%ecx
404336:	ff 75 10             	push   0x10(%ebp)
404339:	03 c8                	add    %eax,%ecx
40433b:	51                   	push   %ecx
40433c:	ff 75 0c             	push   0xc(%ebp)
40433f:	ff 15 ac 80 40 00    	call   *0x4080ac
404345:	ff 75 0c             	push   0xc(%ebp)
404348:	ff 15 a0 80 40 00    	call   *0x4080a0
40434e:	8b 4d 14             	mov    0x14(%ebp),%ecx
404351:	89 01                	mov    %eax,(%ecx)
404353:	01 05 64 98 42 00    	add    %eax,0x429864
404359:	33 c0                	xor    %eax,%eax
40435b:	5d                   	pop    %ebp
40435c:	c2 10 00             	ret    $0x10
40435f:	55                   	push   %ebp
404360:	8b ec                	mov    %esp,%ebp
404362:	83 ec 0c             	sub    $0xc,%esp
404365:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40436c:	53                   	push   %ebx
40436d:	56                   	push   %esi
40436e:	57                   	push   %edi
40436f:	0f 85 0c 01 00 00    	jne    0x404481
404375:	8b 5d 14             	mov    0x14(%ebp),%ebx
404378:	8b 7b 30             	mov    0x30(%ebx),%edi
40437b:	85 ff                	test   %edi,%edi
40437d:	7d 11                	jge    0x404390
40437f:	8b 0d fc eb 42 00    	mov    0x42ebfc,%ecx
404385:	8d 04 bd 04 00 00 00 	lea    0x4(,%edi,4),%eax
40438c:	2b c8                	sub    %eax,%ecx
40438e:	8b 39                	mov    (%ecx),%edi
404390:	a1 78 f4 42 00       	mov    0x42f478,%eax
404395:	ff 73 34             	push   0x34(%ebx)
404398:	03 f8                	add    %eax,%edi
40439a:	6a 22                	push   $0x22
40439c:	0f be 07             	movsbl (%edi),%eax
40439f:	89 45 14             	mov    %eax,0x14(%ebp)
4043a2:	8b 43 14             	mov    0x14(%ebx),%eax
4043a5:	ff 75 08             	push   0x8(%ebp)
4043a8:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4043ac:	8b f0                	mov    %eax,%esi
4043ae:	47                   	inc    %edi
4043af:	f7 d6                	not    %esi
4043b1:	c1 ee 05             	shr    $0x5,%esi
4043b4:	83 e6 01             	and    $0x1,%esi
4043b7:	83 e0 01             	and    $0x1,%eax
4043ba:	89 7d f4             	mov    %edi,-0xc(%ebp)
4043bd:	c7 45 fc 2a 43 40 00 	movl   $0x40432a,-0x4(%ebp)
4043c4:	0b f0                	or     %eax,%esi
4043c6:	e8 29 fe ff ff       	call   0x4041f4
4043cb:	ff 73 38             	push   0x38(%ebx)
4043ce:	6a 23                	push   $0x23
4043d0:	ff 75 08             	push   0x8(%ebp)
4043d3:	e8 1c fe ff ff       	call   0x4041f4
4043d8:	33 c0                	xor    %eax,%eax
4043da:	6a 01                	push   $0x1
4043dc:	85 f6                	test   %esi,%esi
4043de:	0f 94 c0             	sete   %al
4043e1:	05 0a 04 00 00       	add    $0x40a,%eax
4043e6:	50                   	push   %eax
4043e7:	ff 75 08             	push   0x8(%ebp)
4043ea:	ff 15 a8 81 40 00    	call   *0x4081a8
4043f0:	56                   	push   %esi
4043f1:	e8 20 fe ff ff       	call   0x404216
4043f6:	68 e8 03 00 00       	push   $0x3e8
4043fb:	ff 75 08             	push   0x8(%ebp)
4043fe:	ff 15 d0 81 40 00    	call   *0x4081d0
404404:	8b d8                	mov    %eax,%ebx
404406:	53                   	push   %ebx
404407:	e8 1d fe ff ff       	call   0x404229
40440c:	8b 35 00 82 40 00    	mov    0x408200,%esi
404412:	6a 00                	push   $0x0
404414:	6a 01                	push   $0x1
404416:	68 5b 04 00 00       	push   $0x45b
40441b:	53                   	push   %ebx
40441c:	ff d6                	call   *%esi
40441e:	a1 34 f4 42 00       	mov    0x42f434,%eax
404423:	8b 40 68             	mov    0x68(%eax),%eax
404426:	85 c0                	test   %eax,%eax
404428:	7d 09                	jge    0x404433
40442a:	f7 d8                	neg    %eax
40442c:	50                   	push   %eax
40442d:	ff 15 98 81 40 00    	call   *0x408198
404433:	50                   	push   %eax
404434:	6a 00                	push   $0x0
404436:	68 43 04 00 00       	push   $0x443
40443b:	53                   	push   %ebx
40443c:	ff d6                	call   *%esi
40443e:	68 00 00 01 04       	push   $0x4010000
404443:	6a 00                	push   $0x0
404445:	68 45 04 00 00       	push   $0x445
40444a:	53                   	push   %ebx
40444b:	ff d6                	call   *%esi
40444d:	57                   	push   %edi
40444e:	e8 29 1d 00 00       	call   0x40617c
404453:	33 ff                	xor    %edi,%edi
404455:	50                   	push   %eax
404456:	57                   	push   %edi
404457:	68 35 04 00 00       	push   $0x435
40445c:	53                   	push   %ebx
40445d:	ff d6                	call   *%esi
40445f:	8d 45 f4             	lea    -0xc(%ebp),%eax
404462:	89 3d 64 98 42 00    	mov    %edi,0x429864
404468:	50                   	push   %eax
404469:	ff 75 14             	push   0x14(%ebp)
40446c:	68 49 04 00 00       	push   $0x449
404471:	53                   	push   %ebx
404472:	ff d6                	call   *%esi
404474:	89 3d 64 98 42 00    	mov    %edi,0x429864
40447a:	33 c0                	xor    %eax,%eax
40447c:	e9 57 01 00 00       	jmp    0x4045d8
404481:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404488:	8b 1d d0 81 40 00    	mov    0x4081d0,%ebx