54e827:	83 c4 04             	add    $0x4,%esp
54e82a:	e9 61 fe ff ff       	jmp    0x54e690
54e82f:	85 ed                	test   %ebp,%ebp
54e831:	74 15                	je     0x54e848
54e833:	8b 4c 24 20          	mov    0x20(%esp),%ecx
54e837:	88 19                	mov    %bl,(%ecx)
54e839:	8d 49 01             	lea    0x1(%ecx),%ecx
54e83c:	0f ac c3 08          	shrd   $0x8,%eax,%ebx
54e840:	c1 e8 08             	shr    $0x8,%eax
54e843:	83 ed 01             	sub    $0x1,%ebp
54e846:	75 ef                	jne    0x54e837
54e848:	5f                   	pop    %edi
54e849:	5b                   	pop    %ebx
54e84a:	5e                   	pop    %esi
54e84b:	5d                   	pop    %ebp
54e84c:	83 c4 08             	add    $0x8,%esp
54e84f:	c3                   	ret
54e850:	53                   	push   %ebx
54e851:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
54e855:	56                   	push   %esi
54e856:	57                   	push   %edi
54e857:	8d 7b 1c             	lea    0x1c(%ebx),%edi
54e85a:	8b 73 5c             	mov    0x5c(%ebx),%esi
54e85d:	c6 04 3e 80          	movb   $0x80,(%esi,%edi,1)
54e861:	46                   	inc    %esi
54e862:	83 fe 38             	cmp    $0x38,%esi
54e865:	76 21                	jbe    0x54e888
54e867:	b8 40 00 00 00       	mov    $0x40,%eax
54e86c:	2b c6                	sub    %esi,%eax
54e86e:	50                   	push   %eax
54e86f:	8d 04 3e             	lea    (%esi,%edi,1),%eax
54e872:	6a 00                	push   $0x0
54e874:	50                   	push   %eax
54e875:	e8 f6 43 08 00       	call   0x5d2c70
54e87a:	6a 01                	push   $0x1
54e87c:	57                   	push   %edi
54e87d:	53                   	push   %ebx
54e87e:	33 f6                	xor    %esi,%esi
54e880:	e8 bb 5c ef ff       	call   0x444540
54e885:	83 c4 18             	add    $0x18,%esp
54e888:	b8 38 00 00 00       	mov    $0x38,%eax
54e88d:	2b c6                	sub    %esi,%eax
54e88f:	50                   	push   %eax
54e890:	8d 04 3e             	lea    (%esi,%edi,1),%eax
54e893:	6a 00                	push   $0x0
54e895:	50                   	push   %eax
54e896:	e8 d5 43 08 00       	call   0x5d2c70
54e89b:	0f b6 43 14          	movzbl 0x14(%ebx),%eax
54e89f:	88 47 38             	mov    %al,0x38(%edi)
54e8a2:	0f b6 43 15          	movzbl 0x15(%ebx),%eax
54e8a6:	88 47 39             	mov    %al,0x39(%edi)
54e8a9:	0f b6 43 16          	movzbl 0x16(%ebx),%eax
54e8ad:	88 47 3a             	mov    %al,0x3a(%edi)
54e8b0:	0f b6 43 17          	movzbl 0x17(%ebx),%eax
54e8b4:	88 47 3b             	mov    %al,0x3b(%edi)
54e8b7:	0f b6 43 18          	movzbl 0x18(%ebx),%eax
54e8bb:	88 47 3c             	mov    %al,0x3c(%edi)
54e8be:	0f b6 43 19          	movzbl 0x19(%ebx),%eax
54e8c2:	88 47 3d             	mov    %al,0x3d(%edi)
54e8c5:	0f b6 43 1a          	movzbl 0x1a(%ebx),%eax
54e8c9:	6a 01                	push   $0x1
54e8cb:	88 47 3e             	mov    %al,0x3e(%edi)
54e8ce:	0f b6 43 1b          	movzbl 0x1b(%ebx),%eax
54e8d2:	57                   	push   %edi
54e8d3:	53                   	push   %ebx
54e8d4:	88 47 3f             	mov    %al,0x3f(%edi)
54e8d7:	e8 64 5c ef ff       	call   0x444540
54e8dc:	6a 40                	push   $0x40
54e8de:	57                   	push   %edi
54e8df:	c7 43 5c 00 00 00 00 	movl   $0x0,0x5c(%ebx)
54e8e6:	e8 f5 30 eb ff       	call   0x4019e0
54e8eb:	8b 0b                	mov    (%ebx),%ecx
54e8ed:	83 c4 20             	add    $0x20,%esp
54e8f0:	8b 54 24 10          	mov    0x10(%esp),%edx
54e8f4:	8b c1                	mov    %ecx,%eax
54e8f6:	c1 e8 08             	shr    $0x8,%eax
54e8f9:	88 0a                	mov    %cl,(%edx)
54e8fb:	88 42 01             	mov    %al,0x1(%edx)
54e8fe:	8b c1                	mov    %ecx,%eax
54e900:	c1 e8 10             	shr    $0x10,%eax
54e903:	88 42 02             	mov    %al,0x2(%edx)
54e906:	c1 e9 18             	shr    $0x18,%ecx
54e909:	88 4a 03             	mov    %cl,0x3(%edx)
54e90c:	8b 4b 04             	mov    0x4(%ebx),%ecx
54e90f:	8b c1                	mov    %ecx,%eax
54e911:	88 4a 04             	mov    %cl,0x4(%edx)
54e914:	c1 e8 08             	shr    $0x8,%eax
54e917:	88 42 05             	mov    %al,0x5(%edx)
54e91a:	8b c1                	mov    %ecx,%eax
54e91c:	c1 e8 10             	shr    $0x10,%eax
54e91f:	88 42 06             	mov    %al,0x6(%edx)
54e922:	c1 e9 18             	shr    $0x18,%ecx
54e925:	88 4a 07             	mov    %cl,0x7(%edx)
54e928:	8b 4b 08             	mov    0x8(%ebx),%ecx
54e92b:	8b c1                	mov    %ecx,%eax
54e92d:	88 4a 08             	mov    %cl,0x8(%edx)
54e930:	c1 e8 08             	shr    $0x8,%eax
54e933:	88 42 09             	mov    %al,0x9(%edx)
54e936:	8b c1                	mov    %ecx,%eax
54e938:	c1 e8 10             	shr    $0x10,%eax
54e93b:	88 42 0a             	mov    %al,0xa(%edx)
54e93e:	c1 e9 18             	shr    $0x18,%ecx
54e941:	88 4a 0b             	mov    %cl,0xb(%edx)
54e944:	8b 4b 0c             	mov    0xc(%ebx),%ecx
54e947:	8b c1                	mov    %ecx,%eax
54e949:	88 4a 0c             	mov    %cl,0xc(%edx)
54e94c:	c1 e8 08             	shr    $0x8,%eax
54e94f:	88 42 0d             	mov    %al,0xd(%edx)
54e952:	8b c1                	mov    %ecx,%eax
54e954:	c1 e8 10             	shr    $0x10,%eax
54e957:	88 42 0e             	mov    %al,0xe(%edx)
54e95a:	c1 e9 18             	shr    $0x18,%ecx
54e95d:	88 4a 0f             	mov    %cl,0xf(%edx)
54e960:	8b 4b 10             	mov    0x10(%ebx),%ecx
54e963:	8b c1                	mov    %ecx,%eax
54e965:	c1 e8 08             	shr    $0x8,%eax
54e968:	88 42 11             	mov    %al,0x11(%edx)
54e96b:	8b c1                	mov    %ecx,%eax
54e96d:	c1 e8 10             	shr    $0x10,%eax
54e970:	88 4a 10             	mov    %cl,0x10(%edx)
54e973:	88 42 12             	mov    %al,0x12(%edx)
54e976:	5f                   	pop    %edi
54e977:	c1 e9 18             	shr    $0x18,%ecx
54e97a:	b8 01 00 00 00       	mov    $0x1,%eax
54e97f:	5e                   	pop    %esi
54e980:	88 4a 13             	mov    %cl,0x13(%edx)
54e983:	5b                   	pop    %ebx
54e984:	c3                   	ret
54e985:	cc                   	int3
54e986:	cc                   	int3
54e987:	cc                   	int3
54e988:	cc                   	int3
54e989:	cc                   	int3
54e98a:	cc                   	int3
54e98b:	cc                   	int3
54e98c:	cc                   	int3
54e98d:	cc                   	int3
54e98e:	cc                   	int3
54e98f:	cc                   	int3
54e990:	53                   	push   %ebx
54e991:	8b 5c 24 08          	mov    0x8(%esp),%ebx
54e995:	55                   	push   %ebp
54e996:	8b 6c 24 10          	mov    0x10(%esp),%ebp
54e99a:	56                   	push   %esi
54e99b:	57                   	push   %edi
54e99c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
54e9a0:	85 ff                	test   %edi,%edi
54e9a2:	0f 84 b6 00 00 00    	je     0x54ea5e
54e9a8:	8b 43 14             	mov    0x14(%ebx),%eax
54e9ab:	8b 4b 18             	mov    0x18(%ebx),%ecx
54e9ae:	8d 14 f8             	lea    (%eax,%edi,8),%edx
54e9b1:	3b d0                	cmp    %eax,%edx
54e9b3:	73 01                	jae    0x54e9b6
54e9b5:	41                   	inc    %ecx
54e9b6:	8b c7                	mov    %edi,%eax
54e9b8:	89 53 14             	mov    %edx,0x14(%ebx)
54e9bb:	c1 e8 1d             	shr    $0x1d,%eax
54e9be:	03 c1                	add    %ecx,%eax
54e9c0:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
54e9c3:	89 43 18             	mov    %eax,0x18(%ebx)
54e9c6:	85 c9                	test   %ecx,%ecx
54e9c8:	74 64                	je     0x54ea2e
54e9ca:	8d 53 1c             	lea    0x1c(%ebx),%edx
54e9cd:	83 ff 40             	cmp    $0x40,%edi
54e9d0:	73 23                	jae    0x54e9f5
54e9d2:	8d 04 39             	lea    (%ecx,%edi,1),%eax
54e9d5:	83 f8 40             	cmp    $0x40,%eax
54e9d8:	73 1b                	jae    0x54e9f5
54e9da:	57                   	push   %edi
54e9db:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
54e9de:	55                   	push   %ebp
54e9df:	50                   	push   %eax
54e9e0:	e8 eb 43 08 00       	call   0x5d2dd0
54e9e5:	83 c4 0c             	add    $0xc,%esp
54e9e8:	b8 01 00 00 00       	mov    $0x1,%eax
54e9ed:	01 7b 5c             	add    %edi,0x5c(%ebx)
54e9f0:	5f                   	pop    %edi
54e9f1:	5e                   	pop    %esi
54e9f2:	5d                   	pop    %ebp
54e9f3:	5b                   	pop    %ebx
54e9f4:	c3                   	ret
54e9f5:	be 40 00 00 00       	mov    $0x40,%esi
54e9fa:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
54e9fd:	2b f1                	sub    %ecx,%esi
54e9ff:	56                   	push   %esi
54ea00:	55                   	push   %ebp
54ea01:	50                   	push   %eax
54ea02:	e8 c9 43 08 00       	call   0x5d2dd0
54ea07:	6a 01                	push   $0x1
54ea09:	8d 43 1c             	lea    0x1c(%ebx),%eax
54ea0c:	50                   	push   %eax
54ea0d:	53                   	push   %ebx
54ea0e:	e8 2d 5b ef ff       	call   0x444540
54ea13:	6a 40                	push   $0x40
54ea15:	8d 43 1c             	lea    0x1c(%ebx),%eax
54ea18:	c7 43 5c 00 00 00 00 	movl   $0x0,0x5c(%ebx)
54ea1f:	6a 00                	push   $0x0
54ea21:	50                   	push   %eax
54ea22:	03 ee                	add    %esi,%ebp
54ea24:	2b fe                	sub    %esi,%edi
54ea26:	e8 45 42 08 00       	call   0x5d2c70
54ea2b:	83 c4 24             	add    $0x24,%esp
54ea2e:	8b f7                	mov    %edi,%esi
54ea30:	c1 ee 06             	shr    $0x6,%esi
54ea33:	85 f6                	test   %esi,%esi
54ea35:	74 12                	je     0x54ea49
54ea37:	56                   	push   %esi
54ea38:	55                   	push   %ebp
54ea39:	53                   	push   %ebx
54ea3a:	e8 01 5b ef ff       	call   0x444540
54ea3f:	c1 e6 06             	shl    $0x6,%esi
54ea42:	83 c4 0c             	add    $0xc,%esp
54ea45:	03 ee                	add    %esi,%ebp
54ea47:	2b fe                	sub    %esi,%edi
54ea49:	85 ff                	test   %edi,%edi
54ea4b:	74 11                	je     0x54ea5e
54ea4d:	57                   	push   %edi
54ea4e:	8d 43 1c             	lea    0x1c(%ebx),%eax
54ea51:	89 7b 5c             	mov    %edi,0x5c(%ebx)
54ea54:	55                   	push   %ebp
54ea55:	50                   	push   %eax
54ea56:	e8 75 43 08 00       	call   0x5d2dd0
54ea5b:	83 c4 0c             	add    $0xc,%esp
54ea5e:	5f                   	pop    %edi
54ea5f:	5e                   	pop    %esi
54ea60:	5d                   	pop    %ebp
54ea61:	b8 01 00 00 00       	mov    $0x1,%eax
54ea66:	5b                   	pop    %ebx
54ea67:	c3                   	ret
54ea68:	cc                   	int3
54ea69:	cc                   	int3
54ea6a:	cc                   	int3
54ea6b:	cc                   	int3
54ea6c:	cc                   	int3
54ea6d:	cc                   	int3
54ea6e:	cc                   	int3
54ea6f:	cc                   	int3
54ea70:	b8 88 00 00 00       	mov    $0x88,%eax
54ea75:	e8 36 2d 08 00       	call   0x5d17b0
54ea7a:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
54ea81:	85 c9                	test   %ecx,%ecx
54ea83:	0f 84 ed 29 00 00    	je     0x551476
54ea89:	8b 84 24 8c 00 00 00 	mov    0x8c(%esp),%eax
54ea90:	53                   	push   %ebx
54ea91:	55                   	push   %ebp
54ea92:	56                   	push   %esi
54ea93:	8b 50 04             	mov    0x4(%eax),%edx
54ea96:	89 54 24 78          	mov    %edx,0x78(%esp)
54ea9a:	8b 50 08             	mov    0x8(%eax),%edx
54ea9d:	89 54 24 7c          	mov    %edx,0x7c(%esp)
54eaa1:	8b 50 14             	mov    0x14(%eax),%edx
54eaa4:	89 94 24 8c 00 00 00 	mov    %edx,0x8c(%esp)
54eaab:	8b 50 18             	mov    0x18(%eax),%edx
54eaae:	89 94 24 84 00 00 00 	mov    %edx,0x84(%esp)
54eab5:	8b 50 0c             	mov    0xc(%eax),%edx
54eab8:	57                   	push   %edi
54eab9:	8b 78 10             	mov    0x10(%eax),%edi
54eabc:	89 94 24 8c 00 00 00 	mov    %edx,0x8c(%esp)
54eac3:	8b 50 1c             	mov    0x1c(%eax),%edx
54eac6:	89 bc 24 84 00 00 00 	mov    %edi,0x84(%esp)
54eacd:	89 94 24 94 00 00 00 	mov    %edx,0x94(%esp)
54ead4:	0f 1f 40 00          	nopl   0x0(%eax)
54ead8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
54eadf:	00
54eae0:	8b b4 24 a0 00 00 00 	mov    0xa0(%esp),%esi
54eae7:	49                   	dec    %ecx
54eae8:	89 8c 24 a4 00 00 00 	mov    %ecx,0xa4(%esp)
54eaef:	0f b6 2e             	movzbl (%esi),%ebp
54eaf2:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
54eaf6:	c1 e1 10             	shl    $0x10,%ecx
54eaf9:	0f b6 56 04          	movzbl 0x4(%esi),%edx
54eafd:	c1 e2 18             	shl    $0x18,%edx
54eb00:	c1 e5 18             	shl    $0x18,%ebp
54eb03:	0b e9                	or     %ecx,%ebp
54eb05:	0f b6 5e 10          	movzbl 0x10(%esi),%ebx
54eb09:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
54eb0d:	c1 e1 08             	shl    $0x8,%ecx
54eb10:	0b e9                	or     %ecx,%ebp
54eb12:	c1 e3 18             	shl    $0x18,%ebx
54eb15:	0f b6 4e 03          	movzbl 0x3(%esi),%ecx
54eb19:	0b e9                	or     %ecx,%ebp
54eb1b:	0f b6 4e 05          	movzbl 0x5(%esi),%ecx
54eb1f:	c1 e1 10             	shl    $0x10,%ecx
54eb22:	0b d1                	or     %ecx,%edx
54eb24:	89 6c 24 60          	mov    %ebp,0x60(%esp)
54eb28:	0f b6 4e 06          	movzbl 0x6(%esi),%ecx
54eb2c:	c1 e1 08             	shl    $0x8,%ecx
54eb2f:	0b d1                	or     %ecx,%edx
54eb31:	0f b6 4e 07          	movzbl 0x7(%esi),%ecx
54eb35:	0b d1                	or     %ecx,%edx
54eb37:	0f b6 4e 09          	movzbl 0x9(%esi),%ecx
54eb3b:	c1 e1 10             	shl    $0x10,%ecx
54eb3e:	89 54 24 68          	mov    %edx,0x68(%esp)
54eb42:	0f b6 56 08          	movzbl 0x8(%esi),%edx
54eb46:	c1 e2 18             	shl    $0x18,%edx
54eb49:	0b d1                	or     %ecx,%edx
54eb4b:	0f b6 4e 0a          	movzbl 0xa(%esi),%ecx
54eb4f:	c1 e1 08             	shl    $0x8,%ecx
54eb52:	0b d1                	or     %ecx,%edx
54eb54:	0f b6 4e 0b          	movzbl 0xb(%esi),%ecx
54eb58:	0b d1                	or     %ecx,%edx
54eb5a:	0f b6 4e 0d          	movzbl 0xd(%esi),%ecx
54eb5e:	c1 e1 10             	shl    $0x10,%ecx
54eb61:	89 54 24 78          	mov    %edx,0x78(%esp)
54eb65:	0f b6 56 0c          	movzbl 0xc(%esi),%edx
54eb69:	c1 e2 18             	shl    $0x18,%edx
54eb6c:	0b d1                	or     %ecx,%edx
54eb6e:	0f b6 4e 0e          	movzbl 0xe(%esi),%ecx
54eb72:	c1 e1 08             	shl    $0x8,%ecx
54eb75:	0b d1                	or     %ecx,%edx
54eb77:	0f b6 4e 0f          	movzbl 0xf(%esi),%ecx
54eb7b:	0b d1                	or     %ecx,%edx
54eb7d:	0f b6 4e 11          	movzbl 0x11(%esi),%ecx
54eb81:	c1 e1 10             	shl    $0x10,%ecx
54eb84:	0b d9                	or     %ecx,%ebx
54eb86:	89 54 24 74          	mov    %edx,0x74(%esp)
54eb8a:	0f b6 4e 12          	movzbl 0x12(%esi),%ecx
54eb8e:	0f b6 56 14          	movzbl 0x14(%esi),%edx
54eb92:	c1 e1 08             	shl    $0x8,%ecx
54eb95:	0b d9                	or     %ecx,%ebx
54eb97:	c1 e2 18             	shl    $0x18,%edx
54eb9a:	0f b6 4e 13          	movzbl 0x13(%esi),%ecx
54eb9e:	0b d9                	or     %ecx,%ebx
54eba0:	0f b6 4e 15          	movzbl 0x15(%esi),%ecx
54eba4:	c1 e1 10             	shl    $0x10,%ecx
54eba7:	0b d1                	or     %ecx,%edx
54eba9:	89 5c 24 6c          	mov    %ebx,0x6c(%esp)
54ebad:	0f b6 4e 16          	movzbl 0x16(%esi),%ecx
54ebb1:	c1 e1 08             	shl    $0x8,%ecx
54ebb4:	0b d1                	or     %ecx,%edx
54ebb6:	0f b6 4e 17          	movzbl 0x17(%esi),%ecx
54ebba:	0b d1                	or     %ecx,%edx
54ebbc:	0f b6 4e 19          	movzbl 0x19(%esi),%ecx
54ebc0:	89 54 24 64          	mov    %edx,0x64(%esp)
54ebc4:	0f b6 56 18          	movzbl 0x18(%esi),%edx
54ebc8:	c1 e1 10             	shl    $0x10,%ecx
54ebcb:	c1 e2 18             	shl    $0x18,%edx
54ebce:	0b d1                	or     %ecx,%edx
54ebd0:	0f b6 4e 1a          	movzbl 0x1a(%esi),%ecx
54ebd4:	c1 e1 08             	shl    $0x8,%ecx
54ebd7:	0b d1                	or     %ecx,%edx
54ebd9:	0f b6 4e 1b          	movzbl 0x1b(%esi),%ecx
54ebdd:	0b d1                	or     %ecx,%edx
54ebdf:	89 54 24 3c          	mov    %edx,0x3c(%esp)
54ebe3:	0f b6 56 1c          	movzbl 0x1c(%esi),%edx
54ebe7:	c1 e2 18             	shl    $0x18,%edx
54ebea:	0f b6 4e 1d          	movzbl 0x1d(%esi),%ecx
54ebee:	c1 e1 10             	shl    $0x10,%ecx
54ebf1:	0b d1                	or     %ecx,%edx
54ebf3:	0f b6 4e 1e          	movzbl 0x1e(%esi),%ecx