408298:	e8 a6 f9 ff ff       	call   0x407c43
40829d:	8b f0                	mov    %eax,%esi
40829f:	85 f6                	test   %esi,%esi
4082a1:	7e 09                	jle    0x4082ac
4082a3:	0f b7 f6             	movzwl %si,%esi
4082a6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4082ac:	51                   	push   %ecx
4082ad:	51                   	push   %ecx
4082ae:	56                   	push   %esi
4082af:	6a 01                	push   $0x1
4082b1:	ff 75 14             	push   0x14(%ebp)
4082b4:	8b d7                	mov    %edi,%edx
4082b6:	8b cb                	mov    %ebx,%ecx
4082b8:	6a 00                	push   $0x0
4082ba:	6a 00                	push   $0x0
4082bc:	68 9c 16 40 00       	push   $0x40169c
4082c1:	e8 71 fe ff ff       	call   0x408137
4082c6:	5f                   	pop    %edi
4082c7:	8b c6                	mov    %esi,%eax
4082c9:	5e                   	pop    %esi
4082ca:	5b                   	pop    %ebx
4082cb:	5d                   	pop    %ebp
4082cc:	c2 14 00             	ret    $0x14
4082cf:	8b ff                	mov    %edi,%edi
4082d1:	55                   	push   %ebp
4082d2:	8b ec                	mov    %esp,%ebp
4082d4:	ff 75 0c             	push   0xc(%ebp)
4082d7:	6a 01                	push   $0x1
4082d9:	ff 75 04             	push   0x4(%ebp)
4082dc:	6a 00                	push   $0x0
4082de:	6a 00                	push   $0x0
4082e0:	68 9c 16 40 00       	push   $0x40169c
4082e5:	e8 20 ff ff ff       	call   0x40820a
4082ea:	5d                   	pop    %ebp
4082eb:	c2 08 00             	ret    $0x8
4082ee:	8b ff                	mov    %edi,%edi
4082f0:	55                   	push   %ebp
4082f1:	8b ec                	mov    %esp,%ebp
4082f3:	51                   	push   %ecx
4082f4:	51                   	push   %ecx
4082f5:	ff 75 04             	push   0x4(%ebp)
4082f8:	83 ec 0c             	sub    $0xc,%esp
4082fb:	e8 82 ff ff ff       	call   0x408282
408300:	59                   	pop    %ecx
408301:	5d                   	pop    %ebp
408302:	c2 04 00             	ret    $0x4
408305:	8b ff                	mov    %edi,%edi
408307:	55                   	push   %ebp
408308:	8b ec                	mov    %esp,%ebp
40830a:	ff 75 0c             	push   0xc(%ebp)
40830d:	ba b0 03 00 00       	mov    $0x3b0,%edx
408312:	6a 02                	push   $0x2
408314:	ff 75 04             	push   0x4(%ebp)
408317:	6a 00                	push   $0x0
408319:	6a 00                	push   $0x0
40831b:	68 e0 16 40 00       	push   $0x4016e0
408320:	e8 e5 fe ff ff       	call   0x40820a
408325:	8b 45 0c             	mov    0xc(%ebp),%eax
408328:	5d                   	pop    %ebp
408329:	c2 08 00             	ret    $0x8
40832c:	8b ff                	mov    %edi,%edi
40832e:	55                   	push   %ebp
40832f:	8b ec                	mov    %esp,%ebp
408331:	ff 75 0c             	push   0xc(%ebp)
408334:	ba 2e 01 00 00       	mov    $0x12e,%edx
408339:	6a 02                	push   $0x2
40833b:	ff 75 04             	push   0x4(%ebp)
40833e:	6a 00                	push   $0x0
408340:	6a 00                	push   $0x0
408342:	68 4c 17 40 00       	push   $0x40174c
408347:	e8 be fe ff ff       	call   0x40820a
40834c:	5d                   	pop    %ebp
40834d:	c2 08 00             	ret    $0x8
408350:	8b ff                	mov    %edi,%edi
408352:	55                   	push   %ebp
408353:	8b ec                	mov    %esp,%ebp
408355:	51                   	push   %ecx
408356:	ff 75 04             	push   0x4(%ebp)
408359:	83 ec 0c             	sub    $0xc,%esp
40835c:	e8 d0 fe ff ff       	call   0x408231
408361:	5d                   	pop    %ebp
408362:	c2 04 00             	ret    $0x4
408365:	8b ff                	mov    %edi,%edi
408367:	55                   	push   %ebp
408368:	8b ec                	mov    %esp,%ebp
40836a:	68 ff ff 00 80       	push   $0x8000ffff
40836f:	6a 03                	push   $0x3
408371:	ff 75 04             	push   0x4(%ebp)
408374:	ba 4c 0b 00 00       	mov    $0xb4c,%edx
408379:	6a 00                	push   $0x0
40837b:	6a 00                	push   $0x0
40837d:	68 a0 16 40 00       	push   $0x4016a0
408382:	e8 83 fe ff ff       	call   0x40820a
408387:	5d                   	pop    %ebp
408388:	c2 04 00             	ret    $0x4
40838b:	6a 07                	push   $0x7
40838d:	59                   	pop    %ecx
40838e:	cd 29                	int    $0x29
408390:	c3                   	ret
408391:	8b ff                	mov    %edi,%edi
408393:	55                   	push   %ebp
408394:	8b ec                	mov    %esp,%ebp
408396:	ff 75 08             	push   0x8(%ebp)
408399:	ff 15 74 31 43 00    	call   *0x433174
40839f:	85 c0                	test   %eax,%eax
4083a1:	74 04                	je     0x4083a7
4083a3:	5d                   	pop    %ebp
4083a4:	c2 04 00             	ret    $0x4
4083a7:	51                   	push   %ecx
4083a8:	8b 4d 04             	mov    0x4(%ebp),%ecx
4083ab:	ba 26 09 00 00       	mov    $0x926,%edx
4083b0:	e8 9b ff ff ff       	call   0x408350
4083b5:	cc                   	int3
4083b6:	8b ff                	mov    %edi,%edi
4083b8:	55                   	push   %ebp
4083b9:	8b ec                	mov    %esp,%ebp
4083bb:	ff 75 08             	push   0x8(%ebp)
4083be:	ff 15 d4 31 43 00    	call   *0x4331d4
4083c4:	85 c0                	test   %eax,%eax
4083c6:	74 04                	je     0x4083cc
4083c8:	5d                   	pop    %ebp
4083c9:	c2 04 00             	ret    $0x4
4083cc:	51                   	push   %ecx
4083cd:	8b 4d 04             	mov    0x4(%ebp),%ecx
4083d0:	ba 30 09 00 00       	mov    $0x930,%edx
4083d5:	e8 76 ff ff ff       	call   0x408350
4083da:	cc                   	int3
4083db:	8b ff                	mov    %edi,%edi
4083dd:	55                   	push   %ebp
4083de:	8b ec                	mov    %esp,%ebp
4083e0:	81 ec 14 02 00 00    	sub    $0x214,%esp
4083e6:	a1 64 10 41 00       	mov    0x411064,%eax
4083eb:	33 c5                	xor    %ebp,%eax
4083ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4083f0:	53                   	push   %ebx
4083f1:	56                   	push   %esi
4083f2:	57                   	push   %edi
4083f3:	8b 7d 10             	mov    0x10(%ebp),%edi
4083f6:	8b d9                	mov    %ecx,%ebx
4083f8:	8b c7                	mov    %edi,%eax
4083fa:	25 00 00 00 80       	and    $0x80000000,%eax
4083ff:	0b 45 14             	or     0x14(%ebp),%eax
408402:	0f 85 8d 00 00 00    	jne    0x408495
408408:	ff 75 08             	push   0x8(%ebp)
40840b:	be 04 01 00 00       	mov    $0x104,%esi
408410:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
408416:	8b d6                	mov    %esi,%edx
408418:	e8 42 b6 ff ff       	call   0x403a5f
40841d:	68 d8 16 40 00       	push   $0x4016d8
408422:	8b d6                	mov    %esi,%edx
408424:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40842a:	e8 0b b5 ff ff       	call   0x40393a
40842f:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
408435:	76 04                	jbe    0x40843b
408437:	8b c7                	mov    %edi,%eax
408439:	eb 03                	jmp    0x40843e
40843b:	33 c0                	xor    %eax,%eax
40843d:	40                   	inc    %eax
40843e:	68 03 00 1f 00       	push   $0x1f0003
408443:	33 f6                	xor    %esi,%esi
408445:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40844b:	56                   	push   %esi
40844c:	51                   	push   %ecx
40844d:	50                   	push   %eax
40844e:	57                   	push   %edi
40844f:	56                   	push   %esi
408450:	ff 15 fc 30 43 00    	call   *0x4330fc
408456:	85 c0                	test   %eax,%eax
408458:	74 0a                	je     0x408464
40845a:	50                   	push   %eax
40845b:	8b cb                	mov    %ebx,%ecx
40845d:	e8 2b 6e 00 00       	call   0x40f28d
408462:	eb 07                	jmp    0x40846b
408464:	e8 12 f8 ff ff       	call   0x407c7b
408469:	8b f0                	mov    %eax,%esi
40846b:	85 f6                	test   %esi,%esi
40846d:	79 13                	jns    0x408482
40846f:	56                   	push   %esi
408470:	51                   	push   %ecx
408471:	8b 4d 04             	mov    0x4(%ebp),%ecx
408474:	ba 85 00 00 00       	mov    $0x85,%edx
408479:	e8 51 fe ff ff       	call   0x4082cf
40847e:	8b c6                	mov    %esi,%eax
408480:	eb 02                	jmp    0x408484
408482:	33 c0                	xor    %eax,%eax
408484:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408487:	5f                   	pop    %edi
408488:	5e                   	pop    %esi
408489:	33 cd                	xor    %ebp,%ecx
40848b:	5b                   	pop    %ebx
40848c:	e8 9f 7f 00 00       	call   0x410430
408491:	c9                   	leave
408492:	c2 10 00             	ret    $0x10
408495:	e8 f1 fe ff ff       	call   0x40838b
40849a:	cc                   	int3
40849b:	8b ff                	mov    %edi,%edi
40849d:	55                   	push   %ebp
40849e:	8b ec                	mov    %esp,%ebp
4084a0:	83 ec 0c             	sub    $0xc,%esp
4084a3:	53                   	push   %ebx
4084a4:	56                   	push   %esi
4084a5:	57                   	push   %edi
4084a6:	33 db                	xor    %ebx,%ebx
4084a8:	8b f1                	mov    %ecx,%esi
4084aa:	53                   	push   %ebx
4084ab:	56                   	push   %esi
4084ac:	8b fa                	mov    %edx,%edi
4084ae:	ff 15 c4 30 43 00    	call   *0x4330c4
4084b4:	83 f8 ff             	cmp    $0xffffffff,%eax
4084b7:	75 13                	jne    0x4084cc
4084b9:	ba 95 00 00 00       	mov    $0x95,%edx
4084be:	51                   	push   %ecx
4084bf:	8b 4d 04             	mov    0x4(%ebp),%ecx
4084c2:	e8 27 fe ff ff       	call   0x4082ee
4084c7:	e9 df 00 00 00       	jmp    0x4085ab
4084cc:	85 c0                	test   %eax,%eax
4084ce:	74 11                	je     0x4084e1
4084d0:	3d 02 01 00 00       	cmp    $0x102,%eax
4084d5:	74 0a                	je     0x4084e1
4084d7:	ba 96 00 00 00       	mov    $0x96,%edx
4084dc:	e9 b9 00 00 00       	jmp    0x40859a
4084e1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4084e4:	85 c0                	test   %eax,%eax
4084e6:	75 3d                	jne    0x408525
4084e8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4084eb:	50                   	push   %eax
4084ec:	6a 01                	push   $0x1
4084ee:	56                   	push   %esi
4084ef:	ff 15 20 31 43 00    	call   *0x433120
4084f5:	85 c0                	test   %eax,%eax
4084f7:	75 07                	jne    0x408500
4084f9:	ba 9e 00 00 00       	mov    $0x9e,%edx
4084fe:	eb be                	jmp    0x4084be
408500:	ff 45 fc             	incl   -0x4(%ebp)
408503:	53                   	push   %ebx
408504:	6a 01                	push   $0x1
408506:	56                   	push   %esi
408507:	ff 15 20 31 43 00    	call   *0x433120
40850d:	85 c0                	test   %eax,%eax
40850f:	75 0d                	jne    0x40851e
408511:	ff 15 4c 31 43 00    	call   *0x43314c
408517:	3d 2a 01 00 00       	cmp    $0x12a,%eax
40851c:	74 6e                	je     0x40858c
40851e:	ba a3 00 00 00       	mov    $0xa3,%edx
408523:	eb 75                	jmp    0x40859a
408525:	8d 45 f8             	lea    -0x8(%ebp),%eax
408528:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40852b:	50                   	push   %eax
40852c:	6a 01                	push   $0x1
40852e:	56                   	push   %esi
40852f:	ff 15 20 31 43 00    	call   *0x433120
408535:	85 c0                	test   %eax,%eax
408537:	75 0a                	jne    0x408543
408539:	ba ad 00 00 00       	mov    $0xad,%edx
40853e:	e9 7b ff ff ff       	jmp    0x4084be
408543:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
408546:	74 07                	je     0x40854f
408548:	ba ae 00 00 00       	mov    $0xae,%edx
40854d:	eb 4b                	jmp    0x40859a
40854f:	53                   	push   %ebx
408550:	6a 01                	push   $0x1
408552:	56                   	push   %esi
408553:	ff 15 20 31 43 00    	call   *0x433120
408559:	85 c0                	test   %eax,%eax
40855b:	75 38                	jne    0x408595
40855d:	ff 15 4c 31 43 00    	call   *0x43314c
408563:	3d 2a 01 00 00       	cmp    $0x12a,%eax
408568:	75 2b                	jne    0x408595
40856a:	53                   	push   %ebx
40856b:	56                   	push   %esi
40856c:	ff 15 c4 30 43 00    	call   *0x4330c4
408572:	83 f8 ff             	cmp    $0xffffffff,%eax
408575:	75 0a                	jne    0x408581
408577:	ba b4 00 00 00       	mov    $0xb4,%edx
40857c:	e9 3d ff ff ff       	jmp    0x4084be
408581:	85 c0                	test   %eax,%eax
408583:	74 07                	je     0x40858c
408585:	ba b5 00 00 00       	mov    $0xb5,%edx
40858a:	eb 0e                	jmp    0x40859a
40858c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40858f:	89 07                	mov    %eax,(%edi)
408591:	33 c0                	xor    %eax,%eax
408593:	eb 16                	jmp    0x4085ab
408595:	ba b1 00 00 00       	mov    $0xb1,%edx
40859a:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40859f:	56                   	push   %esi
4085a0:	51                   	push   %ecx
4085a1:	8b 4d 04             	mov    0x4(%ebp),%ecx
4085a4:	e8 26 fd ff ff       	call   0x4082cf
4085a9:	8b c6                	mov    %esi,%eax
4085ab:	5f                   	pop    %edi
4085ac:	5e                   	pop    %esi
4085ad:	5b                   	pop    %ebx
4085ae:	c9                   	leave
4085af:	c3                   	ret
4085b0:	8b ff                	mov    %edi,%edi
4085b2:	55                   	push   %ebp
4085b3:	8b ec                	mov    %esp,%ebp
4085b5:	83 e4 f8             	and    $0xfffffff8,%esp
4085b8:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
4085be:	a1 64 10 41 00       	mov    0x411064,%eax
4085c3:	33 c4                	xor    %esp,%eax
4085c5:	89 84 24 18 02 00 00 	mov    %eax,0x218(%esp)
4085cc:	8b 45 08             	mov    0x8(%ebp),%eax
4085cf:	53                   	push   %ebx
4085d0:	56                   	push   %esi
4085d1:	57                   	push   %edi
4085d2:	33 ff                	xor    %edi,%edi
4085d4:	89 44 24 14          	mov    %eax,0x14(%esp)
4085d8:	51                   	push   %ecx
4085d9:	be 04 01 00 00       	mov    $0x104,%esi
4085de:	89 38                	mov    %edi,(%eax)
4085e0:	8b d6                	mov    %esi,%edx
4085e2:	89 78 04             	mov    %edi,0x4(%eax)
4085e5:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4085e9:	e8 71 b4 ff ff       	call   0x403a5f
4085ee:	68 d8 16 40 00       	push   $0x4016d8
4085f3:	8b d6                	mov    %esi,%edx
4085f5:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4085f9:	e8 3c b3 ff ff       	call   0x40393a
4085fe:	8d 44 24 18          	lea    0x18(%esp),%eax
408602:	50                   	push   %eax
408603:	57                   	push   %edi
408604:	68 03 00 1f 00       	push   $0x1f0003
408609:	ff 15 c8 30 43 00    	call   *0x4330c8
40860f:	8b f0                	mov    %eax,%esi
408611:	85 f6                	test   %esi,%esi
408613:	75 1d                	jne    0x408632
408615:	ff 15 4c 31 43 00    	call   *0x43314c
40861b:	83 f8 02             	cmp    $0x2,%eax
40861e:	74 48                	je     0x408668
408620:	51                   	push   %ecx
408621:	8b 4d 04             	mov    0x4(%ebp),%ecx
408624:	ba c9 00 00 00       	mov    $0xc9,%edx
408629:	e8 c0 fc ff ff       	call   0x4082ee
40862e:	8b f8                	mov    %eax,%edi
408630:	eb 36                	jmp    0x408668
408632:	8d 54 24 10          	lea    0x10(%esp),%edx
408636:	89 7c 24 10          	mov    %edi,0x10(%esp)
40863a:	8b ce                	mov    %esi,%ecx
40863c:	e8 5a fe ff ff       	call   0x40849b
408641:	8b d8                	mov    %eax,%ebx
408643:	85 db                	test   %ebx,%ebx
408645:	79 13                	jns    0x40865a
408647:	53                   	push   %ebx
408648:	51                   	push   %ecx
408649:	8b 4d 04             	mov    0x4(%ebp),%ecx
40864c:	ba cf 00 00 00       	mov    $0xcf,%edx
408651:	e8 79 fc ff ff       	call   0x4082cf
408656:	8b fb                	mov    %ebx,%edi