4020e6:	59                   	pop    %ecx
4020e7:	5f                   	pop    %edi
4020e8:	5e                   	pop    %esi
4020e9:	5b                   	pop    %ebx
4020ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4020ed:	33 cd                	xor    %ebp,%ecx
4020ef:	e8 b6 7a 01 00       	call   0x419baa
4020f4:	8b e5                	mov    %ebp,%esp
4020f6:	5d                   	pop    %ebp
4020f7:	c2 18 00             	ret    $0x18
4020fa:	e8 94 d8 01 00       	call   0x41f993
4020ff:	cc                   	int3
402100:	55                   	push   %ebp
402101:	8b ec                	mov    %esp,%ebp
402103:	6a ff                	push   $0xffffffff
402105:	68 f3 b6 43 00       	push   $0x43b6f3
40210a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402110:	50                   	push   %eax
402111:	83 ec 24             	sub    $0x24,%esp
402114:	a1 14 50 45 00       	mov    0x455014,%eax
402119:	33 c5                	xor    %ebp,%eax
40211b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40211e:	53                   	push   %ebx
40211f:	56                   	push   %esi
402120:	57                   	push   %edi
402121:	50                   	push   %eax
402122:	8d 45 f4             	lea    -0xc(%ebp),%eax
402125:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40212b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
402132:	a1 20 72 45 00       	mov    0x457220,%eax
402137:	85 c0                	test   %eax,%eax
402139:	75 33                	jne    0x40216e
40213b:	68 84 00 00 00       	push   $0x84
402140:	e8 81 7a 01 00       	call   0x419bc6
402145:	8b f0                	mov    %eax,%esi
402147:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40214a:	68 84 00 00 00       	push   $0x84
40214f:	6a 00                	push   $0x0
402151:	56                   	push   %esi
402152:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402156:	e8 b5 9a 01 00       	call   0x41bc10
40215b:	83 c4 10             	add    $0x10,%esp
40215e:	8b ce                	mov    %esi,%ecx
402160:	e8 4b 14 00 00       	call   0x4035b0
402165:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402169:	a3 20 72 45 00       	mov    %eax,0x457220
40216e:	8b 48 04             	mov    0x4(%eax),%ecx
402171:	83 c0 04             	add    $0x4,%eax
402174:	68 f8 d6 44 00       	push   $0x44d6f8
402179:	50                   	push   %eax
40217a:	8b 71 14             	mov    0x14(%ecx),%esi
40217d:	8b ce                	mov    %esi,%ecx
40217f:	ff 15 5c e2 43 00    	call   *0x43e25c
402185:	ff d6                	call   *%esi
402187:	8b 45 18             	mov    0x18(%ebp),%eax
40218a:	83 c4 08             	add    $0x8,%esp
40218d:	85 c0                	test   %eax,%eax
40218f:	0f 94 c1             	sete   %cl
402192:	85 c0                	test   %eax,%eax
402194:	8b 45 30             	mov    0x30(%ebp),%eax
402197:	0f 85 9b 00 00 00    	jne    0x402238
40219d:	85 c0                	test   %eax,%eax
40219f:	0f 85 9f 00 00 00    	jne    0x402244
4021a5:	8d 4d 08             	lea    0x8(%ebp),%ecx
4021a8:	e8 d3 11 00 00       	call   0x403380
4021ad:	6a 12                	push   $0x12
4021af:	68 e0 cd 44 00       	push   $0x44cde0
4021b4:	8d 4d 20             	lea    0x20(%ebp),%ecx
4021b7:	e8 34 0d 00 00       	call   0x402ef0
4021bc:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
4021c0:	8d 45 08             	lea    0x8(%ebp),%eax
4021c3:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
4021c7:	50                   	push   %eax
4021c8:	ff 15 14 e2 43 00    	call   *0x43e214
4021ce:	85 c0                	test   %eax,%eax
4021d0:	0f 85 b1 00 00 00    	jne    0x402287
4021d6:	a1 20 72 45 00       	mov    0x457220,%eax
4021db:	85 c0                	test   %eax,%eax
4021dd:	75 33                	jne    0x402212
4021df:	68 84 00 00 00       	push   $0x84
4021e4:	e8 dd 79 01 00       	call   0x419bc6
4021e9:	8b f0                	mov    %eax,%esi
4021eb:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4021ee:	68 84 00 00 00       	push   $0x84
4021f3:	6a 00                	push   $0x0
4021f5:	56                   	push   %esi
4021f6:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4021fa:	e8 11 9a 01 00       	call   0x41bc10
4021ff:	83 c4 10             	add    $0x10,%esp
402202:	8b ce                	mov    %esi,%ecx
402204:	e8 a7 13 00 00       	call   0x4035b0
402209:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40220d:	a3 20 72 45 00       	mov    %eax,0x457220
402212:	68 d0 d7 44 00       	push   $0x44d7d0
402217:	8b 48 04             	mov    0x4(%eax),%ecx
40221a:	83 c0 04             	add    $0x4,%eax
40221d:	68 54 9f 44 00       	push   $0x449f54
402222:	50                   	push   %eax
402223:	8b 71 2c             	mov    0x2c(%ecx),%esi
402226:	8b ce                	mov    %esi,%ecx
402228:	ff 15 5c e2 43 00    	call   *0x43e25c
40222e:	ff d6                	call   *%esi
402230:	83 c4 0c             	add    $0xc,%esp
402233:	e9 ff 04 00 00       	jmp    0x402737
402238:	84 c9                	test   %cl,%cl
40223a:	75 80                	jne    0x4021bc
40223c:	85 c0                	test   %eax,%eax
40223e:	0f 85 78 ff ff ff    	jne    0x4021bc
402244:	a1 20 72 45 00       	mov    0x457220,%eax
402249:	85 c0                	test   %eax,%eax
40224b:	75 33                	jne    0x402280
40224d:	68 84 00 00 00       	push   $0x84
402252:	e8 6f 79 01 00       	call   0x419bc6
402257:	8b f0                	mov    %eax,%esi
402259:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40225c:	68 84 00 00 00       	push   $0x84
402261:	6a 00                	push   $0x0
402263:	56                   	push   %esi
402264:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
402268:	e8 a3 99 01 00       	call   0x41bc10
40226d:	83 c4 10             	add    $0x10,%esp
402270:	8b ce                	mov    %esi,%ecx
402272:	e8 39 13 00 00       	call   0x4035b0
402277:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40227b:	a3 20 72 45 00       	mov    %eax,0x457220
402280:	68 30 d7 44 00       	push   $0x44d730
402285:	eb 90                	jmp    0x402217
402287:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
40228b:	8d 4d 08             	lea    0x8(%ebp),%ecx
40228e:	0f 43 4d 08          	cmovae 0x8(%ebp),%ecx
402292:	e8 79 0e 00 00       	call   0x403110
402297:	84 c0                	test   %al,%al
402299:	75 60                	jne    0x4022fb
40229b:	a1 20 72 45 00       	mov    0x457220,%eax
4022a0:	85 c0                	test   %eax,%eax
4022a2:	75 33                	jne    0x4022d7
4022a4:	68 84 00 00 00       	push   $0x84
4022a9:	e8 18 79 01 00       	call   0x419bc6
4022ae:	8b f0                	mov    %eax,%esi
4022b0:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4022b3:	68 84 00 00 00       	push   $0x84
4022b8:	6a 00                	push   $0x0
4022ba:	56                   	push   %esi
4022bb:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4022bf:	e8 4c 99 01 00       	call   0x41bc10
4022c4:	83 c4 10             	add    $0x10,%esp
4022c7:	8b ce                	mov    %esi,%ecx
4022c9:	e8 e2 12 00 00       	call   0x4035b0
4022ce:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4022d2:	a3 20 72 45 00       	mov    %eax,0x457220
4022d7:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
4022db:	8d 48 04             	lea    0x4(%eax),%ecx
4022de:	8b 31                	mov    (%ecx),%esi
4022e0:	8d 45 08             	lea    0x8(%ebp),%eax
4022e3:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
4022e7:	50                   	push   %eax
4022e8:	68 70 d8 44 00       	push   $0x44d870
4022ed:	8b 76 2c             	mov    0x2c(%esi),%esi
4022f0:	68 54 9f 44 00       	push   $0x449f54
4022f5:	51                   	push   %ecx
4022f6:	e9 2f 04 00 00       	jmp    0x40272a
4022fb:	68 3f 00 0f 00       	push   $0xf003f
402300:	6a 00                	push   $0x0
402302:	6a 00                	push   $0x0
402304:	ff 15 20 e0 43 00    	call   *0x43e020
40230a:	8b f8                	mov    %eax,%edi
40230c:	85 ff                	test   %edi,%edi
40230e:	0f 84 bf 03 00 00    	je     0x4026d3
402314:	83 ff ff             	cmp    $0xffffffff,%edi
402317:	0f 84 b6 03 00 00    	je     0x4026d3
40231d:	83 7d 34 08          	cmpl   $0x8,0x34(%ebp)
402321:	8d 4d 20             	lea    0x20(%ebp),%ecx
402324:	68 ff 01 0f 00       	push   $0xf01ff
402329:	0f 43 4d 20          	cmovae 0x20(%ebp),%ecx
40232d:	51                   	push   %ecx
40232e:	57                   	push   %edi
40232f:	ff 15 0c e0 43 00    	call   *0x43e00c
402335:	8b f0                	mov    %eax,%esi
402337:	85 f6                	test   %esi,%esi
402339:	74 7e                	je     0x4023b9
40233b:	83 fe ff             	cmp    $0xffffffff,%esi
40233e:	74 79                	je     0x4023b9
402340:	83 ec 18             	sub    $0x18,%esp
402343:	8b cc                	mov    %esp,%ecx
402345:	6a 00                	push   $0x0
402347:	68 54 9f 44 00       	push   $0x449f54
40234c:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
402352:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
402359:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
402360:	e8 9b 0c 00 00       	call   0x403000
402365:	8b d6                	mov    %esi,%edx
402367:	8b cf                	mov    %edi,%ecx
402369:	e8 72 04 00 00       	call   0x4027e0
40236e:	3c 01                	cmp    $0x1,%al
402370:	0f 85 a8 00 00 00    	jne    0x40241e
402376:	a1 20 72 45 00       	mov    0x457220,%eax
40237b:	85 c0                	test   %eax,%eax
40237d:	75 33                	jne    0x4023b2
40237f:	68 84 00 00 00       	push   $0x84
402384:	e8 3d 78 01 00       	call   0x419bc6
402389:	8b f0                	mov    %eax,%esi
40238b:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40238e:	68 84 00 00 00       	push   $0x84
402393:	6a 00                	push   $0x0
402395:	56                   	push   %esi
402396:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40239a:	e8 71 98 01 00       	call   0x41bc10
40239f:	83 c4 10             	add    $0x10,%esp
4023a2:	8b ce                	mov    %esi,%ecx
4023a4:	e8 07 12 00 00       	call   0x4035b0
4023a9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4023ad:	a3 20 72 45 00       	mov    %eax,0x457220
4023b2:	68 00 d9 44 00       	push   $0x44d900
4023b7:	eb 4e                	jmp    0x402407
4023b9:	ff 15 6c e0 43 00    	call   *0x43e06c
4023bf:	3d 24 04 00 00       	cmp    $0x424,%eax
4023c4:	75 58                	jne    0x40241e
4023c6:	a1 20 72 45 00       	mov    0x457220,%eax
4023cb:	85 c0                	test   %eax,%eax
4023cd:	75 33                	jne    0x402402
4023cf:	68 84 00 00 00       	push   $0x84
4023d4:	e8 ed 77 01 00       	call   0x419bc6
4023d9:	8b f0                	mov    %eax,%esi
4023db:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4023de:	68 84 00 00 00       	push   $0x84
4023e3:	6a 00                	push   $0x0
4023e5:	56                   	push   %esi
4023e6:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4023ea:	e8 21 98 01 00       	call   0x41bc10
4023ef:	83 c4 10             	add    $0x10,%esp
4023f2:	8b ce                	mov    %esi,%ecx
4023f4:	e8 b7 11 00 00       	call   0x4035b0
4023f9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4023fd:	a3 20 72 45 00       	mov    %eax,0x457220
402402:	68 60 d9 44 00       	push   $0x44d960
402407:	8b 48 04             	mov    0x4(%eax),%ecx
40240a:	83 c0 04             	add    $0x4,%eax
40240d:	50                   	push   %eax
40240e:	8b 71 14             	mov    0x14(%ecx),%esi
402411:	8b ce                	mov    %esi,%ecx
402413:	ff 15 5c e2 43 00    	call   *0x43e25c
402419:	ff d6                	call   *%esi
40241b:	83 c4 08             	add    $0x8,%esp
40241e:	6a 01                	push   $0x1
402420:	68 80 da 44 00       	push   $0x44da80
402425:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402428:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40242f:	32 db                	xor    %bl,%bl
402431:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402438:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40243f:	e8 bc 0b 00 00       	call   0x403000
402444:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
402448:	8d 45 08             	lea    0x8(%ebp),%eax
40244b:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
40244f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402452:	ff 75 18             	push   0x18(%ebp)
402455:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
402459:	50                   	push   %eax
40245a:	e8 11 09 00 00       	call   0x402d70
40245f:	6a 01                	push   $0x1
402461:	68 80 da 44 00       	push   $0x44da80
402466:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402469:	e8 02 09 00 00       	call   0x402d70
40246e:	a1 20 72 45 00       	mov    0x457220,%eax
402473:	85 c0                	test   %eax,%eax
402475:	75 33                	jne    0x4024aa
402477:	68 84 00 00 00       	push   $0x84
40247c:	e8 45 77 01 00       	call   0x419bc6
402481:	8b f0                	mov    %eax,%esi
402483:	89 75 d4             	mov    %esi,-0x2c(%ebp)
402486:	68 84 00 00 00       	push   $0x84
40248b:	6a 00                	push   $0x0
40248d:	56                   	push   %esi
40248e:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
402492:	e8 79 97 01 00       	call   0x41bc10
402497:	83 c4 10             	add    $0x10,%esp
40249a:	8b ce                	mov    %esi,%ecx
40249c:	e8 0f 11 00 00       	call   0x4035b0
4024a1:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4024a5:	a3 20 72 45 00       	mov    %eax,0x457220
4024aa:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4024ae:	8d 50 04             	lea    0x4(%eax),%edx
4024b1:	8b 02                	mov    (%edx),%eax
4024b3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4024b6:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
4024ba:	51                   	push   %ecx
4024bb:	68 84 da 44 00       	push   $0x44da84
4024c0:	8b 70 04             	mov    0x4(%eax),%esi
4024c3:	8b ce                	mov    %esi,%ecx
4024c5:	52                   	push   %edx
4024c6:	ff 15 5c e2 43 00    	call   *0x43e25c
4024cc:	ff d6                	call   *%esi
4024ce:	83 c4 0c             	add    $0xc,%esp
4024d1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4024d4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4024d8:	8d 4d 20             	lea    0x20(%ebp),%ecx
4024db:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4024df:	83 7d 34 08          	cmpl   $0x8,0x34(%ebp)
4024e3:	6a 00                	push   $0x0
4024e5:	0f 43 4d 20          	cmovae 0x20(%ebp),%ecx
4024e9:	6a 00                	push   $0x0
4024eb:	6a 00                	push   $0x0
4024ed:	6a 00                	push   $0x0
4024ef:	6a 00                	push   $0x0
4024f1:	50                   	push   %eax
4024f2:	6a 01                	push   $0x1
4024f4:	6a 02                	push   $0x2
4024f6:	6a 10                	push   $0x10
4024f8:	68 ff 01 0f 00       	push   $0xf01ff
4024fd:	6a 00                	push   $0x0
4024ff:	51                   	push   %ecx
402500:	57                   	push   %edi
402501:	ff 15 28 e0 43 00    	call   *0x43e028
402507:	8b f0                	mov    %eax,%esi
402509:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40250c:	85 f6                	test   %esi,%esi
40250e:	0f 84 fa 00 00 00    	je     0x40260e
402514:	83 fe ff             	cmp    $0xffffffff,%esi
402517:	0f 84 f1 00 00 00    	je     0x40260e
40251d:	83 ec 18             	sub    $0x18,%esp
402520:	8b cc                	mov    %esp,%ecx
402522:	6a 00                	push   $0x0
402524:	68 54 9f 44 00       	push   $0x449f54
402529:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40252f:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
402536:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
40253d:	e8 be 0a 00 00       	call   0x403000
402542:	8b d6                	mov    %esi,%edx
402544:	8b cf                	mov    %edi,%ecx
402546:	e8 25 ee ff ff       	call   0x401370
40254b:	3c 01                	cmp    $0x1,%al
40254d:	75 5f                	jne    0x4025ae
40254f:	a1 20 72 45 00       	mov    0x457220,%eax
402554:	85 c0                	test   %eax,%eax
402556:	75 33                	jne    0x40258b
402558:	68 84 00 00 00       	push   $0x84
40255d:	e8 64 76 01 00       	call   0x419bc6
402562:	8b f0                	mov    %eax,%esi
402564:	89 75 d0             	mov    %esi,-0x30(%ebp)
402567:	68 84 00 00 00       	push   $0x84
40256c:	6a 00                	push   $0x0
40256e:	56                   	push   %esi
40256f:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
402573:	e8 98 96 01 00       	call   0x41bc10
402578:	83 c4 10             	add    $0x10,%esp
40257b:	8b ce                	mov    %esi,%ecx
40257d:	e8 2e 10 00 00       	call   0x4035b0
402582:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
402586:	a3 20 72 45 00       	mov    %eax,0x457220
40258b:	8b 48 04             	mov    0x4(%eax),%ecx