47032a:	c1 e0 02             	shl    $0x2,%eax
47032d:	57                   	push   %edi
47032e:	50                   	push   %eax
47032f:	e8 21 fd fc ff       	call   0x440055
470334:	8b f8                	mov    %eax,%edi
470336:	33 c0                	xor    %eax,%eax
470338:	66 39 46 06          	cmp    %ax,0x6(%esi)
47033c:	59                   	pop    %ecx
47033d:	76 14                	jbe    0x470353
47033f:	8d 4e 08             	lea    0x8(%esi),%ecx
470342:	0f b7 11             	movzwl (%ecx),%edx
470345:	89 14 87             	mov    %edx,(%edi,%eax,4)
470348:	0f b7 56 06          	movzwl 0x6(%esi),%edx
47034c:	40                   	inc    %eax
47034d:	41                   	inc    %ecx
47034e:	41                   	inc    %ecx
47034f:	3b c2                	cmp    %edx,%eax
470351:	7c ef                	jl     0x470342
470353:	0f b7 46 06          	movzwl 0x6(%esi),%eax
470357:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47035a:	50                   	push   %eax
47035b:	57                   	push   %edi
47035c:	e8 16 fb ff ff       	call   0x46fe77
470361:	57                   	push   %edi
470362:	8b d8                	mov    %eax,%ebx
470364:	e8 17 fd fc ff       	call   0x440080
470369:	85 db                	test   %ebx,%ebx
47036b:	59                   	pop    %ecx
47036c:	74 27                	je     0x470395
47036e:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
470372:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470376:	51                   	push   %ecx
470377:	8d 71 07             	lea    0x7(%ecx),%esi
47037a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47037d:	50                   	push   %eax
47037e:	8d 50 07             	lea    0x7(%eax),%edx
470381:	56                   	push   %esi
470382:	52                   	push   %edx
470383:	e8 69 fd ff ff       	call   0x4700f1
470388:	ff 75 08             	push   0x8(%ebp)
47038b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47038e:	e8 48 fe ff ff       	call   0x4701db
470393:	8b d8                	mov    %eax,%ebx
470395:	ff 75 f8             	push   -0x8(%ebp)
470398:	ff 15 bc 02 4b 00    	call   *0x4b02bc
47039e:	5f                   	pop    %edi
47039f:	8b c3                	mov    %ebx,%eax
4703a1:	5b                   	pop    %ebx
4703a2:	5e                   	pop    %esi
4703a3:	c9                   	leave
4703a4:	c2 04 00             	ret    $0x4
4703a7:	b8 d0 ec 48 00       	mov    $0x48ecd0,%eax
4703ac:	c3                   	ret
4703ad:	33 c0                	xor    %eax,%eax
4703af:	40                   	inc    %eax
4703b0:	c3                   	ret
4703b1:	56                   	push   %esi
4703b2:	8b f1                	mov    %ecx,%esi
4703b4:	e8 48 d5 ff ff       	call   0x46d901
4703b9:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
4703bd:	75 25                	jne    0x4703e4
4703bf:	8d 46 20             	lea    0x20(%esi),%eax
4703c2:	50                   	push   %eax
4703c3:	33 c0                	xor    %eax,%eax
4703c5:	39 46 38             	cmp    %eax,0x38(%esi)
4703c8:	0f 94 c0             	sete   %al
4703cb:	50                   	push   %eax
4703cc:	6a 04                	push   $0x4
4703ce:	8d 46 48             	lea    0x48(%esi),%eax
4703d1:	50                   	push   %eax
4703d2:	8d 46 24             	lea    0x24(%esi),%eax
4703d5:	50                   	push   %eax
4703d6:	ff 15 ec 0a 4b 00    	call   *0x4b0aec
4703dc:	85 c0                	test   %eax,%eax
4703de:	74 04                	je     0x4703e4
4703e0:	33 c0                	xor    %eax,%eax
4703e2:	5e                   	pop    %esi
4703e3:	c3                   	ret
4703e4:	fe 46 46             	incb   0x46(%esi)
4703e7:	33 c0                	xor    %eax,%eax
4703e9:	40                   	inc    %eax
4703ea:	5e                   	pop    %esi
4703eb:	c3                   	ret
4703ec:	b8 48 f0 48 00       	mov    $0x48f048,%eax
4703f1:	c3                   	ret
4703f2:	e9 9d dc ff ff       	jmp    0x46e094
4703f7:	e9 ab dc ff ff       	jmp    0x46e0a7
4703fc:	8b c1                	mov    %ecx,%eax
4703fe:	c3                   	ret
4703ff:	55                   	push   %ebp
470400:	8b ec                	mov    %esp,%ebp
470402:	8b 45 0c             	mov    0xc(%ebp),%eax
470405:	53                   	push   %ebx
470406:	8b d9                	mov    %ecx,%ebx
470408:	83 63 20 00          	andl   $0x0,0x20(%ebx)
47040c:	56                   	push   %esi
47040d:	8b 75 08             	mov    0x8(%ebp),%esi
470410:	57                   	push   %edi
470411:	c6 43 46 00          	movb   $0x0,0x46(%ebx)
470415:	8d 7b 24             	lea    0x24(%ebx),%edi
470418:	a5                   	movsl  %ds:(%esi),%es:(%edi)
470419:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041c:	83 63 1c 00          	andl   $0x0,0x1c(%ebx)
470420:	89 43 34             	mov    %eax,0x34(%ebx)
470423:	8b 45 10             	mov    0x10(%ebp),%eax
470426:	89 43 38             	mov    %eax,0x38(%ebx)
470429:	8b 45 14             	mov    0x14(%ebp),%eax
47042c:	89 43 3c             	mov    %eax,0x3c(%ebx)
47042f:	8b 45 18             	mov    0x18(%ebp),%eax
470432:	89 43 40             	mov    %eax,0x40(%ebx)
470435:	c6 43 47 ff          	movb   $0xff,0x47(%ebx)
470439:	c6 43 44 00          	movb   $0x0,0x44(%ebx)
47043d:	c6 43 45 00          	movb   $0x0,0x45(%ebx)
470441:	e8 bb d4 ff ff       	call   0x46d901
470446:	6a 00                	push   $0x0
470448:	8b f0                	mov    %eax,%esi
47044a:	e8 57 e1 ff ff       	call   0x46e5a6
47044f:	53                   	push   %ebx
470450:	8d 4e 24             	lea    0x24(%esi),%ecx
470453:	e8 3c dc ff ff       	call   0x46e094
470458:	6a 00                	push   $0x0
47045a:	e8 aa e1 ff ff       	call   0x46e609
47045f:	5f                   	pop    %edi
470460:	5e                   	pop    %esi
470461:	5b                   	pop    %ebx
470462:	5d                   	pop    %ebp
470463:	c2 14 00             	ret    $0x14
470466:	8b 01                	mov    (%ecx),%eax
470468:	c3                   	ret
470469:	56                   	push   %esi
47046a:	8b f1                	mov    %ecx,%esi
47046c:	e8 34 0b 01 00       	call   0x480fa5
470471:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
470476:	74 07                	je     0x47047f
470478:	56                   	push   %esi
470479:	e8 02 fc fc ff       	call   0x440080
47047e:	59                   	pop    %ecx
47047f:	8b c6                	mov    %esi,%eax
470481:	5e                   	pop    %esi
470482:	c2 04 00             	ret    $0x4
470485:	8b c1                	mov    %ecx,%eax
470487:	c3                   	ret
470488:	56                   	push   %esi
470489:	e8 73 d4 ff ff       	call   0x46d901
47048e:	6a 00                	push   $0x0
470490:	8b f0                	mov    %eax,%esi
470492:	e8 0f e1 ff ff       	call   0x46e5a6
470497:	8b 76 24             	mov    0x24(%esi),%esi
47049a:	eb 0a                	jmp    0x4704a6
47049c:	8b 06                	mov    (%esi),%eax
47049e:	8b ce                	mov    %esi,%ecx
4704a0:	ff 50 50             	call   *0x50(%eax)
4704a3:	8b 76 1c             	mov    0x1c(%esi),%esi
4704a6:	85 f6                	test   %esi,%esi
4704a8:	75 f2                	jne    0x47049c
4704aa:	56                   	push   %esi
4704ab:	e8 59 e1 ff ff       	call   0x46e609
4704b0:	33 c0                	xor    %eax,%eax
4704b2:	40                   	inc    %eax
4704b3:	5e                   	pop    %esi
4704b4:	c3                   	ret
4704b5:	56                   	push   %esi
4704b6:	57                   	push   %edi
4704b7:	33 ff                	xor    %edi,%edi
4704b9:	47                   	inc    %edi
4704ba:	e8 42 d4 ff ff       	call   0x46d901
4704bf:	6a 00                	push   $0x0
4704c1:	8b f0                	mov    %eax,%esi
4704c3:	e8 de e0 ff ff       	call   0x46e5a6
4704c8:	8b 76 24             	mov    0x24(%esi),%esi
4704cb:	eb 2f                	jmp    0x4704fc
4704cd:	8b 06                	mov    (%esi),%eax
4704cf:	8b ce                	mov    %esi,%ecx
4704d1:	ff 50 50             	call   *0x50(%eax)
4704d4:	85 c0                	test   %eax,%eax
4704d6:	75 21                	jne    0x4704f9
4704d8:	8d 46 24             	lea    0x24(%esi),%eax
4704db:	68 ac 4b 49 00       	push   $0x494bac
4704e0:	50                   	push   %eax
4704e1:	e8 d1 70 f9 ff       	call   0x4075b7
4704e6:	85 c0                	test   %eax,%eax
4704e8:	59                   	pop    %ecx
4704e9:	59                   	pop    %ecx
4704ea:	75 0d                	jne    0x4704f9
4704ec:	8b 06                	mov    (%esi),%eax
4704ee:	8b ce                	mov    %esi,%ecx
4704f0:	ff 50 54             	call   *0x54(%eax)
4704f3:	85 c0                	test   %eax,%eax
4704f5:	75 02                	jne    0x4704f9
4704f7:	33 ff                	xor    %edi,%edi
4704f9:	8b 76 1c             	mov    0x1c(%esi),%esi
4704fc:	85 f6                	test   %esi,%esi
4704fe:	75 cd                	jne    0x4704cd
470500:	56                   	push   %esi
470501:	e8 03 e1 ff ff       	call   0x46e609
470506:	8b c7                	mov    %edi,%eax
470508:	5f                   	pop    %edi
470509:	5e                   	pop    %esi
47050a:	c3                   	ret
47050b:	8b c1                	mov    %ecx,%eax
47050d:	c7 00 18 f1 48 00    	movl   $0x48f118,(%eax)
470513:	c3                   	ret
470514:	b8 a5 3e 48 00       	mov    $0x483ea5,%eax
470519:	e8 5e 77 fa ff       	call   0x417c7c
47051e:	51                   	push   %ecx
47051f:	56                   	push   %esi
470520:	8b f1                	mov    %ecx,%esi
470522:	89 75 f0             	mov    %esi,-0x10(%ebp)
470525:	e8 da 1b fd ff       	call   0x442104
47052a:	ff 75 18             	push   0x18(%ebp)
47052d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
470531:	ff 75 14             	push   0x14(%ebp)
470534:	c7 06 9c f0 48 00    	movl   $0x48f09c,(%esi)
47053a:	ff 75 10             	push   0x10(%ebp)
47053d:	8b ce                	mov    %esi,%ecx
47053f:	ff 75 0c             	push   0xc(%ebp)
470542:	c7 46 48 18 f1 48 00 	movl   $0x48f118,0x48(%esi)
470549:	ff 75 08             	push   0x8(%ebp)
47054c:	e8 ae fe ff ff       	call   0x4703ff
470551:	8b 4d f4             	mov    -0xc(%ebp),%ecx
470554:	8b c6                	mov    %esi,%eax
470556:	5e                   	pop    %esi
470557:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47055e:	c9                   	leave
47055f:	c2 14 00             	ret    $0x14
470562:	b8 b7 3e 48 00       	mov    $0x483eb7,%eax
470567:	e8 10 77 fa ff       	call   0x417c7c
47056c:	51                   	push   %ecx
47056d:	56                   	push   %esi
47056e:	8b f1                	mov    %ecx,%esi
470570:	89 75 f0             	mov    %esi,-0x10(%ebp)
470573:	e8 8c 1b fd ff       	call   0x442104
470578:	ff 75 14             	push   0x14(%ebp)
47057b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47057f:	6a 00                	push   $0x0
470581:	ff 75 10             	push   0x10(%ebp)
470584:	c7 06 9c f0 48 00    	movl   $0x48f09c,(%esi)
47058a:	ff 75 0c             	push   0xc(%ebp)
47058d:	8b ce                	mov    %esi,%ecx
47058f:	ff 75 08             	push   0x8(%ebp)
470592:	c7 46 48 18 f1 48 00 	movl   $0x48f118,0x48(%esi)
470599:	e8 61 fe ff ff       	call   0x4703ff
47059e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4705a1:	8b c6                	mov    %esi,%eax
4705a3:	5e                   	pop    %esi
4705a4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4705ab:	c9                   	leave
4705ac:	c2 10 00             	ret    $0x10
4705af:	56                   	push   %esi
4705b0:	8b f1                	mov    %ecx,%esi
4705b2:	6a 00                	push   $0x0
4705b4:	8d 46 3c             	lea    0x3c(%esi),%eax
4705b7:	50                   	push   %eax
4705b8:	ff 15 58 0b 4b 00    	call   *0x4b0b58
4705be:	85 c0                	test   %eax,%eax
4705c0:	75 06                	jne    0x4705c8
4705c2:	40                   	inc    %eax
4705c3:	89 46 1c             	mov    %eax,0x1c(%esi)
4705c6:	5e                   	pop    %esi
4705c7:	c3                   	ret
4705c8:	33 c0                	xor    %eax,%eax
4705ca:	5e                   	pop    %esi
4705cb:	c3                   	ret
4705cc:	8b c1                	mov    %ecx,%eax
4705ce:	c3                   	ret
4705cf:	56                   	push   %esi
4705d0:	8b f1                	mov    %ecx,%esi
4705d2:	e8 69 0a 01 00       	call   0x481040
4705d7:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4705dc:	74 07                	je     0x4705e5
4705de:	56                   	push   %esi
4705df:	e8 9c fa fc ff       	call   0x440080
4705e4:	59                   	pop    %ecx
4705e5:	8b c6                	mov    %esi,%eax
4705e7:	5e                   	pop    %esi
4705e8:	c2 04 00             	ret    $0x4
4705eb:	8b c1                	mov    %ecx,%eax
4705ed:	c7 00 28 f3 48 00    	movl   $0x48f328,(%eax)
4705f3:	c3                   	ret
4705f4:	56                   	push   %esi
4705f5:	8b f1                	mov    %ecx,%esi
4705f7:	e8 08 1b fd ff       	call   0x442104
4705fc:	33 c0                	xor    %eax,%eax
4705fe:	40                   	inc    %eax
4705ff:	c7 06 bc f2 48 00    	movl   $0x48f2bc,(%esi)
470605:	c7 46 3c 28 f3 48 00 	movl   $0x48f328,0x3c(%esi)
47060c:	33 c9                	xor    %ecx,%ecx
47060e:	89 46 24             	mov    %eax,0x24(%esi)
470611:	89 46 28             	mov    %eax,0x28(%esi)
470614:	89 4e 20             	mov    %ecx,0x20(%esi)
470617:	c7 46 34 02 00 00 00 	movl   $0x2,0x34(%esi)
47061e:	c7 46 30 10 27 00 00 	movl   $0x2710,0x30(%esi)
470625:	c7 46 38 40 1f 00 00 	movl   $0x1f40,0x38(%esi)
47062c:	89 4e 2c             	mov    %ecx,0x2c(%esi)
47062f:	89 4e 1c             	mov    %ecx,0x1c(%esi)
470632:	8b c6                	mov    %esi,%eax
470634:	5e                   	pop    %esi
470635:	c3                   	ret
470636:	b8 40 f3 48 00       	mov    $0x48f340,%eax
47063b:	c3                   	ret
47063c:	b8 38 f4 48 00       	mov    $0x48f438,%eax
470641:	c3                   	ret
470642:	b8 14 f4 48 00       	mov    $0x48f414,%eax
470647:	c3                   	ret
470648:	b8 ec f3 48 00       	mov    $0x48f3ec,%eax
47064d:	c3                   	ret
47064e:	b8 c4 f3 48 00       	mov    $0x48f3c4,%eax
470653:	c3                   	ret
470654:	b8 a0 f3 48 00       	mov    $0x48f3a0,%eax
470659:	c3                   	ret
47065a:	b8 78 f3 48 00       	mov    $0x48f378,%eax
47065f:	c3                   	ret
470660:	56                   	push   %esi
470661:	8b f1                	mov    %ecx,%esi
470663:	e8 d1 37 fd ff       	call   0x443e39
470668:	33 c0                	xor    %eax,%eax
47066a:	6a 06                	push   $0x6
47066c:	59                   	pop    %ecx
47066d:	89 4e 5c             	mov    %ecx,0x5c(%esi)
470670:	89 4e 58             	mov    %ecx,0x58(%esi)
470673:	33 c9                	xor    %ecx,%ecx
470675:	41                   	inc    %ecx
470676:	89 46 70             	mov    %eax,0x70(%esi)
470679:	89 46 74             	mov    %eax,0x74(%esi)
47067c:	89 46 54             	mov    %eax,0x54(%esi)
47067f:	89 46 34             	mov    %eax,0x34(%esi)
470682:	89 46 78             	mov    %eax,0x78(%esi)
470685:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
47068b:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
470691:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
470697:	89 46 7c             	mov    %eax,0x7c(%esi)
47069a:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
4706a0:	89 46 50             	mov    %eax,0x50(%esi)
4706a3:	c7 46 68 02 00 00 00 	movl   $0x2,0x68(%esi)
4706aa:	89 4e 64             	mov    %ecx,0x64(%esi)
4706ad:	89 4e 60             	mov    %ecx,0x60(%esi)
4706b0:	c7 46 6c ff 7f 00 00 	movl   $0x7fff,0x6c(%esi)
4706b7:	8b c6                	mov    %esi,%eax
4706b9:	5e                   	pop    %esi
4706ba:	c3                   	ret
4706bb:	8b 44 24 04          	mov    0x4(%esp),%eax
4706bf:	89 41 50             	mov    %eax,0x50(%ecx)
4706c2:	c2 04 00             	ret    $0x4
4706c5:	8b 44 24 04          	mov    0x4(%esp),%eax
4706c9:	89 41 58             	mov    %eax,0x58(%ecx)
4706cc:	8b 44 24 08          	mov    0x8(%esp),%eax
4706d0:	89 41 60             	mov    %eax,0x60(%ecx)
4706d3:	8b 44 24 0c          	mov    0xc(%esp),%eax