4195e0:	8b ec                	mov    %esp,%ebp
4195e2:	8a 4d 0c             	mov    0xc(%ebp),%cl
4195e5:	84 c9                	test   %cl,%cl
4195e7:	78 04                	js     0x4195ed
4195e9:	33 c0                	xor    %eax,%eax
4195eb:	5d                   	pop    %ebp
4195ec:	c3                   	ret
4195ed:	8a c1                	mov    %cl,%al
4195ef:	24 e0                	and    $0xe0,%al
4195f1:	3c c0                	cmp    $0xc0,%al
4195f3:	75 10                	jne    0x419605
4195f5:	8b 45 08             	mov    0x8(%ebp),%eax
4195f8:	0f b6 c9             	movzbl %cl,%ecx
4195fb:	83 e1 1f             	and    $0x1f,%ecx
4195fe:	89 08                	mov    %ecx,(%eax)
419600:	33 c0                	xor    %eax,%eax
419602:	40                   	inc    %eax
419603:	5d                   	pop    %ebp
419604:	c3                   	ret
419605:	8a c1                	mov    %cl,%al
419607:	24 f0                	and    $0xf0,%al
419609:	3c e0                	cmp    $0xe0,%al
41960b:	75 10                	jne    0x41961d
41960d:	0f b6 c9             	movzbl %cl,%ecx
419610:	83 e1 0f             	and    $0xf,%ecx
419613:	6a 02                	push   $0x2
419615:	8b 45 08             	mov    0x8(%ebp),%eax
419618:	89 08                	mov    %ecx,(%eax)
41961a:	58                   	pop    %eax
41961b:	5d                   	pop    %ebp
41961c:	c3                   	ret
41961d:	8a c1                	mov    %cl,%al
41961f:	24 f8                	and    $0xf8,%al
419621:	3c f0                	cmp    $0xf0,%al
419623:	75 0a                	jne    0x41962f
419625:	0f b6 c9             	movzbl %cl,%ecx
419628:	83 e1 07             	and    $0x7,%ecx
41962b:	6a 03                	push   $0x3
41962d:	eb e6                	jmp    0x419615
41962f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
419634:	5d                   	pop    %ebp
419635:	c3                   	ret
419636:	55                   	push   %ebp
419637:	8b ec                	mov    %esp,%ebp
419639:	51                   	push   %ecx
41963a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41963d:	50                   	push   %eax
41963e:	6a 01                	push   $0x1
419640:	8d 45 08             	lea    0x8(%ebp),%eax
419643:	50                   	push   %eax
419644:	6a 01                	push   $0x1
419646:	ff 15 58 e1 43 00    	call   *0x43e158
41964c:	f7 d8                	neg    %eax
41964e:	1b c0                	sbb    %eax,%eax
419650:	66 23 45 fc          	and    -0x4(%ebp),%ax
419654:	c9                   	leave
419655:	c3                   	ret
419656:	55                   	push   %ebp
419657:	8b ec                	mov    %esp,%ebp
419659:	ff 75 10             	push   0x10(%ebp)
41965c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41965f:	2b 4d 08             	sub    0x8(%ebp),%ecx
419662:	d1 f9                	sar    $1,%ecx
419664:	51                   	push   %ecx
419665:	ff 75 08             	push   0x8(%ebp)
419668:	6a 01                	push   $0x1
41966a:	ff 15 58 e1 43 00    	call   *0x43e158
419670:	8b 45 0c             	mov    0xc(%ebp),%eax
419673:	5d                   	pop    %ebp
419674:	c3                   	ret
419675:	55                   	push   %ebp
419676:	8b ec                	mov    %esp,%ebp
419678:	51                   	push   %ecx
419679:	66 8b 4d 08          	mov    0x8(%ebp),%cx
41967d:	b8 ff ff 00 00       	mov    $0xffff,%eax
419682:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
419686:	66 3b c8             	cmp    %ax,%cx
419689:	74 45                	je     0x4196d0
41968b:	8b 45 0c             	mov    0xc(%ebp),%eax
41968e:	ba 00 01 00 00       	mov    $0x100,%edx
419693:	8b 40 0c             	mov    0xc(%eax),%eax
419696:	85 c0                	test   %eax,%eax
419698:	75 14                	jne    0x4196ae
41969a:	66 3b ca             	cmp    %dx,%cx
41969d:	73 0f                	jae    0x4196ae
41969f:	8d 41 bf             	lea    -0x41(%ecx),%eax
4196a2:	66 83 f8 19          	cmp    $0x19,%ax
4196a6:	77 28                	ja     0x4196d0
4196a8:	66 83 c1 20          	add    $0x20,%cx
4196ac:	eb 22                	jmp    0x4196d0
4196ae:	6a 01                	push   $0x1
4196b0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4196b3:	51                   	push   %ecx
4196b4:	6a 01                	push   $0x1
4196b6:	8d 4d 08             	lea    0x8(%ebp),%ecx
4196b9:	51                   	push   %ecx
4196ba:	52                   	push   %edx
4196bb:	50                   	push   %eax
4196bc:	e8 3b 02 00 00       	call   0x4198fc
4196c1:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4196c5:	83 c4 18             	add    $0x18,%esp
4196c8:	85 c0                	test   %eax,%eax
4196ca:	74 04                	je     0x4196d0
4196cc:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
4196d0:	66 8b c1             	mov    %cx,%ax
4196d3:	c9                   	leave
4196d4:	c3                   	ret
4196d5:	55                   	push   %ebp
4196d6:	8b ec                	mov    %esp,%ebp
4196d8:	56                   	push   %esi
4196d9:	57                   	push   %edi
4196da:	8b 7d 08             	mov    0x8(%ebp),%edi
4196dd:	33 f6                	xor    %esi,%esi
4196df:	6a 2c                	push   $0x2c
4196e1:	56                   	push   %esi
4196e2:	57                   	push   %edi
4196e3:	e8 28 25 00 00       	call   0x41bc10
4196e8:	83 c4 0c             	add    $0xc,%esp
4196eb:	e8 e0 d4 00 00       	call   0x426bd0
4196f0:	89 07                	mov    %eax,(%edi)
4196f2:	e8 25 d5 00 00       	call   0x426c1c
4196f7:	89 47 04             	mov    %eax,0x4(%edi)
4196fa:	e8 f6 d4 00 00       	call   0x426bf5
4196ff:	8b 48 08             	mov    0x8(%eax),%ecx
419702:	33 c0                	xor    %eax,%eax
419704:	85 c9                	test   %ecx,%ecx
419706:	0f 94 c0             	sete   %al
419709:	89 47 08             	mov    %eax,0x8(%edi)
41970c:	85 c9                	test   %ecx,%ecx
41970e:	74 32                	je     0x419742
419710:	53                   	push   %ebx
419711:	e8 96 d4 00 00       	call   0x426bac
419716:	8b d8                	mov    %eax,%ebx
419718:	33 c0                	xor    %eax,%eax
41971a:	66 39 04 73          	cmp    %ax,(%ebx,%esi,2)
41971e:	7d 18                	jge    0x419738
419720:	8b d6                	mov    %esi,%edx
419722:	8b c6                	mov    %esi,%eax
419724:	c1 ea 03             	shr    $0x3,%edx
419727:	83 e0 07             	and    $0x7,%eax
41972a:	0f b6 4c 3a 0c       	movzbl 0xc(%edx,%edi,1),%ecx
41972f:	0f ab c1             	bts    %eax,%ecx
419732:	33 c0                	xor    %eax,%eax
419734:	88 4c 3a 0c          	mov    %cl,0xc(%edx,%edi,1)
419738:	46                   	inc    %esi
419739:	81 fe 00 01 00 00    	cmp    $0x100,%esi
41973f:	7c d9                	jl     0x41971a
419741:	5b                   	pop    %ebx
419742:	8b c7                	mov    %edi,%eax
419744:	5f                   	pop    %edi
419745:	5e                   	pop    %esi
419746:	5d                   	pop    %ebp
419747:	c3                   	ret
419748:	55                   	push   %ebp
419749:	8b ec                	mov    %esp,%ebp
41974b:	51                   	push   %ecx
41974c:	8b 45 14             	mov    0x14(%ebp),%eax
41974f:	8b 4d 08             	mov    0x8(%ebp),%ecx
419752:	56                   	push   %esi
419753:	33 f6                	xor    %esi,%esi
419755:	39 70 08             	cmp    %esi,0x8(%eax)
419758:	74 15                	je     0x41976f
41975a:	66 8b 45 0c          	mov    0xc(%ebp),%ax
41975e:	ba ff 00 00 00       	mov    $0xff,%edx
419763:	66 3b c2             	cmp    %dx,%ax
419766:	77 2b                	ja     0x419793
419768:	88 01                	mov    %al,(%ecx)
41976a:	33 c0                	xor    %eax,%eax
41976c:	40                   	inc    %eax
41976d:	eb 32                	jmp    0x4197a1
41976f:	8d 55 fc             	lea    -0x4(%ebp),%edx
419772:	89 75 fc             	mov    %esi,-0x4(%ebp)
419775:	52                   	push   %edx
419776:	56                   	push   %esi
419777:	ff 70 04             	push   0x4(%eax)
41977a:	51                   	push   %ecx
41977b:	6a 01                	push   $0x1
41977d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
419780:	51                   	push   %ecx
419781:	56                   	push   %esi
419782:	ff 30                	push   (%eax)
419784:	ff 15 ec e0 43 00    	call   *0x43e0ec
41978a:	85 c0                	test   %eax,%eax
41978c:	74 05                	je     0x419793
41978e:	39 75 fc             	cmp    %esi,-0x4(%ebp)
419791:	74 0e                	je     0x4197a1
419793:	e8 98 a2 00 00       	call   0x423a30
419798:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41979e:	83 c8 ff             	or     $0xffffffff,%eax
4197a1:	5e                   	pop    %esi
4197a2:	c9                   	leave
4197a3:	c3                   	ret
4197a4:	55                   	push   %ebp
4197a5:	8b ec                	mov    %esp,%ebp
4197a7:	51                   	push   %ecx
4197a8:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4197ac:	b8 ff ff 00 00       	mov    $0xffff,%eax
4197b1:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
4197b5:	66 3b c8             	cmp    %ax,%cx
4197b8:	74 49                	je     0x419803
4197ba:	8b 45 0c             	mov    0xc(%ebp),%eax
4197bd:	8b 40 0c             	mov    0xc(%eax),%eax
4197c0:	85 c0                	test   %eax,%eax
4197c2:	75 19                	jne    0x4197dd
4197c4:	ba 00 01 00 00       	mov    $0x100,%edx
4197c9:	66 3b ca             	cmp    %dx,%cx
4197cc:	73 0f                	jae    0x4197dd
4197ce:	8d 41 9f             	lea    -0x61(%ecx),%eax
4197d1:	66 83 f8 19          	cmp    $0x19,%ax
4197d5:	77 2c                	ja     0x419803
4197d7:	66 83 e9 20          	sub    $0x20,%cx
4197db:	eb 26                	jmp    0x419803
4197dd:	6a 01                	push   $0x1
4197df:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4197e2:	51                   	push   %ecx
4197e3:	6a 01                	push   $0x1
4197e5:	8d 4d 08             	lea    0x8(%ebp),%ecx
4197e8:	51                   	push   %ecx
4197e9:	68 00 02 00 00       	push   $0x200
4197ee:	50                   	push   %eax
4197ef:	e8 08 01 00 00       	call   0x4198fc
4197f4:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4197f8:	83 c4 18             	add    $0x18,%esp
4197fb:	85 c0                	test   %eax,%eax
4197fd:	74 04                	je     0x419803
4197ff:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
419803:	66 8b c1             	mov    %cx,%ax
419806:	c9                   	leave
419807:	c3                   	ret
419808:	55                   	push   %ebp
419809:	8b ec                	mov    %esp,%ebp
41980b:	ff 75 08             	push   0x8(%ebp)
41980e:	ff 15 e8 e0 43 00    	call   *0x43e0e8
419814:	5d                   	pop    %ebp
419815:	c3                   	ret
419816:	55                   	push   %ebp
419817:	8b ec                	mov    %esp,%ebp
419819:	6a 00                	push   $0x0
41981b:	68 a0 0f 00 00       	push   $0xfa0
419820:	ff 75 08             	push   0x8(%ebp)
419823:	ff 15 dc e0 43 00    	call   *0x43e0dc
419829:	5d                   	pop    %ebp
41982a:	c3                   	ret
41982b:	55                   	push   %ebp
41982c:	8b ec                	mov    %esp,%ebp
41982e:	ff 75 08             	push   0x8(%ebp)
419831:	ff 15 f8 e0 43 00    	call   *0x43e0f8
419837:	5d                   	pop    %ebp
419838:	c3                   	ret
419839:	55                   	push   %ebp
41983a:	8b ec                	mov    %esp,%ebp
41983c:	ff 75 08             	push   0x8(%ebp)
41983f:	ff 15 fc e0 43 00    	call   *0x43e0fc
419845:	5d                   	pop    %ebp
419846:	c3                   	ret
419847:	55                   	push   %ebp
419848:	8b ec                	mov    %esp,%ebp
41984a:	6a ff                	push   $0xffffffff
41984c:	68 30 bc 43 00       	push   $0x43bc30
419851:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
419857:	50                   	push   %eax
419858:	56                   	push   %esi
419859:	a1 14 50 45 00       	mov    0x455014,%eax
41985e:	33 c5                	xor    %ebp,%eax
419860:	50                   	push   %eax
419861:	8d 45 f4             	lea    -0xc(%ebp),%eax
419864:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41986a:	eb 25                	jmp    0x419891
41986c:	8b 04 8d bc 64 45 00 	mov    0x4564bc(,%ecx,4),%eax
419873:	41                   	inc    %ecx
419874:	50                   	push   %eax
419875:	89 0d 08 50 45 00    	mov    %ecx,0x455008
41987b:	ff 15 e4 e0 43 00    	call   *0x43e0e4
419881:	8b f0                	mov    %eax,%esi
419883:	85 f6                	test   %esi,%esi
419885:	74 0a                	je     0x419891
419887:	8b ce                	mov    %esi,%ecx
419889:	ff 15 5c e2 43 00    	call   *0x43e25c
41988f:	ff d6                	call   *%esi
419891:	8b 0d 08 50 45 00    	mov    0x455008,%ecx
419897:	83 f9 0a             	cmp    $0xa,%ecx
41989a:	72 d0                	jb     0x41986c
41989c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41989f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4198a6:	59                   	pop    %ecx
4198a7:	5e                   	pop    %esi
4198a8:	c9                   	leave
4198a9:	c3                   	ret
4198aa:	cc                   	int3
4198ab:	cc                   	int3
4198ac:	cc                   	int3
4198ad:	cc                   	int3
4198ae:	cc                   	int3
4198af:	55                   	push   %ebp
4198b0:	8b ec                	mov    %esp,%ebp
4198b2:	83 3d 08 50 45 00 00 	cmpl   $0x0,0x455008
4198b9:	0f 84 9a da 00 00    	je     0x427359
4198bf:	ff 75 08             	push   0x8(%ebp)
4198c2:	ff 15 5c e1 43 00    	call   *0x43e15c
4198c8:	8b 0d 08 50 45 00    	mov    0x455008,%ecx
4198ce:	49                   	dec    %ecx
4198cf:	89 0d 08 50 45 00    	mov    %ecx,0x455008
4198d5:	89 04 8d bc 64 45 00 	mov    %eax,0x4564bc(,%ecx,4)
4198dc:	5d                   	pop    %ebp
4198dd:	c3                   	ret
4198de:	55                   	push   %ebp
4198df:	8b ec                	mov    %esp,%ebp
4198e1:	8b 45 08             	mov    0x8(%ebp),%eax
4198e4:	85 c0                	test   %eax,%eax
4198e6:	74 12                	je     0x4198fa
4198e8:	83 e8 08             	sub    $0x8,%eax
4198eb:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
4198f1:	75 07                	jne    0x4198fa
4198f3:	50                   	push   %eax
4198f4:	e8 4a a1 00 00       	call   0x423a43
4198f9:	59                   	pop    %ecx
4198fa:	5d                   	pop    %ebp
4198fb:	c3                   	ret
4198fc:	55                   	push   %ebp
4198fd:	8b ec                	mov    %esp,%ebp
4198ff:	56                   	push   %esi
419900:	8b 75 14             	mov    0x14(%ebp),%esi
419903:	85 f6                	test   %esi,%esi
419905:	7e 14                	jle    0x41991b
419907:	56                   	push   %esi
419908:	ff 75 10             	push   0x10(%ebp)
41990b:	e8 cb db 00 00       	call   0x4274db
419910:	59                   	pop    %ecx
419911:	3b c6                	cmp    %esi,%eax
419913:	59                   	pop    %ecx
419914:	8d 70 01             	lea    0x1(%eax),%esi
419917:	7c 02                	jl     0x41991b
419919:	8b f0                	mov    %eax,%esi
41991b:	33 c0                	xor    %eax,%eax
41991d:	50                   	push   %eax
41991e:	50                   	push   %eax
41991f:	50                   	push   %eax
419920:	ff 75 1c             	push   0x1c(%ebp)
419923:	ff 75 18             	push   0x18(%ebp)
419926:	56                   	push   %esi
419927:	ff 75 10             	push   0x10(%ebp)
41992a:	ff 75 0c             	push   0xc(%ebp)
41992d:	ff 75 08             	push   0x8(%ebp)
419930:	ff 15 60 e1 43 00    	call   *0x43e160
419936:	5e                   	pop    %esi
419937:	5d                   	pop    %ebp
419938:	c3                   	ret
419939:	cc                   	int3
41993a:	cc                   	int3
41993b:	cc                   	int3