408189:	66 89 07             	mov    %ax,(%edi)
40818c:	ff 15 98 a0 44 00    	call   *0x44a098
408192:	83 f8 ff             	cmp    $0xffffffff,%eax
408195:	75 3f                	jne    0x4081d6
408197:	ff 15 80 a0 44 00    	call   *0x44a080
40819d:	a3 a8 67 43 00       	mov    %eax,0x4367a8
4081a2:	66 89 1f             	mov    %bx,(%edi)
4081a5:	83 3d a8 67 43 00 00 	cmpl   $0x0,0x4367a8
4081ac:	74 2c                	je     0x4081da
4081ae:	33 f6                	xor    %esi,%esi
4081b0:	46                   	inc    %esi
4081b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4081b4:	33 c9                	xor    %ecx,%ecx
4081b6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4081b9:	85 c0                	test   %eax,%eax
4081bb:	74 08                	je     0x4081c5
4081bd:	50                   	push   %eax
4081be:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4081c4:	59                   	pop    %ecx
4081c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4081c8:	8b c6                	mov    %esi,%eax
4081ca:	5f                   	pop    %edi
4081cb:	5e                   	pop    %esi
4081cc:	33 cd                	xor    %ebp,%ecx
4081ce:	5b                   	pop    %ebx
4081cf:	e8 5c e9 00 00       	call   0x416b30
4081d4:	c9                   	leave
4081d5:	c3                   	ret
4081d6:	33 c0                	xor    %eax,%eax
4081d8:	eb c3                	jmp    0x40819d
4081da:	8b ce                	mov    %esi,%ecx
4081dc:	e8 40 0d 00 00       	call   0x408f21
4081e1:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
4081e7:	89 46 18             	mov    %eax,0x18(%esi)
4081ea:	eb c5                	jmp    0x4081b1
4081ec:	8b ff                	mov    %edi,%edi
4081ee:	55                   	push   %ebp
4081ef:	8b ec                	mov    %esp,%ebp
4081f1:	51                   	push   %ecx
4081f2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4081f6:	56                   	push   %esi
4081f7:	8b f1                	mov    %ecx,%esi
4081f9:	c6 05 d3 e0 42 00 00 	movb   $0x0,0x42e0d3
408200:	6a ff                	push   $0xffffffff
408202:	56                   	push   %esi
408203:	ff 15 7c a2 44 00    	call   *0x44a27c
408209:	8d 45 fc             	lea    -0x4(%ebp),%eax
40820c:	50                   	push   %eax
40820d:	56                   	push   %esi
40820e:	ff 15 08 a2 44 00    	call   *0x44a208
408214:	81 7d fc 3a 01 00 c0 	cmpl   $0xc000013a,-0x4(%ebp)
40821b:	0f 84 84 2e 01 00    	je     0x41b0a5
408221:	56                   	push   %esi
408222:	c6 05 d3 e0 42 00 01 	movb   $0x1,0x42e0d3
408229:	ff 15 1c a1 44 00    	call   *0x44a11c
40822f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408232:	5e                   	pop    %esi
408233:	c9                   	leave
408234:	c3                   	ret
408235:	8b 0d 20 ca 43 00    	mov    0x43ca20,%ecx
40823b:	a1 1c ca 43 00       	mov    0x43ca1c,%eax
408240:	51                   	push   %ecx
408241:	6a 01                	push   $0x1
408243:	89 0d ac 25 43 00    	mov    %ecx,0x4325ac
408249:	a3 b0 25 43 00       	mov    %eax,0x4325b0
40824e:	ff 15 2c a4 44 00    	call   *0x44a42c
408254:	59                   	pop    %ecx
408255:	50                   	push   %eax
408256:	ff 15 14 a0 44 00    	call   *0x44a014
40825c:	ff 35 b0 25 43 00    	push   0x4325b0
408262:	6a 00                	push   $0x0
408264:	ff 15 2c a4 44 00    	call   *0x44a42c
40826a:	59                   	pop    %ecx
40826b:	50                   	push   %eax
40826c:	ff 15 14 a0 44 00    	call   *0x44a014
408272:	c3                   	ret
408273:	8b ff                	mov    %edi,%edi
408275:	55                   	push   %ebp
408276:	8b ec                	mov    %esp,%ebp
408278:	b8 1c 10 00 00       	mov    $0x101c,%eax
40827d:	e8 fe fc 00 00       	call   0x417f80
408282:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
408287:	33 c5                	xor    %ebp,%eax
408289:	89 45 fc             	mov    %eax,-0x4(%ebp)
40828c:	53                   	push   %ebx
40828d:	56                   	push   %esi
40828e:	57                   	push   %edi
40828f:	6a 02                	push   $0x2
408291:	8b f9                	mov    %ecx,%edi
408293:	c7 85 e4 ef ff ff 02 	movl   $0x80000002,-0x101c(%ebp)
40829a:	00 00 80
40829d:	8d 9d e4 ef ff ff    	lea    -0x101c(%ebp),%ebx
4082a3:	c7 85 e8 ef ff ff 01 	movl   $0x80000001,-0x1018(%ebp)
4082aa:	00 00 80
4082ad:	5e                   	pop    %esi
4082ae:	c6 05 55 67 43 00 01 	movb   $0x1,0x436755
4082b5:	2b df                	sub    %edi,%ebx
4082b7:	89 b5 ec ef ff ff    	mov    %esi,-0x1014(%ebp)
4082bd:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
4082c3:	50                   	push   %eax
4082c4:	68 00 00 00 02       	push   $0x2000000
4082c9:	6a 00                	push   $0x0
4082cb:	68 b0 21 40 00       	push   $0x4021b0
4082d0:	ff 34 3b             	push   (%ebx,%edi,1)
4082d3:	ff 15 48 a2 44 00    	call   *0x44a248
4082d9:	85 c0                	test   %eax,%eax
4082db:	0f 85 5f 02 00 00    	jne    0x408540
4082e1:	21 85 f8 ef ff ff    	and    %eax,-0x1008(%ebp)
4082e7:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
4082ed:	50                   	push   %eax
4082ee:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
4082f4:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
4082fb:	10 00 00
4082fe:	50                   	push   %eax
4082ff:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
408305:	50                   	push   %eax
408306:	6a 00                	push   $0x0
408308:	68 d4 20 40 00       	push   $0x4020d4
40830d:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
408313:	ff 15 4c a2 44 00    	call   *0x44a24c
408319:	85 c0                	test   %eax,%eax
40831b:	0f 84 d0 2d 01 00    	je     0x41b0f1
408321:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408327:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
40832e:	10 00 00
408331:	50                   	push   %eax
408332:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
408338:	50                   	push   %eax
408339:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
40833f:	50                   	push   %eax
408340:	6a 00                	push   $0x0
408342:	68 f4 20 40 00       	push   $0x4020f4
408347:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
40834d:	ff 15 4c a2 44 00    	call   *0x44a24c
408353:	85 c0                	test   %eax,%eax
408355:	75 1a                	jne    0x408371
408357:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
40835e:	0f 85 d5 2d 01 00    	jne    0x41b139
408364:	39 85 fc ef ff ff    	cmp    %eax,-0x1004(%ebp)
40836a:	0f 95 05 55 67 43 00 	setne  0x436755
408371:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408377:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
40837e:	10 00 00
408381:	50                   	push   %eax
408382:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
408388:	50                   	push   %eax
408389:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
40838f:	50                   	push   %eax
408390:	6a 00                	push   $0x0
408392:	68 18 21 40 00       	push   $0x402118
408397:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
40839d:	ff 15 4c a2 44 00    	call   *0x44a24c
4083a3:	85 c0                	test   %eax,%eax
4083a5:	0f 84 ba 2d 01 00    	je     0x41b165
4083ab:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
4083b1:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
4083b8:	10 00 00
4083bb:	50                   	push   %eax
4083bc:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
4083c2:	50                   	push   %eax
4083c3:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
4083c9:	50                   	push   %eax
4083ca:	6a 00                	push   $0x0
4083cc:	68 3c 21 40 00       	push   $0x40213c
4083d1:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
4083d7:	ff 15 4c a2 44 00    	call   *0x44a24c
4083dd:	85 c0                	test   %eax,%eax
4083df:	75 1a                	jne    0x4083fb
4083e1:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
4083e8:	0f 85 bf 2d 01 00    	jne    0x41b1ad
4083ee:	66 8b 85 fc ef ff ff 	mov    -0x1004(%ebp),%ax
4083f5:	66 a3 64 67 43 00    	mov    %ax,0x436764
4083fb:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408401:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
408408:	10 00 00
40840b:	50                   	push   %eax
40840c:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
408412:	50                   	push   %eax
408413:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
408419:	50                   	push   %eax
40841a:	6a 00                	push   $0x0
40841c:	68 58 21 40 00       	push   $0x402158
408421:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
408427:	ff 15 4c a2 44 00    	call   *0x44a24c
40842d:	85 c0                	test   %eax,%eax
40842f:	75 3b                	jne    0x40846c
408431:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
408438:	0f 85 95 2d 01 00    	jne    0x41b1d3
40843e:	66 8b 85 fc ef ff ff 	mov    -0x1004(%ebp),%ax
408445:	66 a3 d0 e0 42 00    	mov    %ax,0x42e0d0
40844b:	66 85 c0             	test   %ax,%ax
40844e:	0f 84 ac 2d 01 00    	je     0x41b200
408454:	6a 0d                	push   $0xd
408456:	59                   	pop    %ecx
408457:	6a 20                	push   $0x20
408459:	66 3b c1             	cmp    %cx,%ax
40845c:	59                   	pop    %ecx
40845d:	0f 84 a0 2d 01 00    	je     0x41b203
408463:	66 3b c1             	cmp    %cx,%ax
408466:	0f 87 97 2d 01 00    	ja     0x41b203
40846c:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408472:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
408479:	10 00 00
40847c:	50                   	push   %eax
40847d:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
408483:	50                   	push   %eax
408484:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
40848a:	50                   	push   %eax
40848b:	6a 00                	push   $0x0
40848d:	68 78 21 40 00       	push   $0x402178
408492:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
408498:	ff 15 4c a2 44 00    	call   *0x44a24c
40849e:	85 c0                	test   %eax,%eax
4084a0:	0f 85 a6 2d 01 00    	jne    0x41b24c
4084a6:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
4084ad:	0f 85 5c 2d 01 00    	jne    0x41b20f
4084b3:	66 8b 85 fc ef ff ff 	mov    -0x1004(%ebp),%ax
4084ba:	66 a3 cc e0 42 00    	mov    %ax,0x42e0cc
4084c0:	66 85 c0             	test   %ax,%ax
4084c3:	0f 84 73 2d 01 00    	je     0x41b23c
4084c9:	6a 0d                	push   $0xd
4084cb:	59                   	pop    %ecx
4084cc:	6a 20                	push   $0x20
4084ce:	5a                   	pop    %edx
4084cf:	66 3b c1             	cmp    %cx,%ax
4084d2:	0f 84 67 2d 01 00    	je     0x41b23f
4084d8:	66 3b c2             	cmp    %dx,%ax
4084db:	0f 87 5e 2d 01 00    	ja     0x41b23f
4084e1:	66 8b 0d d0 e0 42 00 	mov    0x42e0d0,%cx
4084e8:	66 3b ca             	cmp    %dx,%cx
4084eb:	0f 84 69 2d 01 00    	je     0x41b25a
4084f1:	66 3b c2             	cmp    %dx,%ax
4084f4:	0f 84 74 2d 01 00    	je     0x41b26e
4084fa:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408500:	c7 85 f4 ef ff ff 00 	movl   $0x1000,-0x100c(%ebp)
408507:	10 00 00
40850a:	50                   	push   %eax
40850b:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
408511:	50                   	push   %eax
408512:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
408518:	50                   	push   %eax
408519:	6a 00                	push   $0x0
40851b:	68 a0 21 40 00       	push   $0x4021a0
408520:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
408526:	ff 15 4c a2 44 00    	call   *0x44a24c
40852c:	85 c0                	test   %eax,%eax
40852e:	0f 84 4f 2d 01 00    	je     0x41b283
408534:	ff b5 f0 ef ff ff    	push   -0x1010(%ebp)
40853a:	ff 15 50 a2 44 00    	call   *0x44a250
408540:	83 c7 04             	add    $0x4,%edi
408543:	83 ee 01             	sub    $0x1,%esi
408546:	89 b5 ec ef ff ff    	mov    %esi,-0x1014(%ebp)
40854c:	0f 85 6b fd ff ff    	jne    0x4082bd
408552:	6a 00                	push   $0x0
408554:	ff 15 bc a3 44 00    	call   *0x44a3bc
40855a:	50                   	push   %eax
40855b:	ff 15 c0 a3 44 00    	call   *0x44a3c0
408561:	59                   	pop    %ecx
408562:	59                   	pop    %ecx
408563:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408566:	5f                   	pop    %edi
408567:	5e                   	pop    %esi
408568:	33 cd                	xor    %ebp,%ecx
40856a:	5b                   	pop    %ebx
40856b:	e8 c0 e5 00 00       	call   0x416b30
408570:	c9                   	leave
408571:	c3                   	ret
408572:	8b ff                	mov    %edi,%edi
408574:	55                   	push   %ebp
408575:	8b ec                	mov    %esp,%ebp
408577:	81 ec 04 01 00 00    	sub    $0x104,%esp
40857d:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
408582:	33 c5                	xor    %ebp,%eax
408584:	89 45 fc             	mov    %eax,-0x4(%ebp)
408587:	53                   	push   %ebx
408588:	56                   	push   %esi
408589:	57                   	push   %edi
40858a:	e8 02 02 00 00       	call   0x408791
40858f:	6a 08                	push   $0x8
408591:	5f                   	pop    %edi
408592:	57                   	push   %edi
408593:	be e0 c9 43 00       	mov    $0x43c9e0,%esi
408598:	8b d8                	mov    %eax,%ebx
40859a:	56                   	push   %esi
40859b:	6a 1e                	push   $0x1e
40859d:	53                   	push   %ebx
40859e:	ff 15 84 a1 44 00    	call   *0x44a184
4085a4:	85 c0                	test   %eax,%eax
4085a6:	0f 84 4d 2d 01 00    	je     0x41b2f9
4085ac:	be 80 00 00 00       	mov    $0x80,%esi
4085b1:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4085b7:	56                   	push   %esi
4085b8:	50                   	push   %eax
4085b9:	6a 23                	push   $0x23
4085bb:	53                   	push   %ebx
4085bc:	ff 15 84 a1 44 00    	call   *0x44a184
4085c2:	85 c0                	test   %eax,%eax
4085c4:	74 3c                	je     0x408602
4085c6:	b9 18 22 40 00       	mov    $0x402218,%ecx
4085cb:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4085d1:	66 8b 10             	mov    (%eax),%dx
4085d4:	66 3b 11             	cmp    (%ecx),%dx
4085d7:	0f 85 aa 01 00 00    	jne    0x408787
4085dd:	66 85 d2             	test   %dx,%dx
4085e0:	74 19                	je     0x4085fb
4085e2:	66 8b 50 02          	mov    0x2(%eax),%dx
4085e6:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4085ea:	0f 85 97 01 00 00    	jne    0x408787
4085f0:	83 c0 04             	add    $0x4,%eax
4085f3:	83 c1 04             	add    $0x4,%ecx
4085f6:	66 85 d2             	test   %dx,%dx
4085f9:	75 d6                	jne    0x4085d1
4085fb:	33 c0                	xor    %eax,%eax
4085fd:	a3 c4 e0 42 00       	mov    %eax,0x42e0c4
408602:	83 25 8c e5 42 00 00 	andl   $0x0,0x42e58c
408609:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40860f:	56                   	push   %esi
408610:	50                   	push   %eax
408611:	6a 21                	push   $0x21
408613:	53                   	push   %ebx
408614:	ff 15 84 a1 44 00    	call   *0x44a184
40861a:	85 c0                	test   %eax,%eax
40861c:	74 20                	je     0x40863e
40861e:	0f b7 85 fc fe ff ff 	movzwl -0x104(%ebp),%eax
408625:	83 e8 30             	sub    $0x30,%eax
408628:	0f 85 03 2d 01 00    	jne    0x41b331
40862e:	21 05 8c e5 42 00    	and    %eax,0x42e58c
408634:	c7 05 88 e5 42 00 04 	movl   $0x402204,0x42e588
40863b:	22 40 00
40863e:	56                   	push   %esi
40863f:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
408645:	c7 05 84 e5 42 00 02 	movl   $0x2,0x42e584
40864c:	00 00 00
40864f:	50                   	push   %eax
408650:	6a 24                	push   $0x24
408652:	53                   	push   %ebx
408653:	ff 15 84 a1 44 00    	call   *0x44a184
408659:	6a 31                	push   $0x31
40865b:	59                   	pop    %ecx
40865c:	85 c0                	test   %eax,%eax
40865e:	74 13                	je     0x408673
408660:	66 39 8d fc fe ff ff 	cmp    %cx,-0x104(%ebp)
408667:	75 0a                	jne    0x408673
408669:	c7 05 84 e5 42 00 04 	movl   $0x4,0x42e584
408670:	00 00 00
408673:	57                   	push   %edi
408674:	be d0 c9 43 00       	mov    $0x43c9d0,%esi
408679:	56                   	push   %esi
40867a:	6a 1d                	push   $0x1d
40867c:	53                   	push   %ebx