4176d2:	8b ce                	mov    %esi,%ecx
4176d4:	e8 57 01 00 00       	call   0x417830
4176d9:	e9 91 00 00 00       	jmp    0x41776f
4176de:	f7 46 50 00 00 01 00 	testl  $0x10000,0x50(%esi)
4176e5:	74 10                	je     0x4176f7
4176e7:	0f b6 46 48          	movzbl 0x48(%esi),%eax
4176eb:	8b ce                	mov    %esi,%ecx
4176ed:	50                   	push   %eax
4176ee:	e8 3d 10 00 00       	call   0x418730
4176f3:	84 c0                	test   %al,%al
4176f5:	75 19                	jne    0x417710
4176f7:	f7 46 50 00 80 00 00 	testl  $0x8000,0x50(%esi)
4176fe:	74 1c                	je     0x41771c
417700:	0f b6 46 48          	movzbl 0x48(%esi),%eax
417704:	8b ce                	mov    %esi,%ecx
417706:	50                   	push   %eax
417707:	e8 cd 10 00 00       	call   0x4187d9
41770c:	84 c0                	test   %al,%al
41770e:	74 0c                	je     0x41771c
417710:	8b ce                	mov    %esi,%ecx
417712:	e8 bd 4c 00 00       	call   0x41c3d4
417717:	33 c0                	xor    %eax,%eax
417719:	40                   	inc    %eax
41771a:	eb 53                	jmp    0x41776f
41771c:	89 7e 44             	mov    %edi,0x44(%esi)
41771f:	eb f6                	jmp    0x417717
417721:	83 f8 5b             	cmp    $0x5b,%eax
417724:	75 34                	jne    0x41775a
417726:	e8 a9 4c 00 00       	call   0x41c3d4
41772b:	8b 7e 4c             	mov    0x4c(%esi),%edi
41772e:	83 ff 3a             	cmp    $0x3a,%edi
417731:	74 13                	je     0x417746
417733:	83 ff 3d             	cmp    $0x3d,%edi
417736:	74 0e                	je     0x417746
417738:	83 ff 2e             	cmp    $0x2e,%edi
41773b:	74 09                	je     0x417746
41773d:	c7 46 44 5b 00 00 00 	movl   $0x5b,0x44(%esi)
417744:	eb d1                	jmp    0x417717
417746:	8b ce                	mov    %esi,%ecx
417748:	e8 87 4c 00 00       	call   0x41c3d4
41774d:	57                   	push   %edi
41774e:	8b ce                	mov    %esi,%ecx
417750:	e8 e0 0d 00 00       	call   0x418535
417755:	6a 02                	push   $0x2
417757:	58                   	pop    %eax
417758:	eb 15                	jmp    0x41776f
41775a:	83 f8 5d             	cmp    $0x5d,%eax
41775d:	74 0e                	je     0x41776d
41775f:	83 f8 ff             	cmp    $0xffffffff,%eax
417762:	74 09                	je     0x41776d
417764:	0f be 46 48          	movsbl 0x48(%esi),%eax
417768:	89 46 44             	mov    %eax,0x44(%esi)
41776b:	eb a5                	jmp    0x417712
41776d:	33 c0                	xor    %eax,%eax
41776f:	5f                   	pop    %edi
417770:	5e                   	pop    %esi
417771:	c3                   	ret
417772:	56                   	push   %esi
417773:	57                   	push   %edi
417774:	8b f1                	mov    %ecx,%esi
417776:	6a 5c                	push   $0x5c
417778:	5f                   	pop    %edi
417779:	8b 46 4c             	mov    0x4c(%esi),%eax
41777c:	3b c7                	cmp    %edi,%eax
41777e:	75 5f                	jne    0x4177df
417780:	e8 7d 4c 00 00       	call   0x41c402
417785:	f7 46 50 00 00 20 00 	testl  $0x200000,0x50(%esi)
41778c:	74 0e                	je     0x41779c
41778e:	6a 00                	push   $0x0
417790:	8b ce                	mov    %esi,%ecx
417792:	e8 0b 01 00 00       	call   0x4178a2
417797:	e9 91 00 00 00       	jmp    0x41782d
41779c:	f7 46 50 00 00 01 00 	testl  $0x10000,0x50(%esi)
4177a3:	74 10                	je     0x4177b5
4177a5:	0f b7 46 48          	movzwl 0x48(%esi),%eax
4177a9:	8b ce                	mov    %esi,%ecx
4177ab:	50                   	push   %eax
4177ac:	e8 ce 0f 00 00       	call   0x41877f
4177b1:	84 c0                	test   %al,%al
4177b3:	75 19                	jne    0x4177ce
4177b5:	f7 46 50 00 80 00 00 	testl  $0x8000,0x50(%esi)
4177bc:	74 1c                	je     0x4177da
4177be:	0f b7 46 48          	movzwl 0x48(%esi),%eax
4177c2:	8b ce                	mov    %esi,%ecx
4177c4:	50                   	push   %eax
4177c5:	e8 31 10 00 00       	call   0x4187fb
4177ca:	84 c0                	test   %al,%al
4177cc:	74 0c                	je     0x4177da
4177ce:	8b ce                	mov    %esi,%ecx
4177d0:	e8 2d 4c 00 00       	call   0x41c402
4177d5:	33 c0                	xor    %eax,%eax
4177d7:	40                   	inc    %eax
4177d8:	eb 53                	jmp    0x41782d
4177da:	89 7e 44             	mov    %edi,0x44(%esi)
4177dd:	eb f6                	jmp    0x4177d5
4177df:	83 f8 5b             	cmp    $0x5b,%eax
4177e2:	75 34                	jne    0x417818
4177e4:	e8 19 4c 00 00       	call   0x41c402
4177e9:	8b 7e 4c             	mov    0x4c(%esi),%edi
4177ec:	83 ff 3a             	cmp    $0x3a,%edi
4177ef:	74 13                	je     0x417804
4177f1:	83 ff 3d             	cmp    $0x3d,%edi
4177f4:	74 0e                	je     0x417804
4177f6:	83 ff 2e             	cmp    $0x2e,%edi
4177f9:	74 09                	je     0x417804
4177fb:	c7 46 44 5b 00 00 00 	movl   $0x5b,0x44(%esi)
417802:	eb d1                	jmp    0x4177d5
417804:	8b ce                	mov    %esi,%ecx
417806:	e8 f7 4b 00 00       	call   0x41c402
41780b:	57                   	push   %edi
41780c:	8b ce                	mov    %esi,%ecx
41780e:	e8 1d 0e 00 00       	call   0x418630
417813:	6a 02                	push   $0x2
417815:	58                   	pop    %eax
417816:	eb 15                	jmp    0x41782d
417818:	83 f8 5d             	cmp    $0x5d,%eax
41781b:	74 0e                	je     0x41782b
41781d:	83 f8 ff             	cmp    $0xffffffff,%eax
417820:	74 09                	je     0x41782b
417822:	0f b7 46 48          	movzwl 0x48(%esi),%eax
417826:	89 46 44             	mov    %eax,0x44(%esi)
417829:	eb a5                	jmp    0x4177d0
41782b:	33 c0                	xor    %eax,%eax
41782d:	5f                   	pop    %edi
41782e:	5e                   	pop    %esi
41782f:	c3                   	ret
417830:	55                   	push   %ebp
417831:	8b ec                	mov    %esp,%ebp
417833:	56                   	push   %esi
417834:	8b f1                	mov    %ecx,%esi
417836:	f7 46 50 00 40 00 00 	testl  $0x4000,0x50(%esi)
41783d:	74 17                	je     0x417856
41783f:	80 7e 48 5c          	cmpb   $0x5c,0x48(%esi)
417843:	75 11                	jne    0x417856
417845:	c7 46 44 5c 00 00 00 	movl   $0x5c,0x44(%esi)
41784c:	e8 83 4b 00 00       	call   0x41c3d4
417851:	33 c0                	xor    %eax,%eax
417853:	40                   	inc    %eax
417854:	eb 3d                	jmp    0x417893
417856:	f7 46 50 00 00 02 00 	testl  $0x20000,0x50(%esi)
41785d:	74 11                	je     0x417870
41785f:	ff 75 08             	push   0x8(%ebp)
417862:	e8 45 fb ff ff       	call   0x4173ac
417867:	84 c0                	test   %al,%al
417869:	74 05                	je     0x417870
41786b:	6a 02                	push   $0x2
41786d:	58                   	pop    %eax
41786e:	eb 23                	jmp    0x417893
417870:	8b ce                	mov    %esi,%ecx
417872:	e8 81 04 00 00       	call   0x417cf8
417877:	84 c0                	test   %al,%al
417879:	74 08                	je     0x417883
41787b:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
41787f:	75 17                	jne    0x417898
417881:	eb ce                	jmp    0x417851
417883:	8b ce                	mov    %esi,%ecx
417885:	e8 16 fc ff ff       	call   0x4174a0
41788a:	33 c9                	xor    %ecx,%ecx
41788c:	84 c0                	test   %al,%al
41788e:	0f 95 c1             	setne  %cl
417891:	8b c1                	mov    %ecx,%eax
417893:	5e                   	pop    %esi
417894:	5d                   	pop    %ebp
417895:	c2 04 00             	ret    $0x4
417898:	6a 02                	push   $0x2
41789a:	8b ce                	mov    %esi,%ecx
41789c:	e8 9b 1d 00 00       	call   0x41963c
4178a1:	cc                   	int3
4178a2:	55                   	push   %ebp
4178a3:	8b ec                	mov    %esp,%ebp
4178a5:	56                   	push   %esi
4178a6:	8b f1                	mov    %ecx,%esi
4178a8:	f7 46 50 00 40 00 00 	testl  $0x4000,0x50(%esi)
4178af:	74 16                	je     0x4178c7
4178b1:	6a 5c                	push   $0x5c
4178b3:	58                   	pop    %eax
4178b4:	66 39 46 48          	cmp    %ax,0x48(%esi)
4178b8:	75 0d                	jne    0x4178c7
4178ba:	89 46 44             	mov    %eax,0x44(%esi)
4178bd:	e8 40 4b 00 00       	call   0x41c402
4178c2:	33 c0                	xor    %eax,%eax
4178c4:	40                   	inc    %eax
4178c5:	eb 3d                	jmp    0x417904
4178c7:	f7 46 50 00 00 02 00 	testl  $0x20000,0x50(%esi)
4178ce:	74 11                	je     0x4178e1
4178d0:	ff 75 08             	push   0x8(%ebp)
4178d3:	e8 45 fb ff ff       	call   0x41741d
4178d8:	84 c0                	test   %al,%al
4178da:	74 05                	je     0x4178e1
4178dc:	6a 02                	push   $0x2
4178de:	58                   	pop    %eax
4178df:	eb 23                	jmp    0x417904
4178e1:	8b ce                	mov    %esi,%ecx
4178e3:	e8 25 04 00 00       	call   0x417d0d
4178e8:	84 c0                	test   %al,%al
4178ea:	74 08                	je     0x4178f4
4178ec:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
4178f0:	75 17                	jne    0x417909
4178f2:	eb ce                	jmp    0x4178c2
4178f4:	8b ce                	mov    %esi,%ecx
4178f6:	e8 b3 fc ff ff       	call   0x4175ae
4178fb:	33 c9                	xor    %ecx,%ecx
4178fd:	84 c0                	test   %al,%al
4178ff:	0f 95 c1             	setne  %cl
417902:	8b c1                	mov    %ecx,%eax
417904:	5e                   	pop    %esi
417905:	5d                   	pop    %ebp
417906:	c2 04 00             	ret    $0x4
417909:	6a 02                	push   $0x2
41790b:	8b ce                	mov    %esi,%ecx
41790d:	e8 36 1d 00 00       	call   0x419648
417912:	cc                   	int3
417913:	55                   	push   %ebp
417914:	8b ec                	mov    %esp,%ebp
417916:	51                   	push   %ecx
417917:	51                   	push   %ecx
417918:	57                   	push   %edi
417919:	8b f9                	mov    %ecx,%edi
41791b:	e8 94 fd ff ff       	call   0x4176b4
417920:	85 c0                	test   %eax,%eax
417922:	0f 84 c5 00 00 00    	je     0x4179ed
417928:	53                   	push   %ebx
417929:	83 f8 02             	cmp    $0x2,%eax
41792c:	0f 84 88 00 00 00    	je     0x4179ba
417932:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
417936:	75 0d                	jne    0x417945
417938:	f7 47 50 00 00 10 00 	testl  $0x100000,0x50(%edi)
41793f:	0f 84 ab 00 00 00    	je     0x4179f0
417945:	83 7f 4c 2d          	cmpl   $0x2d,0x4c(%edi)
417949:	75 5e                	jne    0x4179a9
41794b:	8b cf                	mov    %edi,%ecx
41794d:	e8 82 4a 00 00       	call   0x41c3d4
417952:	8a 5f 44             	mov    0x44(%edi),%bl
417955:	8b cf                	mov    %edi,%ecx
417957:	88 5d fc             	mov    %bl,-0x4(%ebp)
41795a:	e8 55 fd ff ff       	call   0x4176b4
41795f:	85 c0                	test   %eax,%eax
417961:	74 6c                	je     0x4179cf
417963:	83 f8 02             	cmp    $0x2,%eax
417966:	74 63                	je     0x4179cb
417968:	f7 47 40 00 08 00 00 	testl  $0x800,0x40(%edi)
41796f:	74 23                	je     0x417994
417971:	0f b6 47 44          	movzbl 0x44(%edi),%eax
417975:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417978:	50                   	push   %eax
417979:	e8 76 b9 00 00       	call   0x4232f4
41797e:	ff 75 fc             	push   -0x4(%ebp)
417981:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417984:	0f be c0             	movsbl %al,%eax
417987:	89 47 44             	mov    %eax,0x44(%edi)
41798a:	e8 65 b9 00 00       	call   0x4232f4
41798f:	8a d8                	mov    %al,%bl
417991:	88 5d fc             	mov    %bl,-0x4(%ebp)
417994:	8a 47 44             	mov    0x44(%edi),%al
417997:	3a c3                	cmp    %bl,%al
417999:	72 30                	jb     0x4179cb
41799b:	50                   	push   %eax
41799c:	ff 75 fc             	push   -0x4(%ebp)
41799f:	8d 4f 24             	lea    0x24(%edi),%ecx
4179a2:	e8 9a de ff ff       	call   0x415841
4179a7:	eb 11                	jmp    0x4179ba
4179a9:	8a 47 44             	mov    0x44(%edi),%al
4179ac:	8d 4f 24             	lea    0x24(%edi),%ecx
4179af:	88 45 f8             	mov    %al,-0x8(%ebp)
4179b2:	ff 75 f8             	push   -0x8(%ebp)
4179b5:	e8 13 da ff ff       	call   0x4153cd
4179ba:	8b cf                	mov    %edi,%ecx
4179bc:	e8 f3 fc ff ff       	call   0x4176b4
4179c1:	85 c0                	test   %eax,%eax
4179c3:	0f 85 60 ff ff ff    	jne    0x417929
4179c9:	eb 21                	jmp    0x4179ec
4179cb:	6a 08                	push   $0x8
4179cd:	eb 23                	jmp    0x4179f2
4179cf:	8a 47 44             	mov    0x44(%edi),%al
4179d2:	8d 4f 24             	lea    0x24(%edi),%ecx
4179d5:	56                   	push   %esi
4179d6:	88 45 f8             	mov    %al,-0x8(%ebp)
4179d9:	ff 75 f8             	push   -0x8(%ebp)
4179dc:	e8 ec d9 ff ff       	call   0x4153cd
4179e1:	6a 2d                	push   $0x2d
4179e3:	8d 4f 24             	lea    0x24(%edi),%ecx
4179e6:	e8 e2 d9 ff ff       	call   0x4153cd
4179eb:	5e                   	pop    %esi
4179ec:	5b                   	pop    %ebx
4179ed:	5f                   	pop    %edi
4179ee:	c9                   	leave
4179ef:	c3                   	ret
4179f0:	6a 02                	push   $0x2
4179f2:	8b cf                	mov    %edi,%ecx
4179f4:	e8 43 1c 00 00       	call   0x41963c
4179f9:	cc                   	int3
4179fa:	57                   	push   %edi
4179fb:	8b f9                	mov    %ecx,%edi
4179fd:	e8 70 fd ff ff       	call   0x417772
417a02:	85 c0                	test   %eax,%eax
417a04:	0f 84 b1 00 00 00    	je     0x417abb
417a0a:	56                   	push   %esi
417a0b:	83 f8 02             	cmp    $0x2,%eax
417a0e:	74 7e                	je     0x417a8e
417a10:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
417a14:	75 0d                	jne    0x417a23
417a16:	f7 47 50 00 00 10 00 	testl  $0x100000,0x50(%edi)
417a1d:	0f 84 9a 00 00 00    	je     0x417abd
417a23:	83 7f 4c 2d          	cmpl   $0x2d,0x4c(%edi)
417a27:	75 58                	jne    0x417a81
417a29:	8b cf                	mov    %edi,%ecx
417a2b:	e8 d2 49 00 00       	call   0x41c402
417a30:	0f b7 77 44          	movzwl 0x44(%edi),%esi
417a34:	8b cf                	mov    %edi,%ecx
417a36:	e8 37 fd ff ff       	call   0x417772
417a3b:	85 c0                	test   %eax,%eax
417a3d:	74 64                	je     0x417aa3
417a3f:	83 f8 02             	cmp    $0x2,%eax
417a42:	74 5b                	je     0x417a9f
417a44:	f7 47 40 00 08 00 00 	testl  $0x800,0x40(%edi)
417a4b:	74 1f                	je     0x417a6c
417a4d:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a51:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417a54:	50                   	push   %eax
417a55:	e8 eb b8 00 00       	call   0x423345
417a5a:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417a5d:	0f b7 c0             	movzwl %ax,%eax
417a60:	56                   	push   %esi
417a61:	89 47 44             	mov    %eax,0x44(%edi)
417a64:	e8 dc b8 00 00       	call   0x423345
417a69:	0f b7 f0             	movzwl %ax,%esi
417a6c:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a70:	66 3b c6             	cmp    %si,%ax
417a73:	72 2a                	jb     0x417a9f
417a75:	50                   	push   %eax
417a76:	8d 4f 24             	lea    0x24(%edi),%ecx
417a79:	56                   	push   %esi
417a7a:	e8 e3 de ff ff       	call   0x415962
417a7f:	eb 0d                	jmp    0x417a8e
417a81:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a85:	8d 4f 24             	lea    0x24(%edi),%ecx
417a88:	50                   	push   %eax
417a89:	e8 42 da ff ff       	call   0x4154d0
417a8e:	8b cf                	mov    %edi,%ecx
417a90:	e8 dd fc ff ff       	call   0x417772
417a95:	85 c0                	test   %eax,%eax
417a97:	0f 85 6e ff ff ff    	jne    0x417a0b
417a9d:	eb 1b                	jmp    0x417aba
417a9f:	6a 08                	push   $0x8
417aa1:	eb 1c                	jmp    0x417abf
417aa3:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417aa7:	8d 4f 24             	lea    0x24(%edi),%ecx
417aaa:	50                   	push   %eax
417aab:	e8 20 da ff ff       	call   0x4154d0
417ab0:	6a 2d                	push   $0x2d