434544:	8b c2                	mov    %edx,%eax
434546:	d3 ea                	shr    %cl,%edx
434548:	8b 4d d8             	mov    -0x28(%ebp),%ecx
43454b:	23 c7                	and    %edi,%eax
43454d:	d3 e0                	shl    %cl,%eax
43454f:	0b 55 e0             	or     -0x20(%ebp),%edx
434552:	8b 4d c8             	mov    -0x38(%ebp),%ecx
434555:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
434559:	43                   	inc    %ebx
43455a:	89 45 e0             	mov    %eax,-0x20(%ebp)
43455d:	3b de                	cmp    %esi,%ebx
43455f:	7c df                	jl     0x434540
434561:	8b 75 cc             	mov    -0x34(%ebp),%esi
434564:	8b c6                	mov    %esi,%eax
434566:	c1 e0 02             	shl    $0x2,%eax
434569:	8d 55 f8             	lea    -0x8(%ebp),%edx
43456c:	6a 02                	push   $0x2
43456e:	2b d0                	sub    %eax,%edx
434570:	59                   	pop    %ecx
434571:	33 db                	xor    %ebx,%ebx
434573:	3b ce                	cmp    %esi,%ecx
434575:	7c 08                	jl     0x43457f
434577:	8b 02                	mov    (%edx),%eax
434579:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
43457d:	eb 04                	jmp    0x434583
43457f:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
434583:	83 ea 04             	sub    $0x4,%edx
434586:	49                   	dec    %ecx
434587:	79 ea                	jns    0x434573
434589:	8b 35 94 b1 4b 00    	mov    0x4bb194,%esi
43458f:	03 35 80 b1 4b 00    	add    0x4bb180,%esi
434595:	33 db                	xor    %ebx,%ebx
434597:	43                   	inc    %ebx
434598:	e9 95 00 00 00       	jmp    0x434632
43459d:	8b 35 94 b1 4b 00    	mov    0x4bb194,%esi
4345a3:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
4345aa:	03 f1                	add    %ecx,%esi
4345ac:	8b 0d 8c b1 4b 00    	mov    0x4bb18c,%ecx
4345b2:	8b c1                	mov    %ecx,%eax
4345b4:	99                   	cltd
4345b5:	83 e2 1f             	and    $0x1f,%edx
4345b8:	03 c2                	add    %edx,%eax
4345ba:	c1 f8 05             	sar    $0x5,%eax
4345bd:	89 75 c8             	mov    %esi,-0x38(%ebp)
4345c0:	89 45 d8             	mov    %eax,-0x28(%ebp)
4345c3:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4345c9:	79 05                	jns    0x4345d0
4345cb:	49                   	dec    %ecx
4345cc:	83 c9 e0             	or     $0xffffffe0,%ecx
4345cf:	41                   	inc    %ecx
4345d0:	d3 e7                	shl    %cl,%edi
4345d2:	6a 20                	push   $0x20
4345d4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4345d7:	8b f3                	mov    %ebx,%esi
4345d9:	58                   	pop    %eax
4345da:	8b d9                	mov    %ecx,%ebx
4345dc:	2b c3                	sub    %ebx,%eax
4345de:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4345e1:	f7 d7                	not    %edi
4345e3:	89 45 dc             	mov    %eax,-0x24(%ebp)
4345e6:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
4345ea:	8b c2                	mov    %edx,%eax
4345ec:	8b cb                	mov    %ebx,%ecx
4345ee:	d3 ea                	shr    %cl,%edx
4345f0:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4345f3:	23 c7                	and    %edi,%eax
4345f5:	d3 e0                	shl    %cl,%eax
4345f7:	0b 55 e0             	or     -0x20(%ebp),%edx
4345fa:	46                   	inc    %esi
4345fb:	89 54 b5 ec          	mov    %edx,-0x14(%ebp,%esi,4)
4345ff:	89 45 e0             	mov    %eax,-0x20(%ebp)
434602:	83 fe 03             	cmp    $0x3,%esi
434605:	7c df                	jl     0x4345e6
434607:	8b 7d d8             	mov    -0x28(%ebp),%edi
43460a:	8b 75 c8             	mov    -0x38(%ebp),%esi
43460d:	8b c7                	mov    %edi,%eax
43460f:	c1 e0 02             	shl    $0x2,%eax
434612:	8d 55 f8             	lea    -0x8(%ebp),%edx
434615:	6a 02                	push   $0x2
434617:	2b d0                	sub    %eax,%edx
434619:	59                   	pop    %ecx
43461a:	33 db                	xor    %ebx,%ebx
43461c:	3b cf                	cmp    %edi,%ecx
43461e:	7c 08                	jl     0x434628
434620:	8b 02                	mov    (%edx),%eax
434622:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
434626:	eb 04                	jmp    0x43462c
434628:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
43462c:	83 ea 04             	sub    $0x4,%edx
43462f:	49                   	dec    %ecx
434630:	79 ea                	jns    0x43461c
434632:	8b 7d c0             	mov    -0x40(%ebp),%edi
434635:	6a 1f                	push   $0x1f
434637:	58                   	pop    %eax
434638:	2b 05 8c b1 4b 00    	sub    0x4bb18c,%eax
43463e:	8b c8                	mov    %eax,%ecx
434640:	8b 45 bc             	mov    -0x44(%ebp),%eax
434643:	d3 e6                	shl    %cl,%esi
434645:	f7 d8                	neg    %eax
434647:	1b c0                	sbb    %eax,%eax
434649:	25 00 00 00 80       	and    $0x80000000,%eax
43464e:	0b f0                	or     %eax,%esi
434650:	a1 90 b1 4b 00       	mov    0x4bb190,%eax
434655:	0b 75 f0             	or     -0x10(%ebp),%esi
434658:	83 f8 40             	cmp    $0x40,%eax
43465b:	75 0a                	jne    0x434667
43465d:	8b 45 f4             	mov    -0xc(%ebp),%eax
434660:	89 77 04             	mov    %esi,0x4(%edi)
434663:	89 07                	mov    %eax,(%edi)
434665:	eb 07                	jmp    0x43466e
434667:	83 f8 20             	cmp    $0x20,%eax
43466a:	75 02                	jne    0x43466e
43466c:	89 37                	mov    %esi,(%edi)
43466e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434671:	5f                   	pop    %edi
434672:	5e                   	pop    %esi
434673:	8b c3                	mov    %ebx,%eax
434675:	33 cd                	xor    %ebp,%ecx
434677:	5b                   	pop    %ebx
434678:	e8 8f 60 ff ff       	call   0x42a70c
43467d:	c9                   	leave
43467e:	c3                   	ret
43467f:	55                   	push   %ebp
434680:	8b ec                	mov    %esp,%ebp
434682:	83 ec 44             	sub    $0x44,%esp
434685:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
43468a:	33 c5                	xor    %ebp,%eax
43468c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43468f:	8b 4d 08             	mov    0x8(%ebp),%ecx
434692:	53                   	push   %ebx
434693:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
434697:	8b d0                	mov    %eax,%edx
434699:	25 00 80 00 00       	and    $0x8000,%eax
43469e:	89 45 bc             	mov    %eax,-0x44(%ebp)
4346a1:	8b 41 06             	mov    0x6(%ecx),%eax
4346a4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4346a7:	8b 41 02             	mov    0x2(%ecx),%eax
4346aa:	89 45 f4             	mov    %eax,-0xc(%ebp)
4346ad:	0f b7 01             	movzwl (%ecx),%eax
4346b0:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
4346b6:	56                   	push   %esi
4346b7:	81 ea ff 3f 00 00    	sub    $0x3fff,%edx
4346bd:	57                   	push   %edi
4346be:	8b 7d 0c             	mov    0xc(%ebp),%edi
4346c1:	c1 e0 10             	shl    $0x10,%eax
4346c4:	33 db                	xor    %ebx,%ebx
4346c6:	89 7d c0             	mov    %edi,-0x40(%ebp)
4346c9:	89 55 e0             	mov    %edx,-0x20(%ebp)
4346cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4346cf:	81 fa 01 c0 ff ff    	cmp    $0xffffc001,%edx
4346d5:	75 25                	jne    0x4346fc
4346d7:	8b f3                	mov    %ebx,%esi
4346d9:	8b c3                	mov    %ebx,%eax
4346db:	39 5c 85 f0          	cmp    %ebx,-0x10(%ebp,%eax,4)
4346df:	75 0b                	jne    0x4346ec
4346e1:	40                   	inc    %eax
4346e2:	83 f8 03             	cmp    $0x3,%eax
4346e5:	7c f4                	jl     0x4346db
4346e7:	e9 b9 04 00 00       	jmp    0x434ba5
4346ec:	33 c0                	xor    %eax,%eax
4346ee:	8d 7d f0             	lea    -0x10(%ebp),%edi
4346f1:	ab                   	stos   %eax,%es:(%edi)
4346f2:	ab                   	stos   %eax,%es:(%edi)
4346f3:	ab                   	stos   %eax,%es:(%edi)
4346f4:	6a 02                	push   $0x2
4346f6:	5b                   	pop    %ebx
4346f7:	e9 a6 04 00 00       	jmp    0x434ba2
4346fc:	a1 a0 b1 4b 00       	mov    0x4bb1a0,%eax
434701:	8d 75 f0             	lea    -0x10(%ebp),%esi
434704:	8d 7d e4             	lea    -0x1c(%ebp),%edi
434707:	a5                   	movsl  %ds:(%esi),%es:(%edi)
434708:	48                   	dec    %eax
434709:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43470a:	8d 48 01             	lea    0x1(%eax),%ecx
43470d:	89 55 dc             	mov    %edx,-0x24(%ebp)
434710:	89 45 cc             	mov    %eax,-0x34(%ebp)
434713:	8b c1                	mov    %ecx,%eax
434715:	99                   	cltd
434716:	6a 1f                	push   $0x1f
434718:	a5                   	movsl  %ds:(%esi),%es:(%edi)
434719:	5e                   	pop    %esi
43471a:	23 d6                	and    %esi,%edx
43471c:	03 d0                	add    %eax,%edx
43471e:	c1 fa 05             	sar    $0x5,%edx
434721:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
434724:	89 55 c4             	mov    %edx,-0x3c(%ebp)
434727:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
43472d:	79 05                	jns    0x434734
43472f:	49                   	dec    %ecx
434730:	83 c9 e0             	or     $0xffffffe0,%ecx
434733:	41                   	inc    %ecx
434734:	2b f1                	sub    %ecx,%esi
434736:	33 c0                	xor    %eax,%eax
434738:	40                   	inc    %eax
434739:	8b ce                	mov    %esi,%ecx
43473b:	d3 e0                	shl    %cl,%eax
43473d:	6a 03                	push   $0x3
43473f:	83 cf ff             	or     $0xffffffff,%edi
434742:	89 75 d0             	mov    %esi,-0x30(%ebp)
434745:	5e                   	pop    %esi
434746:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
43474a:	0f 84 a4 00 00 00    	je     0x4347f4
434750:	8b c7                	mov    %edi,%eax
434752:	d3 e0                	shl    %cl,%eax
434754:	f7 d0                	not    %eax
434756:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
43475a:	eb 04                	jmp    0x434760
43475c:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
434760:	75 0a                	jne    0x43476c
434762:	42                   	inc    %edx
434763:	3b d6                	cmp    %esi,%edx
434765:	7c f5                	jl     0x43475c
434767:	e9 85 00 00 00       	jmp    0x4347f1
43476c:	8b 45 cc             	mov    -0x34(%ebp),%eax
43476f:	99                   	cltd
434770:	6a 1f                	push   $0x1f
434772:	59                   	pop    %ecx
434773:	23 d1                	and    %ecx,%edx
434775:	03 d0                	add    %eax,%edx
434777:	8b 45 cc             	mov    -0x34(%ebp),%eax
43477a:	c1 fa 05             	sar    $0x5,%edx
43477d:	25 1f 00 00 80       	and    $0x8000001f,%eax
434782:	79 05                	jns    0x434789
434784:	48                   	dec    %eax
434785:	83 c8 e0             	or     $0xffffffe0,%eax
434788:	40                   	inc    %eax
434789:	2b c8                	sub    %eax,%ecx
43478b:	33 c0                	xor    %eax,%eax
43478d:	40                   	inc    %eax
43478e:	d3 e0                	shl    %cl,%eax
434790:	6a ff                	push   $0xffffffff
434792:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
434795:	5f                   	pop    %edi
434796:	89 45 c8             	mov    %eax,-0x38(%ebp)
434799:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
43479d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4347a0:	03 c8                	add    %eax,%ecx
4347a2:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4347a5:	3b c8                	cmp    %eax,%ecx
4347a7:	8b 45 d8             	mov    -0x28(%ebp),%eax
4347aa:	8b cb                	mov    %ebx,%ecx
4347ac:	72 05                	jb     0x4347b3
4347ae:	3b 45 c8             	cmp    -0x38(%ebp),%eax
4347b1:	73 06                	jae    0x4347b9
4347b3:	33 c9                	xor    %ecx,%ecx
4347b5:	41                   	inc    %ecx
4347b6:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4347b9:	4a                   	dec    %edx
4347ba:	89 44 95 f4          	mov    %eax,-0xc(%ebp,%edx,4)
4347be:	78 2e                	js     0x4347ee
4347c0:	85 c9                	test   %ecx,%ecx
4347c2:	74 27                	je     0x4347eb
4347c4:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
4347c8:	8b cb                	mov    %ebx,%ecx
4347ca:	8d 78 01             	lea    0x1(%eax),%edi
4347cd:	3b f8                	cmp    %eax,%edi
4347cf:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4347d2:	89 7d d8             	mov    %edi,-0x28(%ebp)
4347d5:	8b c7                	mov    %edi,%eax
4347d7:	72 05                	jb     0x4347de
4347d9:	83 f8 01             	cmp    $0x1,%eax
4347dc:	73 06                	jae    0x4347e4
4347de:	33 c9                	xor    %ecx,%ecx
4347e0:	41                   	inc    %ecx
4347e1:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4347e4:	4a                   	dec    %edx
4347e5:	89 44 95 f4          	mov    %eax,-0xc(%ebp,%edx,4)
4347e9:	79 d5                	jns    0x4347c0
4347eb:	83 cf ff             	or     $0xffffffff,%edi
4347ee:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4347f1:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4347f4:	8b c7                	mov    %edi,%eax
4347f6:	d3 e0                	shl    %cl,%eax
4347f8:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
4347fc:	8d 42 01             	lea    0x1(%edx),%eax
4347ff:	3b c6                	cmp    %esi,%eax
434801:	7d 11                	jge    0x434814
434803:	8d 7d f0             	lea    -0x10(%ebp),%edi
434806:	8b ce                	mov    %esi,%ecx
434808:	8d 3c 87             	lea    (%edi,%eax,4),%edi
43480b:	2b c8                	sub    %eax,%ecx
43480d:	33 c0                	xor    %eax,%eax
43480f:	f3 ab                	rep stos %eax,%es:(%edi)
434811:	83 cf ff             	or     $0xffffffff,%edi
434814:	8b 4d e0             	mov    -0x20(%ebp),%ecx
434817:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
43481a:	74 01                	je     0x43481d
43481c:	41                   	inc    %ecx
43481d:	8b 15 9c b1 4b 00    	mov    0x4bb19c,%edx
434823:	8b c2                	mov    %edx,%eax
434825:	2b 05 a0 b1 4b 00    	sub    0x4bb1a0,%eax
43482b:	3b c8                	cmp    %eax,%ecx
43482d:	7d 0f                	jge    0x43483e
43482f:	33 c0                	xor    %eax,%eax
434831:	8d 7d f0             	lea    -0x10(%ebp),%edi
434834:	ab                   	stos   %eax,%es:(%edi)
434835:	ab                   	stos   %eax,%es:(%edi)
434836:	ab                   	stos   %eax,%es:(%edi)
434837:	8b f3                	mov    %ebx,%esi
434839:	e9 b6 fe ff ff       	jmp    0x4346f4
43483e:	3b ca                	cmp    %edx,%ecx
434840:	0f 8f 19 02 00 00    	jg     0x434a5f
434846:	2b 55 dc             	sub    -0x24(%ebp),%edx
434849:	8d 75 e4             	lea    -0x1c(%ebp),%esi
43484c:	89 55 d0             	mov    %edx,-0x30(%ebp)
43484f:	8b c2                	mov    %edx,%eax
434851:	99                   	cltd
434852:	8d 7d f0             	lea    -0x10(%ebp),%edi
434855:	a5                   	movsl  %ds:(%esi),%es:(%edi)
434856:	83 e2 1f             	and    $0x1f,%edx
434859:	03 c2                	add    %edx,%eax
43485b:	c1 f8 05             	sar    $0x5,%eax
43485e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43485f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
434862:	8b 45 d0             	mov    -0x30(%ebp),%eax
434865:	a5                   	movsl  %ds:(%esi),%es:(%edi)
434866:	25 1f 00 00 80       	and    $0x8000001f,%eax
43486b:	79 05                	jns    0x434872
43486d:	48                   	dec    %eax
43486e:	83 c8 e0             	or     $0xffffffe0,%eax
434871:	40                   	inc    %eax
434872:	89 45 d0             	mov    %eax,-0x30(%ebp)
434875:	83 cf ff             	or     $0xffffffff,%edi
434878:	8b c7                	mov    %edi,%eax
43487a:	8b 7d d0             	mov    -0x30(%ebp),%edi
43487d:	8b cf                	mov    %edi,%ecx
43487f:	d3 e0                	shl    %cl,%eax
434881:	6a 20                	push   $0x20
434883:	89 5d e0             	mov    %ebx,-0x20(%ebp)
434886:	f7 d0                	not    %eax
434888:	89 45 d8             	mov    %eax,-0x28(%ebp)
43488b:	58                   	pop    %eax
43488c:	2b c7                	sub    %edi,%eax
43488e:	6a 03                	push   $0x3
434890:	89 45 c8             	mov    %eax,-0x38(%ebp)
434893:	5e                   	pop    %esi
434894:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
434898:	8b c2                	mov    %edx,%eax
43489a:	23 45 d8             	and    -0x28(%ebp),%eax
43489d:	8b cf                	mov    %edi,%ecx
43489f:	d3 ea                	shr    %cl,%edx
4348a1:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4348a4:	d3 e0                	shl    %cl,%eax
4348a6:	0b 55 e0             	or     -0x20(%ebp),%edx
4348a9:	43                   	inc    %ebx
4348aa:	89 54 9d ec          	mov    %edx,-0x14(%ebp,%ebx,4)
4348ae:	89 45 e0             	mov    %eax,-0x20(%ebp)
4348b1:	3b de                	cmp    %esi,%ebx
4348b3:	7c df                	jl     0x434894
4348b5:	8b 45 c4             	mov    -0x3c(%ebp),%eax