40811d:	66 3b 11             	cmp    (%ecx),%dx
408120:	75 1e                	jne    0x408140
408122:	66 85 d2             	test   %dx,%dx
408125:	74 15                	je     0x40813c
408127:	66 8b 50 02          	mov    0x2(%eax),%dx
40812b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
40812f:	75 0f                	jne    0x408140
408131:	83 c0 04             	add    $0x4,%eax
408134:	83 c1 04             	add    $0x4,%ecx
408137:	66 85 d2             	test   %dx,%dx
40813a:	75 de                	jne    0x40811a
40813c:	33 c0                	xor    %eax,%eax
40813e:	eb 05                	jmp    0x408145
408140:	1b c0                	sbb    %eax,%eax
408142:	83 c8 01             	or     $0x1,%eax
408145:	85 c0                	test   %eax,%eax
408147:	75 0a                	jne    0x408153
408149:	83 4c 24 28 02       	orl    $0x2,0x28(%esp)
40814e:	e9 27 fe ff ff       	jmp    0x407f7a
408153:	b9 cc 3b 40 00       	mov    $0x403bcc,%ecx
408158:	8b c6                	mov    %esi,%eax
40815a:	66 8b 10             	mov    (%eax),%dx
40815d:	66 3b 11             	cmp    (%ecx),%dx
408160:	75 1e                	jne    0x408180
408162:	66 85 d2             	test   %dx,%dx
408165:	74 15                	je     0x40817c
408167:	66 8b 50 02          	mov    0x2(%eax),%dx
40816b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
40816f:	75 0f                	jne    0x408180
408171:	83 c0 04             	add    $0x4,%eax
408174:	83 c1 04             	add    $0x4,%ecx
408177:	66 85 d2             	test   %dx,%dx
40817a:	75 de                	jne    0x40815a
40817c:	33 c0                	xor    %eax,%eax
40817e:	eb 05                	jmp    0x408185
408180:	1b c0                	sbb    %eax,%eax
408182:	83 c8 01             	or     $0x1,%eax
408185:	85 c0                	test   %eax,%eax
408187:	75 0a                	jne    0x408193
408189:	83 4c 24 28 04       	orl    $0x4,0x28(%esp)
40818e:	e9 e7 fd ff ff       	jmp    0x407f7a
408193:	b9 dc 3b 40 00       	mov    $0x403bdc,%ecx
408198:	8b c6                	mov    %esi,%eax
40819a:	66 8b 10             	mov    (%eax),%dx
40819d:	66 3b 11             	cmp    (%ecx),%dx
4081a0:	75 1e                	jne    0x4081c0
4081a2:	66 85 d2             	test   %dx,%dx
4081a5:	74 15                	je     0x4081bc
4081a7:	66 8b 50 02          	mov    0x2(%eax),%dx
4081ab:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4081af:	75 0f                	jne    0x4081c0
4081b1:	83 c0 04             	add    $0x4,%eax
4081b4:	83 c1 04             	add    $0x4,%ecx
4081b7:	66 85 d2             	test   %dx,%dx
4081ba:	75 de                	jne    0x40819a
4081bc:	33 c0                	xor    %eax,%eax
4081be:	eb 05                	jmp    0x4081c5
4081c0:	1b c0                	sbb    %eax,%eax
4081c2:	83 c8 01             	or     $0x1,%eax
4081c5:	85 c0                	test   %eax,%eax
4081c7:	75 0a                	jne    0x4081d3
4081c9:	83 4c 24 28 10       	orl    $0x10,0x28(%esp)
4081ce:	e9 a7 fd ff ff       	jmp    0x407f7a
4081d3:	b9 e4 3b 40 00       	mov    $0x403be4,%ecx
4081d8:	8b c6                	mov    %esi,%eax
4081da:	66 8b 10             	mov    (%eax),%dx
4081dd:	66 3b 11             	cmp    (%ecx),%dx
4081e0:	75 1e                	jne    0x408200
4081e2:	66 85 d2             	test   %dx,%dx
4081e5:	74 15                	je     0x4081fc
4081e7:	66 8b 50 02          	mov    0x2(%eax),%dx
4081eb:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4081ef:	75 0f                	jne    0x408200
4081f1:	83 c0 04             	add    $0x4,%eax
4081f4:	83 c1 04             	add    $0x4,%ecx
4081f7:	66 85 d2             	test   %dx,%dx
4081fa:	75 de                	jne    0x4081da
4081fc:	33 c0                	xor    %eax,%eax
4081fe:	eb 05                	jmp    0x408205
408200:	1b c0                	sbb    %eax,%eax
408202:	83 c8 01             	or     $0x1,%eax
408205:	85 c0                	test   %eax,%eax
408207:	75 0a                	jne    0x408213
408209:	83 4c 24 28 20       	orl    $0x20,0x28(%esp)
40820e:	e9 67 fd ff ff       	jmp    0x407f7a
408213:	b8 f0 3b 40 00       	mov    $0x403bf0,%eax
408218:	66 8b 0e             	mov    (%esi),%cx
40821b:	66 3b 08             	cmp    (%eax),%cx
40821e:	75 1e                	jne    0x40823e
408220:	66 85 c9             	test   %cx,%cx
408223:	74 15                	je     0x40823a
408225:	66 8b 4e 02          	mov    0x2(%esi),%cx
408229:	66 3b 48 02          	cmp    0x2(%eax),%cx
40822d:	75 0f                	jne    0x40823e
40822f:	83 c6 04             	add    $0x4,%esi
408232:	83 c0 04             	add    $0x4,%eax
408235:	66 85 c9             	test   %cx,%cx
408238:	75 de                	jne    0x408218
40823a:	33 c0                	xor    %eax,%eax
40823c:	eb 05                	jmp    0x408243
40823e:	1b c0                	sbb    %eax,%eax
408240:	83 c8 01             	or     $0x1,%eax
408243:	85 c0                	test   %eax,%eax
408245:	0f 85 20 01 00 00    	jne    0x40836b
40824b:	83 4c 24 28 40       	orl    $0x40,0x28(%esp)
408250:	e9 25 fd ff ff       	jmp    0x407f7a
408255:	8b 74 24 18          	mov    0x18(%esp),%esi
408259:	47                   	inc    %edi
40825a:	3b f7                	cmp    %edi,%esi
40825c:	0f 86 1c fd ff ff    	jbe    0x407f7e
408262:	8b 34 bb             	mov    (%ebx,%edi,4),%esi
408265:	b9 08 3c 40 00       	mov    $0x403c08,%ecx
40826a:	8b c6                	mov    %esi,%eax
40826c:	66 8b 10             	mov    (%eax),%dx
40826f:	66 3b 11             	cmp    (%ecx),%dx
408272:	75 1e                	jne    0x408292
408274:	66 85 d2             	test   %dx,%dx
408277:	74 15                	je     0x40828e
408279:	66 8b 50 02          	mov    0x2(%eax),%dx
40827d:	66 3b 51 02          	cmp    0x2(%ecx),%dx
408281:	75 0f                	jne    0x408292
408283:	83 c0 04             	add    $0x4,%eax
408286:	83 c1 04             	add    $0x4,%ecx
408289:	66 85 d2             	test   %dx,%dx
40828c:	75 de                	jne    0x40826c
40828e:	33 c0                	xor    %eax,%eax
408290:	eb 05                	jmp    0x408297
408292:	1b c0                	sbb    %eax,%eax
408294:	83 c8 01             	or     $0x1,%eax
408297:	85 c0                	test   %eax,%eax
408299:	75 0d                	jne    0x4082a8
40829b:	c7 44 24 2c 02 00 00 	movl   $0x2,0x2c(%esp)
4082a2:	00
4082a3:	e9 d2 fc ff ff       	jmp    0x407f7a
4082a8:	b9 78 3b 40 00       	mov    $0x403b78,%ecx
4082ad:	8b c6                	mov    %esi,%eax
4082af:	66 8b 10             	mov    (%eax),%dx
4082b2:	66 3b 11             	cmp    (%ecx),%dx
4082b5:	75 1e                	jne    0x4082d5
4082b7:	66 85 d2             	test   %dx,%dx
4082ba:	74 15                	je     0x4082d1
4082bc:	66 8b 50 02          	mov    0x2(%eax),%dx
4082c0:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4082c4:	75 0f                	jne    0x4082d5
4082c6:	83 c0 04             	add    $0x4,%eax
4082c9:	83 c1 04             	add    $0x4,%ecx
4082cc:	66 85 d2             	test   %dx,%dx
4082cf:	75 de                	jne    0x4082af
4082d1:	33 c0                	xor    %eax,%eax
4082d3:	eb 05                	jmp    0x4082da
4082d5:	1b c0                	sbb    %eax,%eax
4082d7:	83 c8 01             	or     $0x1,%eax
4082da:	85 c0                	test   %eax,%eax
4082dc:	75 0d                	jne    0x4082eb
4082de:	c7 44 24 2c 03 00 00 	movl   $0x3,0x2c(%esp)
4082e5:	00
4082e6:	e9 8f fc ff ff       	jmp    0x407f7a
4082eb:	b8 94 3b 40 00       	mov    $0x403b94,%eax
4082f0:	66 8b 0e             	mov    (%esi),%cx
4082f3:	66 3b 08             	cmp    (%eax),%cx
4082f6:	75 1e                	jne    0x408316
4082f8:	66 85 c9             	test   %cx,%cx
4082fb:	74 15                	je     0x408312
4082fd:	66 8b 4e 02          	mov    0x2(%esi),%cx
408301:	66 3b 48 02          	cmp    0x2(%eax),%cx
408305:	75 0f                	jne    0x408316
408307:	83 c6 04             	add    $0x4,%esi
40830a:	83 c0 04             	add    $0x4,%eax
40830d:	66 85 c9             	test   %cx,%cx
408310:	75 de                	jne    0x4082f0
408312:	33 c0                	xor    %eax,%eax
408314:	eb 05                	jmp    0x40831b
408316:	1b c0                	sbb    %eax,%eax
408318:	83 c8 01             	or     $0x1,%eax
40831b:	85 c0                	test   %eax,%eax
40831d:	75 56                	jne    0x408375
40831f:	c7 44 24 2c ff ff ff 	movl   $0xffffffff,0x2c(%esp)
408326:	ff
408327:	e9 4e fc ff ff       	jmp    0x407f7a
40832c:	8b 74 24 18          	mov    0x18(%esp),%esi
408330:	47                   	inc    %edi
408331:	8b 54 24 14          	mov    0x14(%esp),%edx
408335:	3b f7                	cmp    %edi,%esi
408337:	0f 86 c6 d4 ff ff    	jbe    0x405803
40833d:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
408340:	89 44 24 38          	mov    %eax,0x38(%esp)
408344:	e9 ba d4 ff ff       	jmp    0x405803
408349:	8b 74 24 18          	mov    0x18(%esp),%esi
40834d:	47                   	inc    %edi
40834e:	3b f7                	cmp    %edi,%esi
408350:	0f 86 28 fc ff ff    	jbe    0x407f7e
408356:	ff 34 bb             	push   (%ebx,%edi,4)
408359:	ff 15 0c f1 40 00    	call   *0x40f10c
40835f:	83 c4 04             	add    $0x4,%esp
408362:	89 44 24 20          	mov    %eax,0x20(%esp)
408366:	e9 13 fc ff ff       	jmp    0x407f7e
40836b:	c7 44 24 3c b4 11 40 	movl   $0x4011b4,0x3c(%esp)
408372:	00
408373:	eb 08                	jmp    0x40837d
408375:	c7 44 24 3c a4 11 40 	movl   $0x4011a4,0x3c(%esp)
40837c:	00
40837d:	8d 54 24 3c          	lea    0x3c(%esp),%edx
408381:	b9 69 00 00 00       	mov    $0x69,%ecx
408386:	e8 24 22 00 00       	call   0x40a5af
40838b:	bb 57 00 00 00       	mov    $0x57,%ebx
408390:	33 f6                	xor    %esi,%esi
408392:	e9 6b d6 ff ff       	jmp    0x405a02
408397:	33 ff                	xor    %edi,%edi
408399:	89 7c 24 50          	mov    %edi,0x50(%esp)
40839d:	e9 97 d4 ff ff       	jmp    0x405839
4083a2:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
4083a9:	0f 85 32 e5 ff ff    	jne    0x4068e1
4083af:	e9 21 e5 ff ff       	jmp    0x4068d5
4083b4:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
4083bb:	0f 85 20 e5 ff ff    	jne    0x4068e1
4083c1:	e9 0f e5 ff ff       	jmp    0x4068d5
4083c6:	6a 04                	push   $0x4
4083c8:	6a 00                	push   $0x0
4083ca:	ff 74 24 24          	push   0x24(%esp)
4083ce:	ff 15 4c 00 41 00    	call   *0x41004c
4083d4:	8b f0                	mov    %eax,%esi
4083d6:	89 74 24 14          	mov    %esi,0x14(%esp)
4083da:	85 f6                	test   %esi,%esi
4083dc:	0f 84 10 e9 ff ff    	je     0x406cf2
4083e2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4083e6:	85 c9                	test   %ecx,%ecx
4083e8:	75 0f                	jne    0x4083f9
4083ea:	39 4c 24 30          	cmp    %ecx,0x30(%esp)
4083ee:	75 09                	jne    0x4083f9
4083f0:	b9 30 00 00 00       	mov    $0x30,%ecx
4083f5:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4083f9:	33 db                	xor    %ebx,%ebx
4083fb:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4083ff:	39 5c 24 40          	cmp    %ebx,0x40(%esp)
408403:	74 47                	je     0x40844c
408405:	8b 44 24 38          	mov    0x38(%esp),%eax
408409:	8b d1                	mov    %ecx,%edx
40840b:	89 7c 24 44          	mov    %edi,0x44(%esp)
40840f:	8b ce                	mov    %esi,%ecx
408411:	85 c0                	test   %eax,%eax
408413:	75 03                	jne    0x408418
408415:	50                   	push   %eax
408416:	eb 01                	jmp    0x408419
408418:	50                   	push   %eax
408419:	8d 44 24 50          	lea    0x50(%esp),%eax
40841d:	50                   	push   %eax
40841e:	8d 44 24 50          	lea    0x50(%esp),%eax
408422:	50                   	push   %eax
408423:	8d 44 24 64          	lea    0x64(%esp),%eax
408427:	50                   	push   %eax
408428:	ff 74 24 30          	push   0x30(%esp)
40842c:	57                   	push   %edi
40842d:	ff 74 24 44          	push   0x44(%esp)
408431:	e8 b2 45 00 00       	call   0x40c9e8
408436:	85 c0                	test   %eax,%eax
408438:	0f 85 8a 00 00 00    	jne    0x4084c8
40843e:	ff 15 40 f0 40 00    	call   *0x40f040
408444:	8b d8                	mov    %eax,%ebx
408446:	89 5c 24 18          	mov    %ebx,0x18(%esp)
40844a:	eb 3a                	jmp    0x408486
40844c:	ff 74 24 38          	push   0x38(%esp)
408450:	8d 44 24 50          	lea    0x50(%esp),%eax
408454:	89 7c 24 58          	mov    %edi,0x58(%esp)
408458:	50                   	push   %eax
408459:	8d 44 24 50          	lea    0x50(%esp),%eax
40845d:	50                   	push   %eax
40845e:	8d 44 24 64          	lea    0x64(%esp),%eax
408462:	50                   	push   %eax
408463:	ff 74 24 30          	push   0x30(%esp)
408467:	57                   	push   %edi
408468:	ff 74 24 44          	push   0x44(%esp)
40846c:	51                   	push   %ecx
40846d:	6a 00                	push   $0x0
40846f:	56                   	push   %esi
408470:	ff 15 20 00 41 00    	call   *0x410020
408476:	85 c0                	test   %eax,%eax
408478:	75 4e                	jne    0x4084c8
40847a:	ff 15 40 f0 40 00    	call   *0x40f040
408480:	8b d8                	mov    %eax,%ebx
408482:	89 44 24 18          	mov    %eax,0x18(%esp)
408486:	85 db                	test   %ebx,%ebx
408488:	74 3e                	je     0x4084c8
40848a:	81 fb ea 00 00 00    	cmp    $0xea,%ebx
408490:	74 36                	je     0x4084c8
408492:	83 7c 24 40 00       	cmpl   $0x0,0x40(%esp)
408497:	8d 7c 24 70          	lea    0x70(%esp),%edi
40849b:	b9 0a 00 00 00       	mov    $0xa,%ecx
4084a0:	be 84 3c 40 00       	mov    $0x403c84,%esi
4084a5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4084a7:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4084a9:	74 0a                	je     0x4084b5
4084ab:	33 c0                	xor    %eax,%eax
4084ad:	66 89 84 24 94 00 00 	mov    %ax,0x94(%esp)
4084b4:	00
4084b5:	8b d3                	mov    %ebx,%edx
4084b7:	8d 4c 24 70          	lea    0x70(%esp),%ecx
4084bb:	e8 c0 04 00 00       	call   0x408980
4084c0:	8b d8                	mov    %eax,%ebx
4084c2:	8b 44 24 48          	mov    0x48(%esp),%eax
4084c6:	eb 66                	jmp    0x40852e
4084c8:	8b 44 24 48          	mov    0x48(%esp),%eax
4084cc:	33 f6                	xor    %esi,%esi
4084ce:	85 c0                	test   %eax,%eax
4084d0:	74 60                	je     0x408532
4084d2:	8b 7c 24 40          	mov    0x40(%esp),%edi
4084d6:	8b 5c 24 44          	mov    0x44(%esp),%ebx
4084da:	85 ff                	test   %edi,%edi
4084dc:	74 19                	je     0x4084f7
4084de:	8b 0b                	mov    (%ebx),%ecx
4084e0:	8d 43 08             	lea    0x8(%ebx),%eax
4084e3:	8b 53 04             	mov    0x4(%ebx),%edx
4084e6:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4084ea:	8d 43 04             	lea    0x4(%ebx),%eax
4084ed:	83 c3 24             	add    $0x24,%ebx
4084f0:	b8 01 00 00 00       	mov    $0x1,%eax
4084f5:	eb 1b                	jmp    0x408512
4084f7:	8b 54 24 54          	mov    0x54(%esp),%edx
4084fb:	8b 0a                	mov    (%edx),%ecx
4084fd:	8d 42 08             	lea    0x8(%edx),%eax
408500:	89 44 24 1c          	mov    %eax,0x1c(%esp)
408504:	8d 42 04             	lea    0x4(%edx),%eax
408507:	83 c2 2c             	add    $0x2c,%edx
40850a:	89 54 24 54          	mov    %edx,0x54(%esp)
40850e:	8b 10                	mov    (%eax),%edx
408510:	33 c0                	xor    %eax,%eax
408512:	50                   	push   %eax
408513:	8d 44 24 20          	lea    0x20(%esp),%eax
408517:	50                   	push   %eax
408518:	e8 73 d5 ff ff       	call   0x405a90
40851d:	8b 44 24 48          	mov    0x48(%esp),%eax
408521:	46                   	inc    %esi
408522:	3b f0                	cmp    %eax,%esi
408524:	72 b4                	jb     0x4084da
408526:	89 5c 24 44          	mov    %ebx,0x44(%esp)
40852a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40852e:	8b 7c 24 50          	mov    0x50(%esp),%edi
408532:	8b 74 24 14          	mov    0x14(%esp),%esi
408536:	81 fb ea 00 00 00    	cmp    $0xea,%ebx
40853c:	0f 85 c0 d4 ff ff    	jne    0x405a02
408542:	8b 4c 24 28          	mov    0x28(%esp),%ecx
408546:	85 c0                	test   %eax,%eax
408548:	0f 85 ab fe ff ff    	jne    0x4083f9
40854e:	ff 74 24 4c          	push   0x4c(%esp)
408552:	ba 67 00 00 00       	mov    $0x67,%edx
408557:	b9 b0 3c 40 00       	mov    $0x403cb0,%ecx
40855c:	ff 74 24 5c          	push   0x5c(%esp)
408560:	e8 ae 04 00 00       	call   0x408a13
408565:	e9 98 d4 ff ff       	jmp    0x405a02
40856a:	33 d2                	xor    %edx,%edx
40856c:	8d 4a 6b             	lea    0x6b(%edx),%ecx