43246b:	3d ff fe 00 00       	cmp    $0xfeff,%eax
432470:	75 1b                	jne    0x43248d
432472:	57                   	push   %edi
432473:	6a 02                	push   $0x2
432475:	ff 36                	push   (%esi)
432477:	e8 a1 86 00 00       	call   0x43ab1d
43247c:	83 c4 0c             	add    $0xc,%esp
43247f:	3b c3                	cmp    %ebx,%eax
432481:	0f 84 c2 fd ff ff    	je     0x432249
432487:	c6 45 fe 02          	movb   $0x2,-0x2(%ebp)
43248b:	eb 3e                	jmp    0x4324cb
43248d:	57                   	push   %edi
43248e:	57                   	push   %edi
43248f:	ff 36                	push   (%esi)
432491:	e8 87 86 00 00       	call   0x43ab1d
432496:	83 c4 0c             	add    $0xc,%esp
432499:	eb 9a                	jmp    0x432435
43249b:	c7 45 e4 ef bb bf 00 	movl   $0xbfbbef,-0x1c(%ebp)
4324a2:	6a 03                	push   $0x3
4324a4:	5b                   	pop    %ebx
4324a5:	8b c3                	mov    %ebx,%eax
4324a7:	2b c7                	sub    %edi,%eax
4324a9:	50                   	push   %eax
4324aa:	8d 44 3d e4          	lea    -0x1c(%ebp,%edi,1),%eax
4324ae:	50                   	push   %eax
4324af:	ff 36                	push   (%esi)
4324b1:	e8 2f 78 00 00       	call   0x439ce5
4324b6:	83 c4 0c             	add    $0xc,%esp
4324b9:	83 f8 ff             	cmp    $0xffffffff,%eax
4324bc:	0f 84 87 fd ff ff    	je     0x432249
4324c2:	03 f8                	add    %eax,%edi
4324c4:	3b df                	cmp    %edi,%ebx
4324c6:	7f dd                	jg     0x4324a5
4324c8:	83 cb ff             	or     $0xffffffff,%ebx
4324cb:	8b 06                	mov    (%esi),%eax
4324cd:	8b c8                	mov    %eax,%ecx
4324cf:	c1 f9 05             	sar    $0x5,%ecx
4324d2:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
4324d9:	83 e0 1f             	and    $0x1f,%eax
4324dc:	c1 e0 06             	shl    $0x6,%eax
4324df:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
4324e3:	8a 08                	mov    (%eax),%cl
4324e5:	32 4d fe             	xor    -0x2(%ebp),%cl
4324e8:	80 e1 7f             	and    $0x7f,%cl
4324eb:	30 08                	xor    %cl,(%eax)
4324ed:	8b 06                	mov    (%esi),%eax
4324ef:	8b c8                	mov    %eax,%ecx
4324f1:	c1 f9 05             	sar    $0x5,%ecx
4324f4:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
4324fb:	83 e0 1f             	and    $0x1f,%eax
4324fe:	c1 e0 06             	shl    $0x6,%eax
432501:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
432505:	8b 4d 10             	mov    0x10(%ebp),%ecx
432508:	8a 10                	mov    (%eax),%dl
43250a:	c1 e9 10             	shr    $0x10,%ecx
43250d:	c0 e1 07             	shl    $0x7,%cl
432510:	80 e2 7f             	and    $0x7f,%dl
432513:	0a ca                	or     %dl,%cl
432515:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
432519:	88 08                	mov    %cl,(%eax)
43251b:	75 21                	jne    0x43253e
43251d:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
432521:	74 1b                	je     0x43253e
432523:	8b 06                	mov    (%esi),%eax
432525:	8b c8                	mov    %eax,%ecx
432527:	83 e0 1f             	and    $0x1f,%eax
43252a:	c1 f9 05             	sar    $0x5,%ecx
43252d:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
432534:	c1 e0 06             	shl    $0x6,%eax
432537:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
43253b:	80 08 20             	orb    $0x20,(%eax)
43253e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
432541:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
432546:	23 c8                	and    %eax,%ecx
432548:	3b c8                	cmp    %eax,%ecx
43254a:	75 7e                	jne    0x4325ca
43254c:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
432550:	74 78                	je     0x4325ca
432552:	ff 75 e0             	push   -0x20(%ebp)
432555:	ff 15 2c 34 47 00    	call   *0x47342c
43255b:	6a 00                	push   $0x0
43255d:	ff 75 f0             	push   -0x10(%ebp)
432560:	8d 45 cc             	lea    -0x34(%ebp),%eax
432563:	6a 03                	push   $0x3
432565:	50                   	push   %eax
432566:	ff 75 ec             	push   -0x14(%ebp)
432569:	8b 45 f4             	mov    -0xc(%ebp),%eax
43256c:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
432571:	50                   	push   %eax
432572:	ff 75 0c             	push   0xc(%ebp)
432575:	ff 15 ac 34 47 00    	call   *0x4734ac
43257b:	3b c3                	cmp    %ebx,%eax
43257d:	75 34                	jne    0x4325b3
43257f:	ff 15 24 34 47 00    	call   *0x473424
432585:	50                   	push   %eax
432586:	e8 43 24 00 00       	call   0x4349ce
43258b:	8b 06                	mov    (%esi),%eax
43258d:	8b c8                	mov    %eax,%ecx
43258f:	83 e0 1f             	and    $0x1f,%eax
432592:	c1 f9 05             	sar    $0x5,%ecx
432595:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
43259c:	c1 e0 06             	shl    $0x6,%eax
43259f:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
4325a3:	80 20 fe             	andb   $0xfe,(%eax)
4325a6:	ff 36                	push   (%esi)
4325a8:	e8 9d 7f 00 00       	call   0x43a54a
4325ad:	59                   	pop    %ecx
4325ae:	e9 a1 fb ff ff       	jmp    0x432154
4325b3:	8b 36                	mov    (%esi),%esi
4325b5:	8b ce                	mov    %esi,%ecx
4325b7:	c1 f9 05             	sar    $0x5,%ecx
4325ba:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
4325c1:	83 e6 1f             	and    $0x1f,%esi
4325c4:	c1 e6 06             	shl    $0x6,%esi
4325c7:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
4325ca:	8b 45 f8             	mov    -0x8(%ebp),%eax
4325cd:	e9 55 fa ff ff       	jmp    0x432027
4325d2:	53                   	push   %ebx
4325d3:	53                   	push   %ebx
4325d4:	53                   	push   %ebx
4325d5:	53                   	push   %ebx
4325d6:	53                   	push   %ebx
4325d7:	e8 26 1d 00 00       	call   0x434302
4325dc:	cc                   	int3
4325dd:	6a 14                	push   $0x14
4325df:	68 b0 dc 46 00       	push   $0x46dcb0
4325e4:	e8 97 27 00 00       	call   0x434d80
4325e9:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
4325ed:	33 ff                	xor    %edi,%edi
4325ef:	89 7d e0             	mov    %edi,-0x20(%ebp)
4325f2:	33 c0                	xor    %eax,%eax
4325f4:	39 7d 08             	cmp    %edi,0x8(%ebp)
4325f7:	0f 95 c0             	setne  %al
4325fa:	3b c7                	cmp    %edi,%eax
4325fc:	75 15                	jne    0x432613
4325fe:	e8 a5 23 00 00       	call   0x4349a8
432603:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
432609:	e8 60 1d 00 00       	call   0x43436e
43260e:	83 c8 ff             	or     $0xffffffff,%eax
432611:	eb 72                	jmp    0x432685
432613:	89 7d fc             	mov    %edi,-0x4(%ebp)
432616:	ff 75 10             	push   0x10(%ebp)
432619:	6a 40                	push   $0x40
43261b:	ff 75 0c             	push   0xc(%ebp)
43261e:	ff 75 08             	push   0x8(%ebp)
432621:	8d 45 e0             	lea    -0x20(%ebp),%eax
432624:	50                   	push   %eax
432625:	8d 45 e4             	lea    -0x1c(%ebp),%eax
432628:	e8 7b f8 ff ff       	call   0x431ea8
43262d:	83 c4 14             	add    $0x14,%esp
432630:	89 45 dc             	mov    %eax,-0x24(%ebp)
432633:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43263a:	e8 12 00 00 00       	call   0x432651
43263f:	8b 75 dc             	mov    -0x24(%ebp),%esi
432642:	3b f7                	cmp    %edi,%esi
432644:	74 3c                	je     0x432682
432646:	e8 5d 23 00 00       	call   0x4349a8
43264b:	89 30                	mov    %esi,(%eax)
43264d:	eb bf                	jmp    0x43260e
43264f:	33 ff                	xor    %edi,%edi
432651:	39 7d e0             	cmp    %edi,-0x20(%ebp)
432654:	74 2b                	je     0x432681
432656:	39 7d dc             	cmp    %edi,-0x24(%ebp)
432659:	74 1d                	je     0x432678
43265b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43265e:	c1 f8 05             	sar    $0x5,%eax
432661:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
432664:	83 e1 1f             	and    $0x1f,%ecx
432667:	c1 e1 06             	shl    $0x6,%ecx
43266a:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
432671:	8d 44 08 04          	lea    0x4(%eax,%ecx,1),%eax
432675:	80 20 fe             	andb   $0xfe,(%eax)
432678:	ff 75 e4             	push   -0x1c(%ebp)
43267b:	e8 58 80 00 00       	call   0x43a6d8
432680:	59                   	pop    %ecx
432681:	c3                   	ret
432682:	8b 45 e4             	mov    -0x1c(%ebp),%eax
432685:	e8 3b 27 00 00       	call   0x434dc5
43268a:	c3                   	ret
43268b:	6a 14                	push   $0x14
43268d:	68 d0 dc 46 00       	push   $0x46dcd0
432692:	e8 e9 26 00 00       	call   0x434d80
432697:	33 ff                	xor    %edi,%edi
432699:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43269c:	33 c0                	xor    %eax,%eax
43269e:	8b 75 18             	mov    0x18(%ebp),%esi
4326a1:	3b f7                	cmp    %edi,%esi
4326a3:	0f 95 c0             	setne  %al
4326a6:	3b c7                	cmp    %edi,%eax
4326a8:	75 13                	jne    0x4326bd
4326aa:	e8 f9 22 00 00       	call   0x4349a8
4326af:	6a 16                	push   $0x16
4326b1:	5e                   	pop    %esi
4326b2:	89 30                	mov    %esi,(%eax)
4326b4:	e8 b5 1c 00 00       	call   0x43436e
4326b9:	8b c6                	mov    %esi,%eax
4326bb:	eb 59                	jmp    0x432716
4326bd:	83 0e ff             	orl    $0xffffffff,(%esi)
4326c0:	33 c0                	xor    %eax,%eax
4326c2:	39 7d 08             	cmp    %edi,0x8(%ebp)
4326c5:	0f 95 c0             	setne  %al
4326c8:	3b c7                	cmp    %edi,%eax
4326ca:	74 de                	je     0x4326aa
4326cc:	39 7d 1c             	cmp    %edi,0x1c(%ebp)
4326cf:	74 0f                	je     0x4326e0
4326d1:	8b 45 14             	mov    0x14(%ebp),%eax
4326d4:	25 7f fe ff ff       	and    $0xfffffe7f,%eax
4326d9:	f7 d8                	neg    %eax
4326db:	1b c0                	sbb    %eax,%eax
4326dd:	40                   	inc    %eax
4326de:	74 ca                	je     0x4326aa
4326e0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4326e3:	ff 75 14             	push   0x14(%ebp)
4326e6:	ff 75 10             	push   0x10(%ebp)
4326e9:	ff 75 0c             	push   0xc(%ebp)
4326ec:	ff 75 08             	push   0x8(%ebp)
4326ef:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4326f2:	50                   	push   %eax
4326f3:	8b c6                	mov    %esi,%eax
4326f5:	e8 ae f7 ff ff       	call   0x431ea8
4326fa:	83 c4 14             	add    $0x14,%esp
4326fd:	89 45 e0             	mov    %eax,-0x20(%ebp)
432700:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
432707:	e8 15 00 00 00       	call   0x432721
43270c:	8b 45 e0             	mov    -0x20(%ebp),%eax
43270f:	3b c7                	cmp    %edi,%eax
432711:	74 03                	je     0x432716
432713:	83 0e ff             	orl    $0xffffffff,(%esi)
432716:	e8 aa 26 00 00       	call   0x434dc5
43271b:	c3                   	ret
43271c:	33 ff                	xor    %edi,%edi
43271e:	8b 75 18             	mov    0x18(%ebp),%esi
432721:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
432724:	74 28                	je     0x43274e
432726:	39 7d e0             	cmp    %edi,-0x20(%ebp)
432729:	74 1b                	je     0x432746
43272b:	8b 06                	mov    (%esi),%eax
43272d:	8b c8                	mov    %eax,%ecx
43272f:	c1 f9 05             	sar    $0x5,%ecx
432732:	83 e0 1f             	and    $0x1f,%eax
432735:	c1 e0 06             	shl    $0x6,%eax
432738:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
43273f:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
432743:	80 20 fe             	andb   $0xfe,(%eax)
432746:	ff 36                	push   (%esi)
432748:	e8 8b 7f 00 00       	call   0x43a6d8
43274d:	59                   	pop    %ecx
43274e:	c3                   	ret
43274f:	8b ff                	mov    %edi,%edi
432751:	55                   	push   %ebp
432752:	8b ec                	mov    %esp,%ebp
432754:	51                   	push   %ecx
432755:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
432759:	6a 00                	push   $0x0
43275b:	8d 45 fc             	lea    -0x4(%ebp),%eax
43275e:	50                   	push   %eax
43275f:	ff 75 14             	push   0x14(%ebp)
432762:	ff 75 10             	push   0x10(%ebp)
432765:	ff 75 0c             	push   0xc(%ebp)
432768:	ff 75 08             	push   0x8(%ebp)
43276b:	e8 1b ff ff ff       	call   0x43268b
432770:	83 c4 18             	add    $0x18,%esp
432773:	85 c0                	test   %eax,%eax
432775:	74 05                	je     0x43277c
432777:	83 c8 ff             	or     $0xffffffff,%eax
43277a:	c9                   	leave
43277b:	c3                   	ret
43277c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43277f:	c9                   	leave
432780:	c3                   	ret
432781:	8b ff                	mov    %edi,%edi
432783:	55                   	push   %ebp
432784:	8b ec                	mov    %esp,%ebp
432786:	6a 01                	push   $0x1
432788:	ff 75 08             	push   0x8(%ebp)
43278b:	ff 75 18             	push   0x18(%ebp)
43278e:	ff 75 14             	push   0x14(%ebp)
432791:	ff 75 10             	push   0x10(%ebp)
432794:	ff 75 0c             	push   0xc(%ebp)
432797:	e8 ef fe ff ff       	call   0x43268b
43279c:	83 c4 18             	add    $0x18,%esp
43279f:	5d                   	pop    %ebp
4327a0:	c3                   	ret
4327a1:	8b ff                	mov    %edi,%edi
4327a3:	55                   	push   %ebp
4327a4:	8b ec                	mov    %esp,%ebp
4327a6:	8b 55 08             	mov    0x8(%ebp),%edx
4327a9:	8b c2                	mov    %edx,%eax
4327ab:	66 8b 0a             	mov    (%edx),%cx
4327ae:	83 c2 02             	add    $0x2,%edx
4327b1:	66 85 c9             	test   %cx,%cx
4327b4:	75 f5                	jne    0x4327ab
4327b6:	83 ea 02             	sub    $0x2,%edx
4327b9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4327bd:	56                   	push   %esi
4327be:	74 1d                	je     0x4327dd
4327c0:	8b 75 0c             	mov    0xc(%ebp),%esi
4327c3:	0f b7 0e             	movzwl (%esi),%ecx
4327c6:	ff 4d 10             	decl   0x10(%ebp)
4327c9:	66 89 0a             	mov    %cx,(%edx)
4327cc:	83 c2 02             	add    $0x2,%edx
4327cf:	83 c6 02             	add    $0x2,%esi
4327d2:	66 85 c9             	test   %cx,%cx
4327d5:	74 0b                	je     0x4327e2
4327d7:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4327db:	75 e6                	jne    0x4327c3
4327dd:	33 c9                	xor    %ecx,%ecx
4327df:	66 89 0a             	mov    %cx,(%edx)
4327e2:	5e                   	pop    %esi
4327e3:	5d                   	pop    %ebp
4327e4:	c3                   	ret
4327e5:	8b ff                	mov    %edi,%edi
4327e7:	55                   	push   %ebp
4327e8:	8b ec                	mov    %esp,%ebp
4327ea:	51                   	push   %ecx
4327eb:	b8 ff ff 00 00       	mov    $0xffff,%eax
4327f0:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4327f4:	75 04                	jne    0x4327fa
4327f6:	33 c0                	xor    %eax,%eax
4327f8:	c9                   	leave
4327f9:	c3                   	ret
4327fa:	b8 00 01 00 00       	mov    $0x100,%eax
4327ff:	66 39 45 08          	cmp    %ax,0x8(%ebp)
432803:	73 10                	jae    0x432815
432805:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
432809:	8b 0d 34 fe 46 00    	mov    0x46fe34,%ecx
43280f:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
432813:	eb 1d                	jmp    0x432832
432815:	8d 45 fc             	lea    -0x4(%ebp),%eax
432818:	50                   	push   %eax
432819:	6a 01                	push   $0x1
43281b:	8d 45 08             	lea    0x8(%ebp),%eax
43281e:	50                   	push   %eax
43281f:	6a 01                	push   $0x1
432821:	ff 15 f4 34 47 00    	call   *0x4734f4
432827:	85 c0                	test   %eax,%eax
432829:	75 03                	jne    0x43282e
43282b:	21 45 fc             	and    %eax,-0x4(%ebp)
43282e:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
432832:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
432836:	23 c1                	and    %ecx,%eax
432838:	c9                   	leave
432839:	c3                   	ret
43283a:	8b ff                	mov    %edi,%edi
43283c:	55                   	push   %ebp
43283d:	8b ec                	mov    %esp,%ebp
43283f:	5d                   	pop    %ebp
432840:	e9 a0 ff ff ff       	jmp    0x4327e5
432845:	8b ff                	mov    %edi,%edi
432847:	55                   	push   %ebp