43646b:	47                   	inc    %edi
43646c:	e9 84 00 00 00       	jmp    0x4364f5
436471:	8d 45 f0             	lea    -0x10(%ebp),%eax
436474:	50                   	push   %eax
436475:	0f b6 06             	movzbl (%esi),%eax
436478:	50                   	push   %eax
436479:	e8 7d d3 fe ff       	call   0x4237fb
43647e:	59                   	pop    %ecx
43647f:	59                   	pop    %ecx
436480:	85 c0                	test   %eax,%eax
436482:	74 40                	je     0x4364c4
436484:	8b 7d f0             	mov    -0x10(%ebp),%edi
436487:	83 7f 74 01          	cmpl   $0x1,0x74(%edi)
43648b:	7e 27                	jle    0x4364b4
43648d:	3b 5f 74             	cmp    0x74(%edi),%ebx
436490:	7c 25                	jl     0x4364b7
436492:	33 c0                	xor    %eax,%eax
436494:	39 45 08             	cmp    %eax,0x8(%ebp)
436497:	0f 95 c0             	setne  %al
43649a:	50                   	push   %eax
43649b:	ff 75 08             	push   0x8(%ebp)
43649e:	ff 77 74             	push   0x74(%edi)
4364a1:	56                   	push   %esi
4364a2:	6a 09                	push   $0x9
4364a4:	ff 77 04             	push   0x4(%edi)
4364a7:	ff 15 84 f1 48 00    	call   *0x48f184
4364ad:	8b 7d f0             	mov    -0x10(%ebp),%edi
4364b0:	85 c0                	test   %eax,%eax
4364b2:	75 0b                	jne    0x4364bf
4364b4:	3b 5f 74             	cmp    0x74(%edi),%ebx
4364b7:	72 2e                	jb     0x4364e7
4364b9:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
4364bd:	74 28                	je     0x4364e7
4364bf:	8b 7f 74             	mov    0x74(%edi),%edi
4364c2:	eb 31                	jmp    0x4364f5
4364c4:	33 c0                	xor    %eax,%eax
4364c6:	39 45 08             	cmp    %eax,0x8(%ebp)
4364c9:	0f 95 c0             	setne  %al
4364cc:	33 ff                	xor    %edi,%edi
4364ce:	50                   	push   %eax
4364cf:	ff 75 08             	push   0x8(%ebp)
4364d2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4364d5:	47                   	inc    %edi
4364d6:	57                   	push   %edi
4364d7:	56                   	push   %esi
4364d8:	6a 09                	push   $0x9
4364da:	ff 70 04             	push   0x4(%eax)
4364dd:	ff 15 84 f1 48 00    	call   *0x48f184
4364e3:	85 c0                	test   %eax,%eax
4364e5:	75 0e                	jne    0x4364f5
4364e7:	e8 7c 28 ff ff       	call   0x428d68
4364ec:	83 cf ff             	or     $0xffffffff,%edi
4364ef:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4364f5:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4364f9:	74 07                	je     0x436502
4364fb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4364fe:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
436502:	8b c7                	mov    %edi,%eax
436504:	5f                   	pop    %edi
436505:	e9 34 ff ff ff       	jmp    0x43643e
43650a:	55                   	push   %ebp
43650b:	8b ec                	mov    %esp,%ebp
43650d:	6a 00                	push   $0x0
43650f:	ff 75 10             	push   0x10(%ebp)
436512:	ff 75 0c             	push   0xc(%ebp)
436515:	ff 75 08             	push   0x8(%ebp)
436518:	e8 f8 fe ff ff       	call   0x436415
43651d:	83 c4 10             	add    $0x10,%esp
436520:	5d                   	pop    %ebp
436521:	c3                   	ret
436522:	55                   	push   %ebp
436523:	8b ec                	mov    %esp,%ebp
436525:	83 ec 44             	sub    $0x44,%esp
436528:	a1 50 fd 4b 00       	mov    0x4bfd50,%eax
43652d:	33 c5                	xor    %ebp,%eax
43652f:	89 45 fc             	mov    %eax,-0x4(%ebp)
436532:	8b 4d 08             	mov    0x8(%ebp),%ecx
436535:	53                   	push   %ebx
436536:	56                   	push   %esi
436537:	57                   	push   %edi
436538:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
43653c:	33 db                	xor    %ebx,%ebx
43653e:	8b 7d 0c             	mov    0xc(%ebp),%edi
436541:	8b d0                	mov    %eax,%edx
436543:	25 00 80 00 00       	and    $0x8000,%eax
436548:	89 7d c0             	mov    %edi,-0x40(%ebp)
43654b:	89 45 bc             	mov    %eax,-0x44(%ebp)
43654e:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
436554:	8b 41 06             	mov    0x6(%ecx),%eax
436557:	81 ea ff 3f 00 00    	sub    $0x3fff,%edx
43655d:	89 45 f0             	mov    %eax,-0x10(%ebp)
436560:	8b 41 02             	mov    0x2(%ecx),%eax
436563:	89 45 f4             	mov    %eax,-0xc(%ebp)
436566:	0f b7 01             	movzwl (%ecx),%eax
436569:	c1 e0 10             	shl    $0x10,%eax
43656c:	89 55 e0             	mov    %edx,-0x20(%ebp)
43656f:	89 45 f8             	mov    %eax,-0x8(%ebp)
436572:	81 fa 01 c0 ff ff    	cmp    $0xffffc001,%edx
436578:	75 25                	jne    0x43659f
43657a:	8b f3                	mov    %ebx,%esi
43657c:	8b c3                	mov    %ebx,%eax
43657e:	39 5c 85 f0          	cmp    %ebx,-0x10(%ebp,%eax,4)
436582:	75 0b                	jne    0x43658f
436584:	40                   	inc    %eax
436585:	83 f8 03             	cmp    $0x3,%eax
436588:	7c f4                	jl     0x43657e
43658a:	e9 b9 04 00 00       	jmp    0x436a48
43658f:	33 c0                	xor    %eax,%eax
436591:	8d 7d f0             	lea    -0x10(%ebp),%edi
436594:	ab                   	stos   %eax,%es:(%edi)
436595:	ab                   	stos   %eax,%es:(%edi)
436596:	ab                   	stos   %eax,%es:(%edi)
436597:	6a 02                	push   $0x2
436599:	5b                   	pop    %ebx
43659a:	e9 a6 04 00 00       	jmp    0x436a45
43659f:	a1 18 01 4c 00       	mov    0x4c0118,%eax
4365a4:	8d 75 f0             	lea    -0x10(%ebp),%esi
4365a7:	8d 7d e4             	lea    -0x1c(%ebp),%edi
4365aa:	89 55 dc             	mov    %edx,-0x24(%ebp)
4365ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4365ae:	48                   	dec    %eax
4365af:	89 45 cc             	mov    %eax,-0x34(%ebp)
4365b2:	6a 1f                	push   $0x1f
4365b4:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4365b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4365b8:	8d 48 01             	lea    0x1(%eax),%ecx
4365bb:	8b c1                	mov    %ecx,%eax
4365bd:	99                   	cltd
4365be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4365bf:	5e                   	pop    %esi
4365c0:	23 d6                	and    %esi,%edx
4365c2:	03 d0                	add    %eax,%edx
4365c4:	c1 fa 05             	sar    $0x5,%edx
4365c7:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4365ca:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4365d0:	79 05                	jns    0x4365d7
4365d2:	49                   	dec    %ecx
4365d3:	83 c9 e0             	or     $0xffffffe0,%ecx
4365d6:	41                   	inc    %ecx
4365d7:	2b f1                	sub    %ecx,%esi
4365d9:	33 c0                	xor    %eax,%eax
4365db:	40                   	inc    %eax
4365dc:	89 75 d0             	mov    %esi,-0x30(%ebp)
4365df:	8b ce                	mov    %esi,%ecx
4365e1:	83 cf ff             	or     $0xffffffff,%edi
4365e4:	d3 e0                	shl    %cl,%eax
4365e6:	6a 03                	push   $0x3
4365e8:	5e                   	pop    %esi
4365e9:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
4365ed:	0f 84 a4 00 00 00    	je     0x436697
4365f3:	8b c7                	mov    %edi,%eax
4365f5:	d3 e0                	shl    %cl,%eax
4365f7:	f7 d0                	not    %eax
4365f9:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
4365fd:	eb 04                	jmp    0x436603
4365ff:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
436603:	75 0a                	jne    0x43660f
436605:	42                   	inc    %edx
436606:	3b d6                	cmp    %esi,%edx
436608:	7c f5                	jl     0x4365ff
43660a:	e9 85 00 00 00       	jmp    0x436694
43660f:	8b 45 cc             	mov    -0x34(%ebp),%eax
436612:	99                   	cltd
436613:	6a 1f                	push   $0x1f
436615:	59                   	pop    %ecx
436616:	23 d1                	and    %ecx,%edx
436618:	03 d0                	add    %eax,%edx
43661a:	8b 45 cc             	mov    -0x34(%ebp),%eax
43661d:	c1 fa 05             	sar    $0x5,%edx
436620:	25 1f 00 00 80       	and    $0x8000001f,%eax
436625:	79 05                	jns    0x43662c
436627:	48                   	dec    %eax
436628:	83 c8 e0             	or     $0xffffffe0,%eax
43662b:	40                   	inc    %eax
43662c:	2b c8                	sub    %eax,%ecx
43662e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
436631:	33 c0                	xor    %eax,%eax
436633:	40                   	inc    %eax
436634:	d3 e0                	shl    %cl,%eax
436636:	89 45 c8             	mov    %eax,-0x38(%ebp)
436639:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
43663d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436640:	03 c8                	add    %eax,%ecx
436642:	89 4d d8             	mov    %ecx,-0x28(%ebp)
436645:	3b c8                	cmp    %eax,%ecx
436647:	8b 45 d8             	mov    -0x28(%ebp),%eax
43664a:	8b cb                	mov    %ebx,%ecx
43664c:	6a ff                	push   $0xffffffff
43664e:	5f                   	pop    %edi
43664f:	72 05                	jb     0x436656
436651:	3b 45 c8             	cmp    -0x38(%ebp),%eax
436654:	73 06                	jae    0x43665c
436656:	33 c9                	xor    %ecx,%ecx
436658:	41                   	inc    %ecx
436659:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
43665c:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436660:	4a                   	dec    %edx
436661:	78 2e                	js     0x436691
436663:	85 c9                	test   %ecx,%ecx
436665:	74 27                	je     0x43668e
436667:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
43666b:	8b cb                	mov    %ebx,%ecx
43666d:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
436670:	8d 78 01             	lea    0x1(%eax),%edi
436673:	3b f8                	cmp    %eax,%edi
436675:	89 7d d8             	mov    %edi,-0x28(%ebp)
436678:	8b c7                	mov    %edi,%eax
43667a:	72 05                	jb     0x436681
43667c:	83 f8 01             	cmp    $0x1,%eax
43667f:	73 06                	jae    0x436687
436681:	33 c9                	xor    %ecx,%ecx
436683:	41                   	inc    %ecx
436684:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
436687:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
43668b:	4a                   	dec    %edx
43668c:	79 d5                	jns    0x436663
43668e:	83 cf ff             	or     $0xffffffff,%edi
436691:	8b 4d d0             	mov    -0x30(%ebp),%ecx
436694:	8b 55 c4             	mov    -0x3c(%ebp),%edx
436697:	8b c7                	mov    %edi,%eax
436699:	d3 e0                	shl    %cl,%eax
43669b:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
43669f:	8d 42 01             	lea    0x1(%edx),%eax
4366a2:	3b c6                	cmp    %esi,%eax
4366a4:	7d 11                	jge    0x4366b7
4366a6:	8d 7d f0             	lea    -0x10(%ebp),%edi
4366a9:	8b ce                	mov    %esi,%ecx
4366ab:	8d 3c 87             	lea    (%edi,%eax,4),%edi
4366ae:	2b c8                	sub    %eax,%ecx
4366b0:	33 c0                	xor    %eax,%eax
4366b2:	f3 ab                	rep stos %eax,%es:(%edi)
4366b4:	83 cf ff             	or     $0xffffffff,%edi
4366b7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4366ba:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
4366bd:	74 01                	je     0x4366c0
4366bf:	41                   	inc    %ecx
4366c0:	8b 15 14 01 4c 00    	mov    0x4c0114,%edx
4366c6:	8b c2                	mov    %edx,%eax
4366c8:	2b 05 18 01 4c 00    	sub    0x4c0118,%eax
4366ce:	3b c8                	cmp    %eax,%ecx
4366d0:	7d 0f                	jge    0x4366e1
4366d2:	33 c0                	xor    %eax,%eax
4366d4:	8d 7d f0             	lea    -0x10(%ebp),%edi
4366d7:	ab                   	stos   %eax,%es:(%edi)
4366d8:	ab                   	stos   %eax,%es:(%edi)
4366d9:	ab                   	stos   %eax,%es:(%edi)
4366da:	8b f3                	mov    %ebx,%esi
4366dc:	e9 b6 fe ff ff       	jmp    0x436597
4366e1:	3b ca                	cmp    %edx,%ecx
4366e3:	0f 8f 19 02 00 00    	jg     0x436902
4366e9:	2b 55 dc             	sub    -0x24(%ebp),%edx
4366ec:	8d 75 e4             	lea    -0x1c(%ebp),%esi
4366ef:	89 55 d0             	mov    %edx,-0x30(%ebp)
4366f2:	8d 7d f0             	lea    -0x10(%ebp),%edi
4366f5:	8b c2                	mov    %edx,%eax
4366f7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4366f8:	99                   	cltd
4366f9:	83 e2 1f             	and    $0x1f,%edx
4366fc:	03 c2                	add    %edx,%eax
4366fe:	c1 f8 05             	sar    $0x5,%eax
436701:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436702:	89 45 c4             	mov    %eax,-0x3c(%ebp)
436705:	8b 45 d0             	mov    -0x30(%ebp),%eax
436708:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436709:	25 1f 00 00 80       	and    $0x8000001f,%eax
43670e:	79 05                	jns    0x436715
436710:	48                   	dec    %eax
436711:	83 c8 e0             	or     $0xffffffe0,%eax
436714:	40                   	inc    %eax
436715:	89 45 d0             	mov    %eax,-0x30(%ebp)
436718:	83 cf ff             	or     $0xffffffff,%edi
43671b:	8b c7                	mov    %edi,%eax
43671d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436720:	8b 7d d0             	mov    -0x30(%ebp),%edi
436723:	8b cf                	mov    %edi,%ecx
436725:	d3 e0                	shl    %cl,%eax
436727:	f7 d0                	not    %eax
436729:	6a 20                	push   $0x20
43672b:	89 45 d8             	mov    %eax,-0x28(%ebp)
43672e:	58                   	pop    %eax
43672f:	2b c7                	sub    %edi,%eax
436731:	6a 03                	push   $0x3
436733:	89 45 c8             	mov    %eax,-0x38(%ebp)
436736:	5e                   	pop    %esi
436737:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
43673b:	8b cf                	mov    %edi,%ecx
43673d:	8b c2                	mov    %edx,%eax
43673f:	d3 ea                	shr    %cl,%edx
436741:	0b 55 e0             	or     -0x20(%ebp),%edx
436744:	23 45 d8             	and    -0x28(%ebp),%eax
436747:	8b 4d c8             	mov    -0x38(%ebp),%ecx
43674a:	d3 e0                	shl    %cl,%eax
43674c:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
436750:	43                   	inc    %ebx
436751:	89 45 e0             	mov    %eax,-0x20(%ebp)
436754:	3b de                	cmp    %esi,%ebx
436756:	7c df                	jl     0x436737
436758:	8b 45 c4             	mov    -0x3c(%ebp),%eax
43675b:	8d 55 f8             	lea    -0x8(%ebp),%edx
43675e:	c1 e0 02             	shl    $0x2,%eax
436761:	33 db                	xor    %ebx,%ebx
436763:	6a 02                	push   $0x2
436765:	2b d0                	sub    %eax,%edx
436767:	83 cf ff             	or     $0xffffffff,%edi
43676a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
43676d:	59                   	pop    %ecx
43676e:	3b c8                	cmp    %eax,%ecx
436770:	7c 0b                	jl     0x43677d
436772:	8b 02                	mov    (%edx),%eax
436774:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436778:	8b 45 c4             	mov    -0x3c(%ebp),%eax
43677b:	eb 04                	jmp    0x436781
43677d:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436781:	83 ea 04             	sub    $0x4,%edx
436784:	49                   	dec    %ecx
436785:	79 e7                	jns    0x43676e
436787:	8b 4d cc             	mov    -0x34(%ebp),%ecx
43678a:	41                   	inc    %ecx
43678b:	8b c1                	mov    %ecx,%eax
43678d:	99                   	cltd
43678e:	83 e2 1f             	and    $0x1f,%edx
436791:	03 d0                	add    %eax,%edx
436793:	c1 fa 05             	sar    $0x5,%edx
436796:	89 55 d4             	mov    %edx,-0x2c(%ebp)
436799:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
43679f:	79 05                	jns    0x4367a6
4367a1:	49                   	dec    %ecx
4367a2:	83 c9 e0             	or     $0xffffffe0,%ecx
4367a5:	41                   	inc    %ecx
4367a6:	6a 1f                	push   $0x1f
4367a8:	58                   	pop    %eax
4367a9:	2b c1                	sub    %ecx,%eax
4367ab:	89 45 d0             	mov    %eax,-0x30(%ebp)
4367ae:	33 c0                	xor    %eax,%eax
4367b0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4367b3:	40                   	inc    %eax
4367b4:	d3 e0                	shl    %cl,%eax
4367b6:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
4367ba:	0f 84 92 00 00 00    	je     0x436852
4367c0:	8b c7                	mov    %edi,%eax
4367c2:	d3 e0                	shl    %cl,%eax
4367c4:	f7 d0                	not    %eax
4367c6:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
4367ca:	eb 04                	jmp    0x4367d0
4367cc:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
4367d0:	75 07                	jne    0x4367d9
4367d2:	42                   	inc    %edx
4367d3:	3b d6                	cmp    %esi,%edx
4367d5:	7c f5                	jl     0x4367cc
4367d7:	eb 76                	jmp    0x43684f