54ae70:	8b 55 08             	mov    0x8(%ebp),%edx
54ae73:	8b f9                	mov    %ecx,%edi
54ae75:	8b da                	mov    %edx,%ebx
54ae77:	3b d3                	cmp    %ebx,%edx
54ae79:	74 0d                	je     0x54ae88
54ae7b:	ba 6f ae 69 00       	mov    $0x69ae6f,%edx
54ae80:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ae83:	e8 38 00 00 00       	call   0x54aec0
54ae88:	53                   	push   %ebx
54ae89:	57                   	push   %edi
54ae8a:	56                   	push   %esi
54ae8b:	e8 94 b4 fd ff       	call   0x526324
54ae90:	83 c4 0c             	add    $0xc,%esp
54ae93:	5f                   	pop    %edi
54ae94:	5e                   	pop    %esi
54ae95:	5b                   	pop    %ebx
54ae96:	59                   	pop    %ecx
54ae97:	5d                   	pop    %ebp
54ae98:	c2 04 00             	ret    $0x4
54ae9b:	90                   	nop
54ae9c:	55                   	push   %ebp
54ae9d:	8b ec                	mov    %esp,%ebp
54ae9f:	89 90 00 02 00 00    	mov    %edx,0x200(%eax)
54aea5:	89 88 04 02 00 00    	mov    %ecx,0x204(%eax)
54aeab:	8b 55 08             	mov    0x8(%ebp),%edx
54aeae:	89 90 08 02 00 00    	mov    %edx,0x208(%eax)
54aeb4:	5d                   	pop    %ebp
54aeb5:	c2 04 00             	ret    $0x4
54aeb8:	8b 80 00 02 00 00    	mov    0x200(%eax),%eax
54aebe:	c3                   	ret
54aebf:	90                   	nop
54aec0:	53                   	push   %ebx
54aec1:	56                   	push   %esi
54aec2:	83 c4 ec             	add    $0xffffffec,%esp
54aec5:	8b da                	mov    %edx,%ebx
54aec7:	89 04 24             	mov    %eax,(%esp)
54aeca:	8b 04 24             	mov    (%esp),%eax
54aecd:	f6 40 2e 0c          	testb  $0xc,0x2e(%eax)
54aed1:	74 65                	je     0x54af38
54aed3:	8a 13                	mov    (%ebx),%dl
54aed5:	80 fa 23             	cmp    $0x23,%dl
54aed8:	75 47                	jne    0x54af21
54aeda:	b8 01 00 00 00       	mov    $0x1,%eax
54aedf:	8d 53 01             	lea    0x1(%ebx),%edx
54aee2:	8a 0a                	mov    (%edx),%cl
54aee4:	80 f9 20             	cmp    $0x20,%cl
54aee7:	74 07                	je     0x54aef0
54aee9:	40                   	inc    %eax
54aeea:	42                   	inc    %edx
54aeeb:	83 f8 0f             	cmp    $0xf,%eax
54aeee:	7c f2                	jl     0x54aee2
54aef0:	8b 14 24             	mov    (%esp),%edx
54aef3:	f6 42 2e 08          	testb  $0x8,0x2e(%edx)
54aef7:	74 24                	je     0x54af1d
54aef9:	33 d2                	xor    %edx,%edx
54aefb:	8d 74 24 04          	lea    0x4(%esp),%esi
54aeff:	8d 4b 01             	lea    0x1(%ebx),%ecx
54af02:	eb 07                	jmp    0x54af0b
54af04:	8a 19                	mov    (%ecx),%bl
54af06:	42                   	inc    %edx
54af07:	88 1e                	mov    %bl,(%esi)
54af09:	46                   	inc    %esi
54af0a:	41                   	inc    %ecx
54af0b:	8d 58 ff             	lea    -0x1(%eax),%ebx
54af0e:	3b d3                	cmp    %ebx,%edx
54af10:	7c f2                	jl     0x54af04
54af12:	c6 44 14 04 00       	movb   $0x0,0x4(%esp,%edx,1)
54af17:	8d 5c 24 04          	lea    0x4(%esp),%ebx
54af1b:	eb 1b                	jmp    0x54af38
54af1d:	03 d8                	add    %eax,%ebx
54af1f:	eb 17                	jmp    0x54af38
54af21:	8b 04 24             	mov    (%esp),%eax
54af24:	f6 40 2e 08          	testb  $0x8,0x2e(%eax)
54af28:	74 0e                	je     0x54af38
54af2a:	c6 44 24 04 30       	movb   $0x30,0x4(%esp)
54af2f:	c6 44 24 05 00       	movb   $0x0,0x5(%esp)
54af34:	8d 5c 24 04          	lea    0x4(%esp),%ebx
54af38:	8b 04 24             	mov    (%esp),%eax
54af3b:	8b 10                	mov    (%eax),%edx
54af3d:	85 d2                	test   %edx,%edx
54af3f:	74 0a                	je     0x54af4b
54af41:	8b 34 24             	mov    (%esp),%esi
54af44:	8b d3                	mov    %ebx,%edx
54af46:	8b 04 24             	mov    (%esp),%eax
54af49:	ff 16                	call   *(%esi)
54af4b:	8b d3                	mov    %ebx,%edx
54af4d:	8b 04 24             	mov    (%esp),%eax
54af50:	e8 33 01 00 00       	call   0x54b088
54af55:	83 c4 14             	add    $0x14,%esp
54af58:	5e                   	pop    %esi
54af59:	5b                   	pop    %ebx
54af5a:	c3                   	ret
54af5b:	90                   	nop
54af5c:	53                   	push   %ebx
54af5d:	33 c9                	xor    %ecx,%ecx
54af5f:	f6 40 2e 0c          	testb  $0xc,0x2e(%eax)
54af63:	74 1b                	je     0x54af80
54af65:	8a 1a                	mov    (%edx),%bl
54af67:	80 fb 23             	cmp    $0x23,%bl
54af6a:	75 14                	jne    0x54af80
54af6c:	b9 01 00 00 00       	mov    $0x1,%ecx
54af71:	8d 5a 01             	lea    0x1(%edx),%ebx
54af74:	80 3b 20             	cmpb   $0x20,(%ebx)
54af77:	74 07                	je     0x54af80
54af79:	41                   	inc    %ecx
54af7a:	43                   	inc    %ebx
54af7b:	83 f9 0f             	cmp    $0xf,%ecx
54af7e:	7c f4                	jl     0x54af74
54af80:	8b 58 04             	mov    0x4(%eax),%ebx
54af83:	85 db                	test   %ebx,%ebx
54af85:	74 0b                	je     0x54af92
54af87:	8b d8                	mov    %eax,%ebx
54af89:	03 ca                	add    %edx,%ecx
54af8b:	8b d1                	mov    %ecx,%edx
54af8d:	ff 53 04             	call   *0x4(%ebx)
54af90:	5b                   	pop    %ebx
54af91:	c3                   	ret
54af92:	03 ca                	add    %edx,%ecx
54af94:	8b d1                	mov    %ecx,%edx
54af96:	e8 f9 00 00 00       	call   0x54b094
54af9b:	5b                   	pop    %ebx
54af9c:	c3                   	ret
54af9d:	90                   	nop
54af9e:	90                   	nop
54af9f:	90                   	nop
54afa0:	53                   	push   %ebx
54afa1:	56                   	push   %esi
54afa2:	57                   	push   %edi
54afa3:	55                   	push   %ebp
54afa4:	51                   	push   %ecx
54afa5:	89 0c 24             	mov    %ecx,(%esp)
54afa8:	8b fa                	mov    %edx,%edi
54afaa:	33 f6                	xor    %esi,%esi
54afac:	33 c9                	xor    %ecx,%ecx
54afae:	8b d7                	mov    %edi,%edx
54afb0:	8d a8 dc 00 00 00    	lea    0xdc(%eax),%ebp
54afb6:	33 c0                	xor    %eax,%eax
54afb8:	41                   	inc    %ecx
54afb9:	8a 45 00             	mov    0x0(%ebp),%al
54afbc:	45                   	inc    %ebp
54afbd:	83 f8 29             	cmp    $0x29,%eax
54afc0:	7c 0f                	jl     0x54afd1
54afc2:	83 f8 7a             	cmp    $0x7a,%eax
54afc5:	7f 0a                	jg     0x54afd1
54afc7:	83 f8 5a             	cmp    $0x5a,%eax
54afca:	7e 33                	jle    0x54afff
54afcc:	83 f8 61             	cmp    $0x61,%eax
54afcf:	7d 2e                	jge    0x54afff
54afd1:	8b d8                	mov    %eax,%ebx
54afd3:	c6 02 5b             	movb   $0x5b,(%edx)
54afd6:	81 e3 f0 00 00 00    	and    $0xf0,%ebx
54afdc:	42                   	inc    %edx
54afdd:	c1 fb 04             	sar    $0x4,%ebx
54afe0:	83 e0 0f             	and    $0xf,%eax
54afe3:	46                   	inc    %esi
54afe4:	46                   	inc    %esi
54afe5:	8a 9b 90 ae 69 00    	mov    0x69ae90(%ebx),%bl
54afeb:	88 1a                	mov    %bl,(%edx)
54afed:	42                   	inc    %edx
54afee:	8a 80 90 ae 69 00    	mov    0x69ae90(%eax),%al
54aff4:	46                   	inc    %esi
54aff5:	88 02                	mov    %al,(%edx)
54aff7:	42                   	inc    %edx
54aff8:	46                   	inc    %esi
54aff9:	c6 02 5d             	movb   $0x5d,(%edx)
54affc:	42                   	inc    %edx
54affd:	eb 04                	jmp    0x54b003
54afff:	88 02                	mov    %al,(%edx)
54b001:	46                   	inc    %esi
54b002:	42                   	inc    %edx
54b003:	83 f9 04             	cmp    $0x4,%ecx
54b006:	7c ae                	jl     0x54afb6
54b008:	8b 14 24             	mov    (%esp),%edx
54b00b:	85 d2                	test   %edx,%edx
54b00d:	75 06                	jne    0x54b015
54b00f:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
54b013:	eb 22                	jmp    0x54b037
54b015:	c6 04 37 3a          	movb   $0x3a,(%edi,%esi,1)
54b019:	46                   	inc    %esi
54b01a:	c6 04 37 20          	movb   $0x20,(%edi,%esi,1)
54b01e:	46                   	inc    %esi
54b01f:	6a 40                	push   $0x40
54b021:	8b 4c 24 04          	mov    0x4(%esp),%ecx
54b025:	51                   	push   %ecx
54b026:	8d 04 3e             	lea    (%esi,%edi,1),%eax
54b029:	50                   	push   %eax
54b02a:	e8 b1 b3 fd ff       	call   0x5263e0
54b02f:	c6 44 37 3f 00       	movb   $0x0,0x3f(%edi,%esi,1)
54b034:	83 c4 0c             	add    $0xc,%esp
54b037:	5a                   	pop    %edx
54b038:	5d                   	pop    %ebp
54b039:	5f                   	pop    %edi
54b03a:	5e                   	pop    %esi
54b03b:	5b                   	pop    %ebx
54b03c:	c3                   	ret
54b03d:	90                   	nop
54b03e:	90                   	nop
54b03f:	90                   	nop
54b040:	53                   	push   %ebx
54b041:	83 c4 ac             	add    $0xffffffac,%esp
54b044:	8b d8                	mov    %eax,%ebx
54b046:	8b c4                	mov    %esp,%eax
54b048:	8b c8                	mov    %eax,%ecx
54b04a:	8b c3                	mov    %ebx,%eax
54b04c:	87 ca                	xchg   %ecx,%edx
54b04e:	e8 4d ff ff ff       	call   0x54afa0
54b053:	8b d4                	mov    %esp,%edx
54b055:	8b c3                	mov    %ebx,%eax
54b057:	e8 64 fe ff ff       	call   0x54aec0
54b05c:	83 c4 54             	add    $0x54,%esp
54b05f:	5b                   	pop    %ebx
54b060:	c3                   	ret
54b061:	90                   	nop
54b062:	90                   	nop
54b063:	90                   	nop
54b064:	53                   	push   %ebx
54b065:	83 c4 ac             	add    $0xffffffac,%esp
54b068:	8b d8                	mov    %eax,%ebx
54b06a:	8b c4                	mov    %esp,%eax
54b06c:	8b c8                	mov    %eax,%ecx
54b06e:	8b c3                	mov    %ebx,%eax
54b070:	87 ca                	xchg   %ecx,%edx
54b072:	e8 29 ff ff ff       	call   0x54afa0
54b077:	8b d4                	mov    %esp,%edx
54b079:	8b c3                	mov    %ebx,%eax
54b07b:	e8 dc fe ff ff       	call   0x54af5c
54b080:	83 c4 54             	add    $0x54,%esp
54b083:	5b                   	pop    %ebx
54b084:	c3                   	ret
54b085:	90                   	nop
54b086:	90                   	nop
54b087:	90                   	nop
54b088:	85 d2                	test   %edx,%edx
54b08a:	85 c0                	test   %eax,%eax
54b08c:	e8 4b b3 fd ff       	call   0x5263dc
54b091:	c3                   	ret
54b092:	90                   	nop
54b093:	90                   	nop
54b094:	85 d2                	test   %edx,%edx
54b096:	85 c0                	test   %eax,%eax
54b098:	c3                   	ret
54b099:	90                   	nop
54b09a:	90                   	nop
54b09b:	90                   	nop
54b09c:	55                   	push   %ebp
54b09d:	8b ec                	mov    %esp,%ebp
54b09f:	89 50 08             	mov    %edx,0x8(%eax)
54b0a2:	89 08                	mov    %ecx,(%eax)
54b0a4:	8b 55 08             	mov    0x8(%ebp),%edx
54b0a7:	89 50 04             	mov    %edx,0x4(%eax)
54b0aa:	5d                   	pop    %ebp
54b0ab:	c2 04 00             	ret    $0x4
54b0ae:	90                   	nop
54b0af:	90                   	nop
54b0b0:	8b 40 08             	mov    0x8(%eax),%eax
54b0b3:	c3                   	ret
54b0b4:	85 c0                	test   %eax,%eax
54b0b6:	74 09                	je     0x54b0c1
54b0b8:	81 e2 ff ff f3 ff    	and    $0xfff3ffff,%edx
54b0be:	21 50 2c             	and    %edx,0x2c(%eax)
54b0c1:	c3                   	ret
54b0c2:	8b c0                	mov    %eax,%eax
54b0c4:	33 d2                	xor    %edx,%edx
54b0c6:	33 c9                	xor    %ecx,%ecx
54b0c8:	8a 48 01             	mov    0x1(%eax),%cl
54b0cb:	8a 10                	mov    (%eax),%dl
54b0cd:	c1 e1 10             	shl    $0x10,%ecx
54b0d0:	c1 e2 18             	shl    $0x18,%edx
54b0d3:	03 d1                	add    %ecx,%edx
54b0d5:	33 c9                	xor    %ecx,%ecx
54b0d7:	8a 48 02             	mov    0x2(%eax),%cl
54b0da:	0f b6 40 03          	movzbl 0x3(%eax),%eax
54b0de:	c1 e1 08             	shl    $0x8,%ecx
54b0e1:	03 d1                	add    %ecx,%edx
54b0e3:	03 d0                	add    %eax,%edx
54b0e5:	8b c2                	mov    %edx,%eax
54b0e7:	c3                   	ret
54b0e8:	33 d2                	xor    %edx,%edx
54b0ea:	33 c9                	xor    %ecx,%ecx
54b0ec:	8a 48 01             	mov    0x1(%eax),%cl
54b0ef:	8a 10                	mov    (%eax),%dl
54b0f1:	c1 e1 10             	shl    $0x10,%ecx
54b0f4:	c1 e2 18             	shl    $0x18,%edx
54b0f7:	03 d1                	add    %ecx,%edx
54b0f9:	33 c9                	xor    %ecx,%ecx
54b0fb:	8a 48 02             	mov    0x2(%eax),%cl
54b0fe:	0f b6 40 03          	movzbl 0x3(%eax),%eax
54b102:	c1 e1 08             	shl    $0x8,%ecx
54b105:	03 d1                	add    %ecx,%edx
54b107:	03 d0                	add    %eax,%edx
54b109:	8b c2                	mov    %edx,%eax
54b10b:	c3                   	ret
54b10c:	33 d2                	xor    %edx,%edx
54b10e:	8a 10                	mov    (%eax),%dl
54b110:	c1 e2 08             	shl    $0x8,%edx
54b113:	0f b6 40 01          	movzbl 0x1(%eax),%eax
54b117:	66 03 d0             	add    %ax,%dx
54b11a:	8b c2                	mov    %edx,%eax
54b11c:	c3                   	ret
54b11d:	90                   	nop
54b11e:	90                   	nop
54b11f:	90                   	nop
54b120:	53                   	push   %ebx
54b121:	56                   	push   %esi
54b122:	57                   	push   %edi
54b123:	8b f9                	mov    %ecx,%edi
54b125:	8b f2                	mov    %edx,%esi
54b127:	8b d8                	mov    %eax,%ebx
54b129:	8b cf                	mov    %edi,%ecx
54b12b:	8b d6                	mov    %esi,%edx
54b12d:	8b c3                	mov    %ebx,%eax
54b12f:	e8 24 fb ff ff       	call   0x54ac58
54b134:	8b cf                	mov    %edi,%ecx
54b136:	8b d6                	mov    %esi,%edx
54b138:	8b c3                	mov    %ebx,%eax
54b13a:	e8 a5 3b 00 00       	call   0x54ece4
54b13f:	5f                   	pop    %edi
54b140:	5e                   	pop    %esi
54b141:	5b                   	pop    %ebx
54b142:	c3                   	ret
54b143:	90                   	nop
54b144:	53                   	push   %ebx
54b145:	8b d8                	mov    %eax,%ebx
54b147:	56                   	push   %esi
54b148:	57                   	push   %edi
54b149:	8b 7b 70             	mov    0x70(%ebx),%edi
54b14c:	8b f2                	mov    %edx,%esi
54b14e:	3b fe                	cmp    %esi,%edi
54b150:	73 13                	jae    0x54b165
54b152:	8b 4b 70             	mov    0x70(%ebx),%ecx
54b155:	8b 53 6c             	mov    0x6c(%ebx),%edx
54b158:	8b c3                	mov    %ebx,%eax
54b15a:	e8 c1 ff ff ff       	call   0x54b120
54b15f:	2b f7                	sub    %edi,%esi
54b161:	3b fe                	cmp    %esi,%edi
54b163:	72 ed                	jb     0x54b152
54b165:	85 f6                	test   %esi,%esi
54b167:	74 0c                	je     0x54b175
54b169:	8b ce                	mov    %esi,%ecx
54b16b:	8b 53 6c             	mov    0x6c(%ebx),%edx
54b16e:	8b c3                	mov    %ebx,%eax
54b170:	e8 ab ff ff ff       	call   0x54b120
54b175:	8b c3                	mov    %ebx,%eax
54b177:	e8 4c 00 00 00       	call   0x54b1c8
54b17c:	85 c0                	test   %eax,%eax
54b17e:	74 3f                	je     0x54b1bf
54b180:	f6 83 dc 00 00 00 20 	testb  $0x20,0xdc(%ebx)
54b187:	74 06                	je     0x54b18f
54b189:	f6 43 2d 02          	testb  $0x2,0x2d(%ebx)
54b18d:	74 0f                	je     0x54b19e