543791:	83 ca ff             	or     $0xffffffff,%edx
543794:	e8 f7 ea 09 00       	call   0x5e2290
543799:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
54379f:	8b b5 78 fe ff ff    	mov    -0x188(%ebp),%esi
5437a5:	0b f8                	or     %eax,%edi
5437a7:	0b f2                	or     %edx,%esi
5437a9:	eb 87                	jmp    0x543732
5437ab:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5437b1:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5437b7:	8b 42 04             	mov    0x4(%edx),%eax
5437ba:	8d 04 80             	lea    (%eax,%eax,4),%eax
5437bd:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
5437c0:	56                   	push   %esi
5437c1:	e8 1a 7f 00 00       	call   0x54b6e0
5437c6:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
5437cc:	83 c4 04             	add    $0x4,%esp
5437cf:	8b 40 08             	mov    0x8(%eax),%eax
5437d2:	99                   	cltd
5437d3:	01 06                	add    %eax,(%esi)
5437d5:	11 56 04             	adc    %edx,0x4(%esi)
5437d8:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5437de:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5437e4:	83 c6 14             	add    $0x14,%esi
5437e7:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5437ed:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
5437f3:	e9 bc f0 ff ff       	jmp    0x5428b4
5437f8:	8b 46 04             	mov    0x4(%esi),%eax
5437fb:	8b 95 8c fe ff ff    	mov    -0x174(%ebp),%edx
543801:	8d 04 80             	lea    (%eax,%eax,4),%eax
543804:	8d 34 c2             	lea    (%edx,%eax,8),%esi
543807:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54380b:	a8 04                	test   $0x4,%al
54380d:	75 46                	jne    0x543855
54380f:	a8 08                	test   $0x8,%al
543811:	75 11                	jne    0x543824
543813:	a8 02                	test   $0x2,%al
543815:	74 1c                	je     0x543833
543817:	6a 01                	push   $0x1
543819:	56                   	push   %esi
54381a:	e8 31 03 fb ff       	call   0x4f3b50
54381f:	83 c4 08             	add    $0x8,%esp
543822:	eb 09                	jmp    0x54382d
543824:	56                   	push   %esi
543825:	e8 c6 6e 00 00       	call   0x54a6f0
54382a:	83 c4 04             	add    $0x4,%esp
54382d:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
543833:	0f b7 46 08          	movzwl 0x8(%esi),%eax
543837:	a8 04                	test   $0x4,%al
543839:	75 1a                	jne    0x543855
54383b:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
543841:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
543845:	0f 85 d7 f0 ff ff    	jne    0x542922
54384b:	b8 14 00 00 00       	mov    $0x14,%eax
543850:	e9 a9 56 00 00       	jmp    0x548efe
543855:	25 40 3e 00 00       	and    $0x3e40,%eax
54385a:	83 c8 04             	or     $0x4,%eax
54385d:	66 89 46 08          	mov    %ax,0x8(%esi)
543861:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
543867:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54386d:	83 c6 14             	add    $0x14,%esi
543870:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543876:	e9 39 f0 ff ff       	jmp    0x5428b4
54387b:	8b 46 04             	mov    0x4(%esi),%eax
54387e:	8b 95 8c fe ff ff    	mov    -0x174(%ebp),%edx
543884:	8d 04 80             	lea    (%eax,%eax,4),%eax
543887:	f6 44 c2 08 24       	testb  $0x24,0x8(%edx,%eax,8)
54388c:	8d 04 c2             	lea    (%edx,%eax,8),%eax
54388f:	0f 84 dd f2 ff ff    	je     0x542b72
543895:	50                   	push   %eax
543896:	e8 65 80 00 00       	call   0x54b900
54389b:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5438a1:	83 c4 04             	add    $0x4,%esp
5438a4:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5438aa:	83 c6 14             	add    $0x14,%esi
5438ad:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
5438b3:	e9 fc ef ff ff       	jmp    0x5428b4
5438b8:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5438be:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5438c4:	8b 42 04             	mov    0x4(%edx),%eax
5438c7:	8d 04 80             	lea    (%eax,%eax,4),%eax
5438ca:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
5438cd:	b8 00 40 00 00       	mov    $0x4000,%eax
5438d2:	66 85 46 08          	test   %ax,0x8(%esi)
5438d6:	74 11                	je     0x5438e9
5438d8:	56                   	push   %esi
5438d9:	e8 a2 7a 00 00       	call   0x54b380
5438de:	83 c4 04             	add    $0x4,%esp
5438e1:	85 c0                	test   %eax,%eax
5438e3:	0f 85 b7 59 00 00    	jne    0x5492a0
5438e9:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
5438ef:	ff b5 60 fe ff ff    	push   -0x1a0(%ebp)
5438f5:	0f b6 40 08          	movzbl 0x8(%eax),%eax
5438f9:	50                   	push   %eax
5438fa:	56                   	push   %esi
5438fb:	e8 f0 78 00 00       	call   0x54b1f0
543900:	83 c4 0c             	add    $0xc,%esp
543903:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
543909:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
54390f:	85 c0                	test   %eax,%eax
543911:	0f 85 ed 55 00 00    	jne    0x548f04
543917:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
54391d:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543923:	83 c6 14             	add    $0x14,%esi
543926:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
54392c:	e9 83 ef ff ff       	jmp    0x5428b4
543931:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
543937:	8b bd 8c fe ff ff    	mov    -0x174(%ebp),%edi
54393d:	8b 42 04             	mov    0x4(%edx),%eax
543940:	8d 04 80             	lea    (%eax,%eax,4),%eax
543943:	8d 1c c7             	lea    (%edi,%eax,8),%ebx
543946:	8b 42 0c             	mov    0xc(%edx),%eax
543949:	8d 04 80             	lea    (%eax,%eax,4),%eax
54394c:	0f b7 54 c7 08       	movzwl 0x8(%edi,%eax,8),%edx
543951:	8d 34 c7             	lea    (%edi,%eax,8),%esi
543954:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
543958:	8b ca                	mov    %edx,%ecx
54395a:	0b c8                	or     %eax,%ecx
54395c:	89 85 80 fe ff ff    	mov    %eax,-0x180(%ebp)
543962:	89 95 7c fe ff ff    	mov    %edx,-0x184(%ebp)
543968:	f6 c1 01             	test   $0x1,%cl
54396b:	0f 84 c9 00 00 00    	je     0x543a3a
543971:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
543977:	0f b7 40 02          	movzwl 0x2(%eax),%eax
54397b:	84 c0                	test   %al,%al
54397d:	79 43                	jns    0x5439c2
54397f:	8a ca                	mov    %dl,%cl
543981:	8a c1                	mov    %cl,%al
543983:	22 85 80 fe ff ff    	and    -0x180(%ebp),%al
543989:	a8 01                	test   $0x1,%al
54398b:	74 1e                	je     0x5439ab
54398d:	f7 c2 00 01 00 00    	test   $0x100,%edx
543993:	75 16                	jne    0x5439ab
543995:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
54399b:	33 c9                	xor    %ecx,%ecx
54399d:	0f b6 00             	movzbl (%eax),%eax
5439a0:	8a 80 8c 30 6b 00    	mov    0x6b308c(%eax),%al
5439a6:	e9 1d 01 00 00       	jmp    0x543ac8
5439ab:	f6 c1 01             	test   $0x1,%cl
5439ae:	b9 00 00 00 00       	mov    $0x0,%ecx
5439b3:	0f 94 c1             	sete   %cl
5439b6:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
5439bd:	e9 64 02 00 00       	jmp    0x543c26
5439c2:	a8 20                	test   $0x20,%al
5439c4:	74 4c                	je     0x543a12
5439c6:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
5439cc:	ba 40 3e 00 00       	mov    $0x3e40,%edx
5439d1:	c7 85 2c fe ff ff 01 	movl   $0x1,-0x1d4(%ebp)
5439d8:	00 00 00
5439db:	8b 40 08             	mov    0x8(%eax),%eax
5439de:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5439e1:	66 8b 44 cf 08       	mov    0x8(%edi,%ecx,8),%ax
5439e6:	66 23 c2             	and    %dx,%ax
5439e9:	66 83 c8 01          	or     $0x1,%ax
5439ed:	66 89 44 cf 08       	mov    %ax,0x8(%edi,%ecx,8)
5439f2:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5439f8:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5439fe:	83 c6 14             	add    $0x14,%esi
543a01:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543a07:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543a0d:	e9 a2 ee ff ff       	jmp    0x5428b4
543a12:	a8 10                	test   $0x10,%al
543a14:	0f 85 fc ee ff ff    	jne    0x542916
543a1a:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
543a20:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
543a26:	83 c6 14             	add    $0x14,%esi
543a29:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543a2f:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543a35:	e9 7a ee ff ff       	jmp    0x5428b4
543a3a:	8b bd 98 fe ff ff    	mov    -0x168(%ebp),%edi
543a40:	8a 47 02             	mov    0x2(%edi),%al
543a43:	24 47                	and    $0x47,%al
543a45:	3c 43                	cmp    $0x43,%al
543a47:	0f 82 3a 01 00 00    	jb     0x543b87
543a4d:	f6 c1 02             	test   $0x2,%cl
543a50:	74 38                	je     0x543a8a
543a52:	8a 85 80 fe ff ff    	mov    -0x180(%ebp),%al
543a58:	24 2e                	and    $0x2e,%al
543a5a:	3c 02                	cmp    $0x2,%al
543a5c:	75 15                	jne    0x543a73
543a5e:	6a 00                	push   $0x0
543a60:	53                   	push   %ebx
543a61:	e8 ea 00 fb ff       	call   0x4f3b50
543a66:	0f b7 46 08          	movzwl 0x8(%esi),%eax
543a6a:	83 c4 08             	add    $0x8,%esp
543a6d:	89 85 7c fe ff ff    	mov    %eax,-0x184(%ebp)
543a73:	8a 85 7c fe ff ff    	mov    -0x184(%ebp),%al
543a79:	24 2e                	and    $0x2e,%al
543a7b:	3c 02                	cmp    $0x2,%al
543a7d:	75 0b                	jne    0x543a8a
543a7f:	6a 00                	push   $0x0
543a81:	56                   	push   %esi
543a82:	e8 c9 00 fb ff       	call   0x4f3b50
543a87:	83 c4 08             	add    $0x8,%esp
543a8a:	8a 43 08             	mov    0x8(%ebx),%al
543a8d:	22 46 08             	and    0x8(%esi),%al
543a90:	a8 04                	test   $0x4,%al
543a92:	0f 84 7f 01 00 00    	je     0x543c17
543a98:	8b 7e 04             	mov    0x4(%esi),%edi
543a9b:	8b 53 04             	mov    0x4(%ebx),%edx
543a9e:	8b 0e                	mov    (%esi),%ecx
543aa0:	8b 03                	mov    (%ebx),%eax
543aa2:	3b fa                	cmp    %edx,%edi
543aa4:	0f 8c c6 00 00 00    	jl     0x543b70
543aaa:	7f 08                	jg     0x543ab4
543aac:	3b c8                	cmp    %eax,%ecx
543aae:	0f 86 aa 00 00 00    	jbe    0x543b5e
543ab4:	b9 01 00 00 00       	mov    $0x1,%ecx
543ab9:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
543abf:	0f b6 00             	movzbl (%eax),%eax
543ac2:	8a 80 94 30 6b 00    	mov    0x6b3094(%eax),%al
543ac8:	0f b6 f8             	movzbl %al,%edi
543acb:	0f b7 85 7c fe ff ff 	movzwl -0x184(%ebp),%eax
543ad2:	66 89 46 08          	mov    %ax,0x8(%esi)
543ad6:	0f b7 85 80 fe ff ff 	movzwl -0x180(%ebp),%eax
543add:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
543ae3:	66 89 43 08          	mov    %ax,0x8(%ebx)
543ae7:	8b 9d 98 fe ff ff    	mov    -0x168(%ebp),%ebx
543aed:	0f b7 5b 02          	movzwl 0x2(%ebx),%ebx
543af1:	f6 c3 20             	test   $0x20,%bl
543af4:	0f 84 5e 01 00 00    	je     0x543c58
543afa:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
543b00:	8b c6                	mov    %esi,%eax
543b02:	8b 40 08             	mov    0x8(%eax),%eax
543b05:	8d 14 80             	lea    (%eax,%eax,4),%edx
543b08:	f6 c3 08             	test   $0x8,%bl
543b0b:	74 10                	je     0x543b1d
543b0d:	33 c0                	xor    %eax,%eax
543b0f:	80 3e 35             	cmpb   $0x35,(%esi)
543b12:	0f 94 c0             	sete   %al
543b15:	3b c7                	cmp    %edi,%eax
543b17:	0f 84 4f f0 ff ff    	je     0x542b6c
543b1d:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
543b23:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
543b28:	66 8b 44 d3 08       	mov    0x8(%ebx,%edx,8),%ax
543b2d:	66 23 c1             	and    %cx,%ax
543b30:	89 3c d3             	mov    %edi,(%ebx,%edx,8)
543b33:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
543b39:	66 83 c8 04          	or     $0x4,%ax
543b3d:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543b43:	83 c6 14             	add    $0x14,%esi
543b46:	66 89 44 d3 08       	mov    %ax,0x8(%ebx,%edx,8)
543b4b:	c7 44 d3 04 00 00 00 	movl   $0x0,0x4(%ebx,%edx,8)
543b52:	00
543b53:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543b59:	e9 56 ed ff ff       	jmp    0x5428b4
543b5e:	3b fa                	cmp    %edx,%edi
543b60:	0f 8f 2f fe ff ff    	jg     0x543995
543b66:	7c 08                	jl     0x543b70
543b68:	3b c8                	cmp    %eax,%ecx
543b6a:	0f 83 25 fe ff ff    	jae    0x543995
543b70:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
543b76:	83 c9 ff             	or     $0xffffffff,%ecx
543b79:	0f b6 00             	movzbl (%eax),%eax
543b7c:	8a 80 84 30 6b 00    	mov    0x6b3084(%eax),%al
543b82:	e9 41 ff ff ff       	jmp    0x543ac8
543b87:	3c 42                	cmp    $0x42,%al
543b89:	0f 85 88 00 00 00    	jne    0x543c17
543b8f:	8a 85 80 fe ff ff    	mov    -0x180(%ebp),%al
543b95:	a8 02                	test   $0x2,%al
543b97:	75 45                	jne    0x543bde
543b99:	a8 2c                	test   $0x2c,%al
543b9b:	74 41                	je     0x543bde
543b9d:	6a 01                	push   $0x1
543b9f:	ff b5 60 fe ff ff    	push   -0x1a0(%ebp)
543ba5:	53                   	push   %ebx
543ba6:	e8 c5 81 00 00       	call   0x54bd70
543bab:	66 8b 43 08          	mov    0x8(%ebx),%ax
543baf:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
543bb4:	66 33 85 80 fe ff ff 	xor    -0x180(%ebp),%ax
543bbb:	83 c4 0c             	add    $0xc,%esp
543bbe:	66 23 c1             	and    %cx,%ax
543bc1:	66 31 85 80 fe ff ff 	xor    %ax,-0x180(%ebp)
543bc8:	3b de                	cmp    %esi,%ebx
543bca:	75 12                	jne    0x543bde
543bcc:	8b 85 80 fe ff ff    	mov    -0x180(%ebp),%eax
543bd2:	83 c8 02             	or     $0x2,%eax
543bd5:	0f b7 c0             	movzwl %ax,%eax
543bd8:	89 85 7c fe ff ff    	mov    %eax,-0x184(%ebp)
543bde:	8a 85 7c fe ff ff    	mov    -0x184(%ebp),%al
543be4:	a8 02                	test   $0x2,%al
543be6:	75 2f                	jne    0x543c17
543be8:	a8 2c                	test   $0x2c,%al
543bea:	74 2b                	je     0x543c17
543bec:	6a 01                	push   $0x1
543bee:	ff b5 60 fe ff ff    	push   -0x1a0(%ebp)
543bf4:	56                   	push   %esi
543bf5:	e8 76 81 00 00       	call   0x54bd70
543bfa:	66 8b 46 08          	mov    0x8(%esi),%ax
543bfe:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
543c03:	66 33 85 7c fe ff ff 	xor    -0x184(%ebp),%ax
543c0a:	83 c4 0c             	add    $0xc,%esp
543c0d:	66 23 c1             	and    %cx,%ax
543c10:	66 31 85 7c fe ff ff 	xor    %ax,-0x184(%ebp)
543c17:	ff 77 10             	push   0x10(%edi)
543c1a:	53                   	push   %ebx
543c1b:	56                   	push   %esi
543c1c:	e8 af d6 fe ff       	call   0x5312d0
543c21:	83 c4 0c             	add    $0xc,%esp
543c24:	8b c8                	mov    %eax,%ecx
543c26:	85 c9                	test   %ecx,%ecx
543c28:	79 14                	jns    0x543c3e
543c2a:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
543c30:	0f b6 00             	movzbl (%eax),%eax
543c33:	8a 80 84 30 6b 00    	mov    0x6b3084(%eax),%al
543c39:	e9 8a fe ff ff       	jmp    0x543ac8
543c3e:	0f 85 75 fe ff ff    	jne    0x543ab9
543c44:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
543c4a:	0f b6 00             	movzbl (%eax),%eax
543c4d:	8a 80 8c 30 6b 00    	mov    0x6b308c(%eax),%al
543c53:	e9 70 fe ff ff       	jmp    0x543ac8
543c58:	85 ff                	test   %edi,%edi
543c5a:	0f 85 47 49 00 00    	jne    0x5485a7
543c60:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
543c66:	83 c6 14             	add    $0x14,%esi
543c69:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543c6f:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543c75:	e9 3a ec ff ff       	jmp    0x5428b4
543c7a:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
543c81:	0f 85 9b ec ff ff    	jne    0x542922
543c87:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
543c8d:	83 c6 14             	add    $0x14,%esi
543c90:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
543c96:	e9 19 ec ff ff       	jmp    0x5428b4
543c9b:	8b 9d 98 fe ff ff    	mov    -0x168(%ebp),%ebx
543ca1:	f6 43 02 01          	testb  $0x1,0x2(%ebx)
543ca5:	75 04                	jne    0x543cab
543ca7:	33 c0                	xor    %eax,%eax
543ca9:	eb 06                	jmp    0x543cb1
543cab:	8b 43 fc             	mov    -0x4(%ebx),%eax
543cae:	83 c0 04             	add    $0x4,%eax
543cb1:	8b 4b 0c             	mov    0xc(%ebx),%ecx
543cb4:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
543cba:	8b 53 10             	mov    0x10(%ebx),%edx
543cbd:	8b 5b 04             	mov    0x4(%ebx),%ebx
543cc0:	89 9d 48 fe ff ff    	mov    %ebx,-0x1b8(%ebp)
543cc6:	8b 5e 08             	mov    0x8(%esi),%ebx
543cc9:	33 f6                	xor    %esi,%esi
543ccb:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
543cd1:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
543cd7:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
543cdd:	89 9d 40 fe ff ff    	mov    %ebx,-0x1c0(%ebp)
543ce3:	85 c9                	test   %ecx,%ecx
543ce5:	0f 8e 7b ee ff ff    	jle    0x542b66
543ceb:	8d 5a 14             	lea    0x14(%edx),%ebx
543cee:	66 90                	xchg   %ax,%ax
543cf0:	85 c0                	test   %eax,%eax
543cf2:	74 05                	je     0x543cf9
543cf4:	8b 3c b0             	mov    (%eax,%esi,4),%edi
543cf7:	eb 02                	jmp    0x543cfb
543cf9:	8b fe                	mov    %esi,%edi