402132:	66 85 c0             	test   %ax,%ax
402135:	74 17                	je     0x40214e
402137:	a1 e8 d4 40 00       	mov    0x40d4e8,%eax
40213c:	53                   	push   %ebx
40213d:	ff 75 0c             	push   0xc(%ebp)
402140:	68 b0 08 00 00       	push   $0x8b0
402145:	ff 70 0c             	push   0xc(%eax)
402148:	ff 15 d8 a2 40 00    	call   *0x40a2d8
40214e:	39 1d e4 d4 40 00    	cmp    %ebx,0x40d4e4
402154:	5f                   	pop    %edi
402155:	74 12                	je     0x402169
402157:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
40215d:	53                   	push   %ebx
40215e:	e8 f4 02 00 00       	call   0x402457
402163:	89 1d e4 d4 40 00    	mov    %ebx,0x40d4e4
402169:	56                   	push   %esi
40216a:	ff 75 0c             	push   0xc(%ebp)
40216d:	ff 75 08             	push   0x8(%ebp)
402170:	6a 00                	push   $0x0
402172:	ff 15 a8 a2 40 00    	call   *0x40a2a8
402178:	5e                   	pop    %esi
402179:	5b                   	pop    %ebx
40217a:	5d                   	pop    %ebp
40217b:	c2 0c 00             	ret    $0xc
40217e:	55                   	push   %ebp
40217f:	8b ec                	mov    %esp,%ebp
402181:	8b 45 0c             	mov    0xc(%ebp),%eax
402184:	56                   	push   %esi
402185:	83 e8 10             	sub    $0x10,%eax
402188:	0f 84 15 01 00 00    	je     0x4022a3
40218e:	2d 00 01 00 00       	sub    $0x100,%eax
402193:	0f 84 fa 00 00 00    	je     0x402293
402199:	48                   	dec    %eax
40219a:	74 21                	je     0x4021bd
40219c:	2d 9f 07 00 00       	sub    $0x79f,%eax
4021a1:	74 07                	je     0x4021aa
4021a3:	33 c0                	xor    %eax,%eax
4021a5:	e9 12 01 00 00       	jmp    0x4022bc
4021aa:	ff 75 14             	push   0x14(%ebp)
4021ad:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
4021b3:	e8 77 01 00 00       	call   0x40232f
4021b8:	e9 fc 00 00 00       	jmp    0x4022b9
4021bd:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
4021c1:	2d ed 03 00 00       	sub    $0x3ed,%eax
4021c6:	0f 84 b8 00 00 00    	je     0x402284
4021cc:	48                   	dec    %eax
4021cd:	0f 84 9e 00 00 00    	je     0x402271
4021d3:	2d 3f 01 00 00       	sub    $0x13f,%eax
4021d8:	74 6c                	je     0x402246
4021da:	48                   	dec    %eax
4021db:	74 57                	je     0x402234
4021dd:	48                   	dec    %eax
4021de:	74 3b                	je     0x40221b
4021e0:	2d f1 01 00 00       	sub    $0x1f1,%eax
4021e5:	0f 85 ce 00 00 00    	jne    0x4022b9
4021eb:	6a 0c                	push   $0xc
4021ed:	e8 5c 6d 00 00       	call   0x408f4e
4021f2:	8b f0                	mov    %eax,%esi
4021f4:	59                   	pop    %ecx
4021f5:	85 f6                	test   %esi,%esi
4021f7:	0f 84 bc 00 00 00    	je     0x4022b9
4021fd:	a1 e8 d4 40 00       	mov    0x40d4e8,%eax
402202:	8b ce                	mov    %esi,%ecx
402204:	ff 70 10             	push   0x10(%eax)
402207:	ff 75 08             	push   0x8(%ebp)
40220a:	e8 2a fc ff ff       	call   0x401e39
40220f:	56                   	push   %esi
402210:	e8 33 6d 00 00       	call   0x408f48
402215:	59                   	pop    %ecx
402216:	e9 9e 00 00 00       	jmp    0x4022b9
40221b:	a1 e8 d4 40 00       	mov    0x40d4e8,%eax
402220:	6a 00                	push   $0x0
402222:	6a 00                	push   $0x0
402224:	6a 10                	push   $0x10
402226:	ff 70 10             	push   0x10(%eax)
402229:	ff 15 d8 a2 40 00    	call   *0x40a2d8
40222f:	e9 85 00 00 00       	jmp    0x4022b9
402234:	a1 e8 d4 40 00       	mov    0x40d4e8,%eax
402239:	6a 00                	push   $0x0
40223b:	ff 70 10             	push   0x10(%eax)
40223e:	ff 15 e8 a1 40 00    	call   *0x40a1e8
402244:	eb 73                	jmp    0x4022b9
402246:	6a 00                	push   $0x0
402248:	6a 00                	push   $0x0
40224a:	68 f1 00 00 00       	push   $0xf1
40224f:	68 ee 03 00 00       	push   $0x3ee
402254:	ff 75 08             	push   0x8(%ebp)
402257:	ff 15 bc a2 40 00    	call   *0x40a2bc
40225d:	50                   	push   %eax
40225e:	ff 15 dc a2 40 00    	call   *0x40a2dc
402264:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
40226a:	e8 97 03 00 00       	call   0x402606
40226f:	eb 48                	jmp    0x4022b9
402271:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
402277:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
40227b:	75 ed                	jne    0x40226a
40227d:	e8 09 03 00 00       	call   0x40258b
402282:	eb 35                	jmp    0x4022b9
402284:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
40228a:	e8 77 03 00 00       	call   0x402606
40228f:	6a 01                	push   $0x1
402291:	eb 1d                	jmp    0x4022b0
402293:	ff 75 08             	push   0x8(%ebp)
402296:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
40229c:	e8 12 01 00 00       	call   0x4023b3
4022a1:	eb 16                	jmp    0x4022b9
4022a3:	8b 0d e8 d4 40 00    	mov    0x40d4e8,%ecx
4022a9:	e8 58 03 00 00       	call   0x402606
4022ae:	6a 02                	push   $0x2
4022b0:	ff 75 08             	push   0x8(%ebp)
4022b3:	ff 15 c0 a2 40 00    	call   *0x40a2c0
4022b9:	6a 01                	push   $0x1
4022bb:	58                   	pop    %eax
4022bc:	5e                   	pop    %esi
4022bd:	5d                   	pop    %ebp
4022be:	c2 10 00             	ret    $0x10
4022c1:	8b c1                	mov    %ecx,%eax
4022c3:	33 c9                	xor    %ecx,%ecx
4022c5:	39 0d e8 d4 40 00    	cmp    %ecx,0x40d4e8
4022cb:	74 08                	je     0x4022d5
4022cd:	8b 54 24 04          	mov    0x4(%esp),%edx
4022d1:	88 0a                	mov    %cl,(%edx)
4022d3:	eb 1b                	jmp    0x4022f0
4022d5:	88 48 14             	mov    %cl,0x14(%eax)
4022d8:	a3 e8 d4 40 00       	mov    %eax,0x40d4e8
4022dd:	89 0d e4 d4 40 00    	mov    %ecx,0x40d4e4
4022e3:	89 48 08             	mov    %ecx,0x8(%eax)
4022e6:	89 48 10             	mov    %ecx,0x10(%eax)
4022e9:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4022ed:	c6 01 01             	movb   $0x1,(%ecx)
4022f0:	c2 04 00             	ret    $0x4
4022f3:	83 25 e8 d4 40 00 00 	andl   $0x0,0x40d4e8
4022fa:	c3                   	ret
4022fb:	56                   	push   %esi
4022fc:	57                   	push   %edi
4022fd:	8b 7c 24 0c          	mov    0xc(%esp),%edi
402301:	8b f1                	mov    %ecx,%esi
402303:	ff 77 04             	push   0x4(%edi)
402306:	ff 37                	push   (%edi)
402308:	ff 76 08             	push   0x8(%esi)
40230b:	ff 76 0c             	push   0xc(%esi)
40230e:	ff 15 a0 a2 40 00    	call   *0x40a2a0
402314:	83 f8 ff             	cmp    $0xffffffff,%eax
402317:	75 11                	jne    0x40232a
402319:	57                   	push   %edi
40231a:	6a 01                	push   $0x1
40231c:	68 01 02 00 00       	push   $0x201
402321:	ff 76 0c             	push   0xc(%esi)
402324:	ff 15 d8 a2 40 00    	call   *0x40a2d8
40232a:	5f                   	pop    %edi
40232b:	5e                   	pop    %esi
40232c:	c2 04 00             	ret    $0x4
40232f:	55                   	push   %ebp
402330:	8b ec                	mov    %esp,%ebp
402332:	51                   	push   %ecx
402333:	51                   	push   %ecx
402334:	8b 45 08             	mov    0x8(%ebp),%eax
402337:	56                   	push   %esi
402338:	8b f1                	mov    %ecx,%esi
40233a:	68 90 01 00 00       	push   $0x190
40233f:	89 46 10             	mov    %eax,0x10(%esi)
402342:	ff 15 f0 a0 40 00    	call   *0x40a0f0
402348:	8d 45 f8             	lea    -0x8(%ebp),%eax
40234b:	50                   	push   %eax
40234c:	ff 15 cc a2 40 00    	call   *0x40a2cc
402352:	33 c0                	xor    %eax,%eax
402354:	50                   	push   %eax
402355:	ff 76 0c             	push   0xc(%esi)
402358:	50                   	push   %eax
402359:	ff 75 fc             	push   -0x4(%ebp)
40235c:	ff 75 f8             	push   -0x8(%ebp)
40235f:	50                   	push   %eax
402360:	ff 76 08             	push   0x8(%esi)
402363:	ff 15 d0 a2 40 00    	call   *0x40a2d0
402369:	5e                   	pop    %esi
40236a:	c9                   	leave
40236b:	c2 04 00             	ret    $0x4
40236e:	55                   	push   %ebp
40236f:	8b ec                	mov    %esp,%ebp
402371:	81 ec 04 01 00 00    	sub    $0x104,%esp
402377:	8b 45 08             	mov    0x8(%ebp),%eax
40237a:	56                   	push   %esi
40237b:	8b f1                	mov    %ecx,%esi
40237d:	ff 70 04             	push   0x4(%eax)
402380:	ff 30                	push   (%eax)
402382:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
402388:	68 b8 c2 40 00       	push   $0x40c2b8
40238d:	50                   	push   %eax
40238e:	ff 15 58 a1 40 00    	call   *0x40a158
402394:	83 c4 10             	add    $0x10,%esp
402397:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40239d:	50                   	push   %eax
40239e:	6a 00                	push   $0x0
4023a0:	68 01 04 00 00       	push   $0x401
4023a5:	ff 76 04             	push   0x4(%esi)
4023a8:	ff 15 dc a2 40 00    	call   *0x40a2dc
4023ae:	5e                   	pop    %esi
4023af:	c9                   	leave
4023b0:	c2 04 00             	ret    $0x4
4023b3:	55                   	push   %ebp
4023b4:	8b ec                	mov    %esp,%ebp
4023b6:	51                   	push   %ecx
4023b7:	51                   	push   %ecx
4023b8:	8b 45 08             	mov    0x8(%ebp),%eax
4023bb:	53                   	push   %ebx
4023bc:	56                   	push   %esi
4023bd:	33 f6                	xor    %esi,%esi
4023bf:	57                   	push   %edi
4023c0:	8b 3d f8 a0 40 00    	mov    0x40a0f8,%edi
4023c6:	8b d9                	mov    %ecx,%ebx
4023c8:	56                   	push   %esi
4023c9:	56                   	push   %esi
4023ca:	89 43 0c             	mov    %eax,0xc(%ebx)
4023cd:	ff d7                	call   *%edi
4023cf:	50                   	push   %eax
4023d0:	56                   	push   %esi
4023d1:	ff 75 08             	push   0x8(%ebp)
4023d4:	56                   	push   %esi
4023d5:	56                   	push   %esi
4023d6:	56                   	push   %esi
4023d7:	56                   	push   %esi
4023d8:	68 10 00 80 50       	push   $0x50800010
4023dd:	56                   	push   %esi
4023de:	68 cc c2 40 00       	push   $0x40c2cc
4023e3:	56                   	push   %esi
4023e4:	ff 15 98 a2 40 00    	call   *0x40a298
4023ea:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4023ee:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4023f1:	51                   	push   %ecx
4023f2:	6a 02                	push   $0x2
4023f4:	68 04 04 00 00       	push   $0x404
4023f9:	50                   	push   %eax
4023fa:	89 43 04             	mov    %eax,0x4(%ebx)
4023fd:	c7 45 f8 78 00 00 00 	movl   $0x78,-0x8(%ebp)
402404:	ff 15 dc a2 40 00    	call   *0x40a2dc
40240a:	68 08 03 00 00       	push   $0x308
40240f:	6a ec                	push   $0xffffffec
402411:	ff 75 08             	push   0x8(%ebp)
402414:	ff 15 b0 a2 40 00    	call   *0x40a2b0
40241a:	68 97 01 00 00       	push   $0x197
40241f:	56                   	push   %esi
402420:	ff d7                	call   *%edi
402422:	50                   	push   %eax
402423:	ff 15 9c a2 40 00    	call   *0x40a29c
402429:	50                   	push   %eax
40242a:	56                   	push   %esi
40242b:	68 80 00 00 00       	push   $0x80
402430:	ff 75 08             	push   0x8(%ebp)
402433:	ff 15 dc a2 40 00    	call   *0x40a2dc
402439:	6a 28                	push   $0x28
40243b:	56                   	push   %esi
40243c:	ff d7                	call   *%edi
40243e:	50                   	push   %eax
40243f:	ff 15 c4 a2 40 00    	call   *0x40a2c4
402445:	56                   	push   %esi
402446:	50                   	push   %eax
402447:	ff 15 c8 a2 40 00    	call   *0x40a2c8
40244d:	5f                   	pop    %edi
40244e:	89 43 08             	mov    %eax,0x8(%ebx)
402451:	5e                   	pop    %esi
402452:	5b                   	pop    %ebx
402453:	c9                   	leave
402454:	c2 04 00             	ret    $0x4
402457:	55                   	push   %ebp
402458:	8b ec                	mov    %esp,%ebp
40245a:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
402460:	53                   	push   %ebx
402461:	56                   	push   %esi
402462:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
402468:	57                   	push   %edi
402469:	bb 04 01 00 00       	mov    $0x104,%ebx
40246e:	50                   	push   %eax
40246f:	53                   	push   %ebx
402470:	6a 0d                	push   $0xd
402472:	ff 75 08             	push   0x8(%ebp)
402475:	8b f1                	mov    %ecx,%esi
402477:	ff 15 dc a2 40 00    	call   *0x40a2dc
40247d:	8b 3d b4 a2 40 00    	mov    0x40a2b4,%edi
402483:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
402489:	50                   	push   %eax
40248a:	68 e9 03 00 00       	push   $0x3e9
40248f:	ff 76 0c             	push   0xc(%esi)
402492:	ff d7                	call   *%edi
402494:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
40249a:	53                   	push   %ebx
40249b:	50                   	push   %eax
40249c:	ff 75 08             	push   0x8(%ebp)
40249f:	ff 15 88 a2 40 00    	call   *0x40a288
4024a5:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
4024ab:	50                   	push   %eax
4024ac:	68 e8 03 00 00       	push   $0x3e8
4024b1:	ff 76 0c             	push   0xc(%esi)
4024b4:	ff d7                	call   *%edi
4024b6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4024b9:	50                   	push   %eax
4024ba:	ff 75 08             	push   0x8(%ebp)
4024bd:	ff 15 8c a2 40 00    	call   *0x40a28c
4024c3:	ff 75 fc             	push   -0x4(%ebp)
4024c6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4024c9:	6a 00                	push   $0x0
4024cb:	68 10 04 00 00       	push   $0x410
4024d0:	ff 15 0c a1 40 00    	call   *0x40a10c
4024d6:	8b d8                	mov    %eax,%ebx
4024d8:	85 db                	test   %ebx,%ebx
4024da:	74 3f                	je     0x40251b
4024dc:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
4024e2:	50                   	push   %eax
4024e3:	53                   	push   %ebx
4024e4:	e8 36 67 00 00       	call   0x408c1f
4024e9:	59                   	pop    %ecx
4024ea:	59                   	pop    %ecx
4024eb:	53                   	push   %ebx
4024ec:	ff 15 dc a0 40 00    	call   *0x40a0dc
4024f2:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
4024f8:	6a 5c                	push   $0x5c
4024fa:	50                   	push   %eax
4024fb:	ff 15 54 a1 40 00    	call   *0x40a154
402501:	59                   	pop    %ecx
402502:	85 c0                	test   %eax,%eax
402504:	59                   	pop    %ecx
402505:	74 03                	je     0x40250a
402507:	40                   	inc    %eax
402508:	eb 06                	jmp    0x402510
40250a:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
402510:	50                   	push   %eax
402511:	68 ea 03 00 00       	push   $0x3ea
402516:	ff 76 0c             	push   0xc(%esi)
402519:	ff d7                	call   *%edi
40251b:	6a 00                	push   $0x0
40251d:	8b 3d 90 a2 40 00    	mov    0x40a290,%edi
402523:	ff 75 fc             	push   -0x4(%ebp)
402526:	68 eb 03 00 00       	push   $0x3eb
40252b:	ff 76 0c             	push   0xc(%esi)
40252e:	ff d7                	call   *%edi
402530:	6a 00                	push   $0x0
402532:	ff 75 f8             	push   -0x8(%ebp)
402535:	68 ec 03 00 00       	push   $0x3ec
40253a:	ff 76 0c             	push   0xc(%esi)
40253d:	ff d7                	call   *%edi
40253f:	8d 45 e8             	lea    -0x18(%ebp),%eax
402542:	50                   	push   %eax
402543:	ff 75 08             	push   0x8(%ebp)
402546:	ff 15 94 a2 40 00    	call   *0x40a294
40254c:	ff 75 f4             	push   -0xc(%ebp)
40254f:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
402555:	ff 75 f0             	push   -0x10(%ebp)
402558:	ff 75 ec             	push   -0x14(%ebp)
40255b:	ff 75 e8             	push   -0x18(%ebp)
40255e:	68 e0 c2 40 00       	push   $0x40c2e0
402563:	50                   	push   %eax