467281:	74 1c                	je     0x46729f
467283:	33 c0                	xor    %eax,%eax
467285:	50                   	push   %eax
467286:	50                   	push   %eax
467287:	ff 75 fc             	push   -0x4(%ebp)
46728a:	57                   	push   %edi
46728b:	53                   	push   %ebx
46728c:	56                   	push   %esi
46728d:	50                   	push   %eax
46728e:	50                   	push   %eax
46728f:	ff 15 70 c3 4f 00    	call   *0x4fc370
467295:	85 c0                	test   %eax,%eax
467297:	74 06                	je     0x46729f
467299:	8b df                	mov    %edi,%ebx
46729b:	33 ff                	xor    %edi,%edi
46729d:	eb 02                	jmp    0x4672a1
46729f:	33 db                	xor    %ebx,%ebx
4672a1:	6a 02                	push   $0x2
4672a3:	57                   	push   %edi
4672a4:	e8 69 c7 f9 ff       	call   0x403a12
4672a9:	59                   	pop    %ecx
4672aa:	59                   	pop    %ecx
4672ab:	eb 02                	jmp    0x4672af
4672ad:	8b df                	mov    %edi,%ebx
4672af:	85 f6                	test   %esi,%esi
4672b1:	74 07                	je     0x4672ba
4672b3:	56                   	push   %esi
4672b4:	ff 15 58 c2 4f 00    	call   *0x4fc258
4672ba:	5f                   	pop    %edi
4672bb:	5e                   	pop    %esi
4672bc:	8b c3                	mov    %ebx,%eax
4672be:	5b                   	pop    %ebx
4672bf:	8b e5                	mov    %ebp,%esp
4672c1:	5d                   	pop    %ebp
4672c2:	c3                   	ret
4672c3:	cc                   	int3
4672c4:	cc                   	int3
4672c5:	cc                   	int3
4672c6:	cc                   	int3
4672c7:	cc                   	int3
4672c8:	cc                   	int3
4672c9:	cc                   	int3
4672ca:	cc                   	int3
4672cb:	cc                   	int3
4672cc:	cc                   	int3
4672cd:	cc                   	int3
4672ce:	cc                   	int3
4672cf:	cc                   	int3
4672d0:	cc                   	int3
4672d1:	cc                   	int3
4672d2:	cc                   	int3
4672d3:	cc                   	int3
4672d4:	cc                   	int3
4672d5:	cc                   	int3
4672d6:	cc                   	int3
4672d7:	cc                   	int3
4672d8:	cc                   	int3
4672d9:	cc                   	int3
4672da:	cc                   	int3
4672db:	cc                   	int3
4672dc:	cc                   	int3
4672dd:	cc                   	int3
4672de:	cc                   	int3
4672df:	cc                   	int3
4672e0:	cc                   	int3
4672e1:	cc                   	int3
4672e2:	cc                   	int3
4672e3:	cc                   	int3
4672e4:	cc                   	int3
4672e5:	cc                   	int3
4672e6:	cc                   	int3
4672e7:	8b ff                	mov    %edi,%edi
4672e9:	56                   	push   %esi
4672ea:	57                   	push   %edi
4672eb:	ff 15 5c c2 4f 00    	call   *0x4fc25c
4672f1:	8b f0                	mov    %eax,%esi
4672f3:	85 f6                	test   %esi,%esi
4672f5:	75 04                	jne    0x4672fb
4672f7:	33 ff                	xor    %edi,%edi
4672f9:	eb 44                	jmp    0x46733f
4672fb:	53                   	push   %ebx
4672fc:	56                   	push   %esi
4672fd:	e8 dc fe ff ff       	call   0x4671de
467302:	2b c6                	sub    %esi,%eax
467304:	d1 f8                	sar    $1,%eax
467306:	6a 40                	push   $0x40
467308:	68 18 a9 4a 00       	push   $0x4aa918
46730d:	6a 02                	push   $0x2
46730f:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
467312:	53                   	push   %ebx
467313:	e8 8b c2 f9 ff       	call   0x4035a3
467318:	8b f8                	mov    %eax,%edi
46731a:	83 c4 14             	add    $0x14,%esp
46731d:	85 ff                	test   %edi,%edi
46731f:	74 0b                	je     0x46732c
467321:	53                   	push   %ebx
467322:	56                   	push   %esi
467323:	57                   	push   %edi
467324:	e8 88 be f9 ff       	call   0x4031b1
467329:	83 c4 0c             	add    $0xc,%esp
46732c:	6a 02                	push   $0x2
46732e:	6a 00                	push   $0x0
467330:	e8 dd c6 f9 ff       	call   0x403a12
467335:	59                   	pop    %ecx
467336:	59                   	pop    %ecx
467337:	56                   	push   %esi
467338:	ff 15 58 c2 4f 00    	call   *0x4fc258
46733e:	5b                   	pop    %ebx
46733f:	8b c7                	mov    %edi,%eax
467341:	5f                   	pop    %edi
467342:	5e                   	pop    %esi
467343:	c3                   	ret
467344:	cc                   	int3
467345:	cc                   	int3
467346:	cc                   	int3
467347:	cc                   	int3
467348:	cc                   	int3
467349:	cc                   	int3
46734a:	cc                   	int3
46734b:	cc                   	int3
46734c:	cc                   	int3
46734d:	cc                   	int3
46734e:	cc                   	int3
46734f:	cc                   	int3
467350:	cc                   	int3
467351:	cc                   	int3
467352:	cc                   	int3
467353:	cc                   	int3
467354:	cc                   	int3
467355:	cc                   	int3
467356:	cc                   	int3
467357:	cc                   	int3
467358:	cc                   	int3
467359:	cc                   	int3
46735a:	cc                   	int3
46735b:	8b ff                	mov    %edi,%edi
46735d:	55                   	push   %ebp
46735e:	8b ec                	mov    %esp,%ebp
467360:	83 ec 0c             	sub    $0xc,%esp
467363:	53                   	push   %ebx
467364:	8b 5d 08             	mov    0x8(%ebp),%ebx
467367:	85 db                	test   %ebx,%ebx
467369:	75 13                	jne    0x46737e
46736b:	e8 15 ae f9 ff       	call   0x402185
467370:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
467376:	83 c8 ff             	or     $0xffffffff,%eax
467379:	e9 f6 00 00 00       	jmp    0x467474
46737e:	56                   	push   %esi
46737f:	57                   	push   %edi
467380:	6a 3d                	push   $0x3d
467382:	53                   	push   %ebx
467383:	8b fb                	mov    %ebx,%edi
467385:	e8 a4 b4 f9 ff       	call   0x40282e
46738a:	8b f0                	mov    %eax,%esi
46738c:	89 75 f4             	mov    %esi,-0xc(%ebp)
46738f:	59                   	pop    %ecx
467390:	59                   	pop    %ecx
467391:	85 f6                	test   %esi,%esi
467393:	0f 84 bf 00 00 00    	je     0x467458
467399:	3b f3                	cmp    %ebx,%esi
46739b:	0f 84 b7 00 00 00    	je     0x467458
4673a1:	2b c3                	sub    %ebx,%eax
4673a3:	33 db                	xor    %ebx,%ebx
4673a5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4673a8:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
4673ad:	7c 25                	jl     0x4673d4
4673af:	68 68 a9 4a 00       	push   $0x4aa968
4673b4:	68 60 83 49 00       	push   $0x498360
4673b9:	53                   	push   %ebx
4673ba:	68 a7 00 00 00       	push   $0xa7
4673bf:	68 b8 a9 4a 00       	push   $0x4aa9b8
4673c4:	6a 02                	push   $0x2
4673c6:	e8 7c a5 f9 ff       	call   0x401947
4673cb:	83 c4 18             	add    $0x18,%esp
4673ce:	83 f8 01             	cmp    $0x1,%eax
4673d1:	75 01                	jne    0x4673d4
4673d3:	cc                   	int3
4673d4:	46                   	inc    %esi
4673d5:	68 ff 7f 00 00       	push   $0x7fff
4673da:	56                   	push   %esi
4673db:	e8 74 a7 f9 ff       	call   0x401b54
4673e0:	59                   	pop    %ecx
4673e1:	59                   	pop    %ecx
4673e2:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
4673e7:	72 25                	jb     0x46740e
4673e9:	68 30 aa 4a 00       	push   $0x4aaa30
4673ee:	68 60 83 49 00       	push   $0x498360
4673f3:	53                   	push   %ebx
4673f4:	68 a8 00 00 00       	push   $0xa8
4673f9:	68 b8 a9 4a 00       	push   $0x4aa9b8
4673fe:	6a 02                	push   $0x2
467400:	e8 42 a5 f9 ff       	call   0x401947
467405:	83 c4 18             	add    $0x18,%esp
467408:	83 f8 01             	cmp    $0x1,%eax
46740b:	75 01                	jne    0x46740e
46740d:	cc                   	int3
46740e:	38 1e                	cmp    %bl,(%esi)
467410:	8b 35 fc af 4f 00    	mov    0x4faffc,%esi
467416:	0f 94 c0             	sete   %al
467419:	88 45 ff             	mov    %al,-0x1(%ebp)
46741c:	3b 35 0c b0 4f 00    	cmp    0x4fb00c,%esi
467422:	75 12                	jne    0x467436
467424:	56                   	push   %esi
467425:	e8 63 07 00 00       	call   0x467b8d
46742a:	8b f0                	mov    %eax,%esi
46742c:	8a 45 ff             	mov    -0x1(%ebp),%al
46742f:	59                   	pop    %ecx
467430:	89 35 fc af 4f 00    	mov    %esi,0x4faffc
467436:	85 f6                	test   %esi,%esi
467438:	0f 85 db 00 00 00    	jne    0x467519
46743e:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
467441:	74 36                	je     0x467479
467443:	39 1d 00 b0 4f 00    	cmp    %ebx,0x4fb000
467449:	74 2e                	je     0x467479
46744b:	e8 50 b0 f9 ff       	call   0x4024a0
467450:	85 c0                	test   %eax,%eax
467452:	0f 85 89 00 00 00    	jne    0x4674e1
467458:	e8 28 ad f9 ff       	call   0x402185
46745d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
467463:	83 cb ff             	or     $0xffffffff,%ebx
467466:	6a 02                	push   $0x2
467468:	57                   	push   %edi
467469:	e8 a4 c5 f9 ff       	call   0x403a12
46746e:	59                   	pop    %ecx
46746f:	59                   	pop    %ecx
467470:	5f                   	pop    %edi
467471:	8b c3                	mov    %ebx,%eax
467473:	5e                   	pop    %esi
467474:	5b                   	pop    %ebx
467475:	8b e5                	mov    %ebp,%esp
467477:	5d                   	pop    %ebp
467478:	c3                   	ret
467479:	84 c0                	test   %al,%al
46747b:	75 e9                	jne    0x467466
46747d:	68 cf 00 00 00       	push   $0xcf
467482:	68 b0 aa 4a 00       	push   $0x4aaab0
467487:	6a 02                	push   $0x2
467489:	6a 04                	push   $0x4
46748b:	6a 01                	push   $0x1
46748d:	e8 70 a3 f9 ff       	call   0x401802
467492:	6a 02                	push   $0x2
467494:	53                   	push   %ebx
467495:	a3 fc af 4f 00       	mov    %eax,0x4faffc
46749a:	e8 73 c5 f9 ff       	call   0x403a12
46749f:	8b 35 fc af 4f 00    	mov    0x4faffc,%esi
4674a5:	83 c4 1c             	add    $0x1c,%esp
4674a8:	85 f6                	test   %esi,%esi
4674aa:	74 b7                	je     0x467463
4674ac:	39 1d 00 b0 4f 00    	cmp    %ebx,0x4fb000
4674b2:	75 33                	jne    0x4674e7
4674b4:	68 d9 00 00 00       	push   $0xd9
4674b9:	68 b0 aa 4a 00       	push   $0x4aaab0
4674be:	6a 02                	push   $0x2
4674c0:	6a 04                	push   $0x4
4674c2:	6a 01                	push   $0x1
4674c4:	e8 39 a3 f9 ff       	call   0x401802
4674c9:	6a 02                	push   $0x2
4674cb:	53                   	push   %ebx
4674cc:	a3 00 b0 4f 00       	mov    %eax,0x4fb000
4674d1:	e8 3c c5 f9 ff       	call   0x403a12
4674d6:	83 c4 1c             	add    $0x1c,%esp
4674d9:	39 1d 00 b0 4f 00    	cmp    %ebx,0x4fb000
4674df:	74 82                	je     0x467463
4674e1:	8b 35 fc af 4f 00    	mov    0x4faffc,%esi
4674e7:	85 f6                	test   %esi,%esi
4674e9:	75 2e                	jne    0x467519
4674eb:	68 f0 aa 4a 00       	push   $0x4aaaf0
4674f0:	68 60 83 49 00       	push   $0x498360
4674f5:	53                   	push   %ebx
4674f6:	68 ec 00 00 00       	push   $0xec
4674fb:	68 b8 a9 4a 00       	push   $0x4aa9b8
467500:	6a 02                	push   $0x2
467502:	e8 40 a4 f9 ff       	call   0x401947
467507:	83 c4 18             	add    $0x18,%esp
46750a:	83 f8 01             	cmp    $0x1,%eax
46750d:	0f 85 50 ff ff ff    	jne    0x467463
467513:	cc                   	int3
467514:	e9 4a ff ff ff       	jmp    0x467463
467519:	ff 75 f8             	push   -0x8(%ebp)
46751c:	57                   	push   %edi
46751d:	e8 90 08 00 00       	call   0x467db2
467522:	89 45 f8             	mov    %eax,-0x8(%ebp)
467525:	59                   	pop    %ecx
467526:	59                   	pop    %ecx
467527:	85 c0                	test   %eax,%eax
467529:	78 5c                	js     0x467587
46752b:	39 1e                	cmp    %ebx,(%esi)
46752d:	74 58                	je     0x467587
46752f:	6a 02                	push   $0x2
467531:	ff 34 86             	push   (%esi,%eax,4)
467534:	e8 d9 c4 f9 ff       	call   0x403a12
467539:	59                   	pop    %ecx
46753a:	59                   	pop    %ecx
46753b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46753e:	38 5d ff             	cmp    %bl,-0x1(%ebp)
467541:	75 15                	jne    0x467558
467543:	8b 45 08             	mov    0x8(%ebp),%eax
467546:	8b fb                	mov    %ebx,%edi
467548:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
46754b:	e9 9b 00 00 00       	jmp    0x4675eb
467550:	8b 44 8e 04          	mov    0x4(%esi,%ecx,4),%eax
467554:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
467557:	41                   	inc    %ecx
467558:	39 1c 8e             	cmp    %ebx,(%esi,%ecx,4)
46755b:	75 f3                	jne    0x467550
46755d:	68 07 01 00 00       	push   $0x107
467562:	68 b0 aa 4a 00       	push   $0x4aaab0
467567:	6a 02                	push   $0x2
467569:	6a 04                	push   $0x4
46756b:	51                   	push   %ecx
46756c:	56                   	push   %esi
46756d:	e8 1b a4 f9 ff       	call   0x40198d
467572:	6a 02                	push   $0x2
467574:	53                   	push   %ebx
467575:	8b f0                	mov    %eax,%esi
467577:	e8 96 c4 f9 ff       	call   0x403a12
46757c:	83 c4 20             	add    $0x20,%esp
46757f:	8b c7                	mov    %edi,%eax
467581:	85 f6                	test   %esi,%esi
467583:	74 66                	je     0x4675eb
467585:	eb 5e                	jmp    0x4675e5
467587:	38 5d ff             	cmp    %bl,-0x1(%ebp)
46758a:	0f 85 d6 fe ff ff    	jne    0x467466
467590:	f7 d8                	neg    %eax
467592:	89 45 f8             	mov    %eax,-0x8(%ebp)
467595:	8d 48 02             	lea    0x2(%eax),%ecx
467598:	3b c8                	cmp    %eax,%ecx
46759a:	0f 82 c3 fe ff ff    	jb     0x467463
4675a0:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
4675a6:	0f 83 b7 fe ff ff    	jae    0x467463
4675ac:	68 2a 01 00 00       	push   $0x12a
4675b1:	68 b0 aa 4a 00       	push   $0x4aaab0
4675b6:	6a 02                	push   $0x2
4675b8:	6a 04                	push   $0x4
4675ba:	51                   	push   %ecx
4675bb:	56                   	push   %esi
4675bc:	e8 cc a3 f9 ff       	call   0x40198d
4675c1:	6a 02                	push   $0x2
4675c3:	53                   	push   %ebx
4675c4:	8b f0                	mov    %eax,%esi
4675c6:	e8 47 c4 f9 ff       	call   0x403a12
4675cb:	83 c4 20             	add    $0x20,%esp
4675ce:	85 f6                	test   %esi,%esi
4675d0:	0f 84 8d fe ff ff    	je     0x467463
4675d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4675d9:	8b fb                	mov    %ebx,%edi
4675db:	8b 45 08             	mov    0x8(%ebp),%eax
4675de:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
4675e1:	89 5c 8e 04          	mov    %ebx,0x4(%esi,%ecx,4)
4675e5:	89 35 fc af 4f 00    	mov    %esi,0x4faffc