54ab28:	00 00                	add    %al,(%eax)
54ab2a:	80 3b 01             	cmpb   $0x1,(%ebx)
54ab2d:	80 00 80             	addb   $0x80,(%eax)
54ab30:	00 80 00 80 ef 3f    	add    %al,0x3fef8000(%eax)
54ab36:	00 00                	add    %al,(%eax)
54ab38:	00 ff                	add    %bh,%bh
54ab3a:	7f 47                	jg     0x54ab83
54ab3c:	53                   	push   %ebx
54ab3d:	56                   	push   %esi
54ab3e:	57                   	push   %edi
54ab3f:	55                   	push   %ebp
54ab40:	83 c4 f8             	add    $0xfffffff8,%esp
54ab43:	8a 48 08             	mov    0x8(%eax),%cl
54ab46:	f6 c1 02             	test   $0x2,%cl
54ab49:	0f 84 00 01 00 00    	je     0x54ac4f
54ab4f:	80 78 09 08          	cmpb   $0x8,0x9(%eax)
54ab53:	8b 38                	mov    (%eax),%edi
54ab55:	75 48                	jne    0x54ab9f
54ab57:	80 f9 02             	cmp    $0x2,%cl
54ab5a:	75 07                	jne    0x54ab63
54ab5c:	b9 03 00 00 00       	mov    $0x3,%ecx
54ab61:	eb 0e                	jmp    0x54ab71
54ab63:	80 f9 06             	cmp    $0x6,%cl
54ab66:	0f 85 e3 00 00 00    	jne    0x54ac4f
54ab6c:	b9 04 00 00 00       	mov    $0x4,%ecx
54ab71:	33 f6                	xor    %esi,%esi
54ab73:	8b c2                	mov    %edx,%eax
54ab75:	3b fe                	cmp    %esi,%edi
54ab77:	0f 86 d2 00 00 00    	jbe    0x54ac4f
54ab7d:	8a 10                	mov    (%eax),%dl
54ab7f:	46                   	inc    %esi
54ab80:	02 50 01             	add    0x1(%eax),%dl
54ab83:	80 e2 ff             	and    $0xff,%dl
54ab86:	88 10                	mov    %dl,(%eax)
54ab88:	8a 50 02             	mov    0x2(%eax),%dl
54ab8b:	02 50 01             	add    0x1(%eax),%dl
54ab8e:	80 e2 ff             	and    $0xff,%dl
54ab91:	88 50 02             	mov    %dl,0x2(%eax)
54ab94:	03 c1                	add    %ecx,%eax
54ab96:	3b fe                	cmp    %esi,%edi
54ab98:	77 e3                	ja     0x54ab7d
54ab9a:	e9 b0 00 00 00       	jmp    0x54ac4f
54ab9f:	8a 48 09             	mov    0x9(%eax),%cl
54aba2:	80 f9 10             	cmp    $0x10,%cl
54aba5:	0f 85 a4 00 00 00    	jne    0x54ac4f
54abab:	8a 48 08             	mov    0x8(%eax),%cl
54abae:	80 f9 02             	cmp    $0x2,%cl
54abb1:	75 07                	jne    0x54abba
54abb3:	b9 06 00 00 00       	mov    $0x6,%ecx
54abb8:	eb 0e                	jmp    0x54abc8
54abba:	80 f9 06             	cmp    $0x6,%cl
54abbd:	0f 85 8c 00 00 00    	jne    0x54ac4f
54abc3:	b9 08 00 00 00       	mov    $0x8,%ecx
54abc8:	33 f6                	xor    %esi,%esi
54abca:	8b c2                	mov    %edx,%eax
54abcc:	3b fe                	cmp    %esi,%edi
54abce:	76 7f                	jbe    0x54ac4f
54abd0:	33 d2                	xor    %edx,%edx
54abd2:	33 db                	xor    %ebx,%ebx
54abd4:	8a 10                	mov    (%eax),%dl
54abd6:	8a 58 01             	mov    0x1(%eax),%bl
54abd9:	c1 e2 08             	shl    $0x8,%edx
54abdc:	0b d3                	or     %ebx,%edx
54abde:	33 db                	xor    %ebx,%ebx
54abe0:	89 14 24             	mov    %edx,(%esp)
54abe3:	33 d2                	xor    %edx,%edx
54abe5:	8a 50 02             	mov    0x2(%eax),%dl
54abe8:	8a 58 03             	mov    0x3(%eax),%bl
54abeb:	0f b6 68 05          	movzbl 0x5(%eax),%ebp
54abef:	c1 e2 08             	shl    $0x8,%edx
54abf2:	0b d3                	or     %ebx,%edx
54abf4:	33 db                	xor    %ebx,%ebx
54abf6:	8a 58 04             	mov    0x4(%eax),%bl
54abf9:	c1 e3 08             	shl    $0x8,%ebx
54abfc:	0b dd                	or     %ebp,%ebx
54abfe:	89 5c 24 04          	mov    %ebx,0x4(%esp)
54ac02:	8b 2c 24             	mov    (%esp),%ebp
54ac05:	8b 5c 24 04          	mov    0x4(%esp),%ebx
54ac09:	03 ea                	add    %edx,%ebp
54ac0b:	03 d3                	add    %ebx,%edx
54ac0d:	81 c5 00 00 01 00    	add    $0x10000,%ebp
54ac13:	81 c2 00 00 01 00    	add    $0x10000,%edx
54ac19:	81 e5 ff ff 00 00    	and    $0xffff,%ebp
54ac1f:	81 e2 ff ff 00 00    	and    $0xffff,%edx
54ac25:	8b dd                	mov    %ebp,%ebx
54ac27:	c1 eb 08             	shr    $0x8,%ebx
54ac2a:	80 e3 ff             	and    $0xff,%bl
54ac2d:	88 18                	mov    %bl,(%eax)
54ac2f:	8b dd                	mov    %ebp,%ebx
54ac31:	80 e3 ff             	and    $0xff,%bl
54ac34:	88 58 01             	mov    %bl,0x1(%eax)
54ac37:	8b da                	mov    %edx,%ebx
54ac39:	c1 eb 08             	shr    $0x8,%ebx
54ac3c:	80 e3 ff             	and    $0xff,%bl
54ac3f:	80 e2 ff             	and    $0xff,%dl
54ac42:	88 58 04             	mov    %bl,0x4(%eax)
54ac45:	88 50 05             	mov    %dl,0x5(%eax)
54ac48:	46                   	inc    %esi
54ac49:	03 c1                	add    %ecx,%eax
54ac4b:	3b fe                	cmp    %esi,%edi
54ac4d:	77 81                	ja     0x54abd0
54ac4f:	59                   	pop    %ecx
54ac50:	5a                   	pop    %edx
54ac51:	5d                   	pop    %ebp
54ac52:	5f                   	pop    %edi
54ac53:	5e                   	pop    %esi
54ac54:	5b                   	pop    %ebx
54ac55:	c3                   	ret
54ac56:	8b c0                	mov    %eax,%eax
54ac58:	53                   	push   %ebx
54ac59:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
54ac5d:	74 07                	je     0x54ac66
54ac5f:	8b d8                	mov    %eax,%ebx
54ac61:	ff 53 10             	call   *0x10(%ebx)
54ac64:	5b                   	pop    %ebx
54ac65:	c3                   	ret
54ac66:	ba a4 ad 69 00       	mov    $0x69ada4,%edx
54ac6b:	e8 50 02 00 00       	call   0x54aec0
54ac70:	5b                   	pop    %ebx
54ac71:	c3                   	ret
54ac72:	90                   	nop
54ac73:	90                   	nop
54ac74:	53                   	push   %ebx
54ac75:	8b d8                	mov    %eax,%ebx
54ac77:	89 53 14             	mov    %edx,0x14(%ebx)
54ac7a:	89 4b 10             	mov    %ecx,0x10(%ebx)
54ac7d:	8b 43 0c             	mov    0xc(%ebx),%eax
54ac80:	85 c0                	test   %eax,%eax
54ac82:	74 1d                	je     0x54aca1
54ac84:	33 d2                	xor    %edx,%edx
54ac86:	89 53 0c             	mov    %edx,0xc(%ebx)
54ac89:	ba bf ad 69 00       	mov    $0x69adbf,%edx
54ac8e:	8b c3                	mov    %ebx,%eax
54ac90:	e8 c7 02 00 00       	call   0x54af5c
54ac95:	ba 00 ae 69 00       	mov    $0x69ae00,%edx
54ac9a:	8b c3                	mov    %ebx,%eax
54ac9c:	e8 bb 02 00 00       	call   0x54af5c
54aca1:	33 c9                	xor    %ecx,%ecx
54aca3:	89 8b 0c 01 00 00    	mov    %ecx,0x10c(%ebx)
54aca9:	5b                   	pop    %ebx
54acaa:	c3                   	ret
54acab:	90                   	nop
54acac:	33 c9                	xor    %ecx,%ecx
54acae:	33 d2                	xor    %edx,%edx
54acb0:	e8 03 00 00 00       	call   0x54acb8
54acb5:	c3                   	ret
54acb6:	90                   	nop
54acb7:	90                   	nop
54acb8:	53                   	push   %ebx
54acb9:	56                   	push   %esi
54acba:	81 c4 e4 fd ff ff    	add    $0xfffffde4,%esp
54acc0:	83 f8 02             	cmp    $0x2,%eax
54acc3:	75 07                	jne    0x54accc
54acc5:	be 20 01 00 00       	mov    $0x120,%esi
54acca:	eb 0e                	jmp    0x54acda
54accc:	48                   	dec    %eax
54accd:	75 07                	jne    0x54acd6
54accf:	be 1c 02 00 00       	mov    $0x21c,%esi
54acd4:	eb 04                	jmp    0x54acda
54acd6:	33 c0                	xor    %eax,%eax
54acd8:	eb 43                	jmp    0x54ad1d
54acda:	85 d2                	test   %edx,%edx
54acdc:	74 24                	je     0x54ad02
54acde:	8b c4                	mov    %esp,%eax
54ace0:	8b da                	mov    %edx,%ebx
54ace2:	8b d6                	mov    %esi,%edx
54ace4:	89 88 00 02 00 00    	mov    %ecx,0x200(%eax)
54acea:	ff d3                	call   *%ebx
54acec:	8b d8                	mov    %eax,%ebx
54acee:	85 db                	test   %ebx,%ebx
54acf0:	74 0c                	je     0x54acfe
54acf2:	56                   	push   %esi
54acf3:	6a 00                	push   $0x0
54acf5:	53                   	push   %ebx
54acf6:	e8 29 b6 fd ff       	call   0x526324
54acfb:	83 c4 0c             	add    $0xc,%esp
54acfe:	8b c3                	mov    %ebx,%eax
54ad00:	eb 1b                	jmp    0x54ad1d
54ad02:	56                   	push   %esi
54ad03:	e8 ec b6 fd ff       	call   0x5263f4
54ad08:	59                   	pop    %ecx
54ad09:	8b d8                	mov    %eax,%ebx
54ad0b:	85 c0                	test   %eax,%eax
54ad0d:	74 0c                	je     0x54ad1b
54ad0f:	56                   	push   %esi
54ad10:	6a 00                	push   $0x0
54ad12:	53                   	push   %ebx
54ad13:	e8 0c b6 fd ff       	call   0x526324
54ad18:	83 c4 0c             	add    $0xc,%esp
54ad1b:	8b c3                	mov    %ebx,%eax
54ad1d:	81 c4 1c 02 00 00    	add    $0x21c,%esp
54ad23:	5e                   	pop    %esi
54ad24:	5b                   	pop    %ebx
54ad25:	c3                   	ret
54ad26:	90                   	nop
54ad27:	90                   	nop
54ad28:	33 c9                	xor    %ecx,%ecx
54ad2a:	33 d2                	xor    %edx,%edx
54ad2c:	e8 03 00 00 00       	call   0x54ad34
54ad31:	c3                   	ret
54ad32:	90                   	nop
54ad33:	90                   	nop
54ad34:	53                   	push   %ebx
54ad35:	56                   	push   %esi
54ad36:	81 c4 e4 fd ff ff    	add    $0xfffffde4,%esp
54ad3c:	85 c0                	test   %eax,%eax
54ad3e:	74 1c                	je     0x54ad5c
54ad40:	85 d2                	test   %edx,%edx
54ad42:	74 11                	je     0x54ad55
54ad44:	8b f4                	mov    %esp,%esi
54ad46:	8b da                	mov    %edx,%ebx
54ad48:	8b d6                	mov    %esi,%edx
54ad4a:	92                   	xchg   %eax,%edx
54ad4b:	89 8e 00 02 00 00    	mov    %ecx,0x200(%esi)
54ad51:	ff d3                	call   *%ebx
54ad53:	eb 07                	jmp    0x54ad5c
54ad55:	50                   	push   %eax
54ad56:	e8 a9 b6 fd ff       	call   0x526404
54ad5b:	59                   	pop    %ecx
54ad5c:	81 c4 1c 02 00 00    	add    $0x21c,%esp
54ad62:	5e                   	pop    %esi
54ad63:	5b                   	pop    %ebx
54ad64:	c3                   	ret
54ad65:	90                   	nop
54ad66:	90                   	nop
54ad67:	90                   	nop
54ad68:	53                   	push   %ebx
54ad69:	56                   	push   %esi
54ad6a:	8b d8                	mov    %eax,%ebx
54ad6c:	85 db                	test   %ebx,%ebx
54ad6e:	74 04                	je     0x54ad74
54ad70:	85 d2                	test   %edx,%edx
54ad72:	75 05                	jne    0x54ad79
54ad74:	33 c0                	xor    %eax,%eax
54ad76:	5e                   	pop    %esi
54ad77:	5b                   	pop    %ebx
54ad78:	c3                   	ret
54ad79:	8b 8b 04 02 00 00    	mov    0x204(%ebx),%ecx
54ad7f:	85 c9                	test   %ecx,%ecx
54ad81:	74 25                	je     0x54ada8
54ad83:	8b c3                	mov    %ebx,%eax
54ad85:	ff 93 04 02 00 00    	call   *0x204(%ebx)
54ad8b:	8b f0                	mov    %eax,%esi
54ad8d:	85 f6                	test   %esi,%esi
54ad8f:	75 12                	jne    0x54ada3
54ad91:	f6 43 2e 10          	testb  $0x10,0x2e(%ebx)
54ad95:	75 0c                	jne    0x54ada3
54ad97:	ba 34 ae 69 00       	mov    $0x69ae34,%edx
54ad9c:	8b c3                	mov    %ebx,%eax
54ad9e:	e8 1d 01 00 00       	call   0x54aec0
54ada3:	8b c6                	mov    %esi,%eax
54ada5:	5e                   	pop    %esi
54ada6:	5b                   	pop    %ebx
54ada7:	c3                   	ret
54ada8:	8b c3                	mov    %ebx,%eax
54adaa:	e8 05 00 00 00       	call   0x54adb4
54adaf:	5e                   	pop    %esi
54adb0:	5b                   	pop    %ebx
54adb1:	c3                   	ret
54adb2:	90                   	nop
54adb3:	90                   	nop
54adb4:	53                   	push   %ebx
54adb5:	56                   	push   %esi
54adb6:	8b f0                	mov    %eax,%esi
54adb8:	52                   	push   %edx
54adb9:	e8 36 b6 fd ff       	call   0x5263f4
54adbe:	59                   	pop    %ecx
54adbf:	8b d8                	mov    %eax,%ebx
54adc1:	85 db                	test   %ebx,%ebx
54adc3:	75 12                	jne    0x54add7
54adc5:	f6 46 2e 10          	testb  $0x10,0x2e(%esi)
54adc9:	75 0c                	jne    0x54add7
54adcb:	ba 43 ae 69 00       	mov    $0x69ae43,%edx
54add0:	8b c6                	mov    %esi,%eax
54add2:	e8 e9 00 00 00       	call   0x54aec0
54add7:	8b c3                	mov    %ebx,%eax
54add9:	5e                   	pop    %esi
54adda:	5b                   	pop    %ebx
54addb:	c3                   	ret
54addc:	53                   	push   %ebx
54addd:	85 c0                	test   %eax,%eax
54addf:	74 1d                	je     0x54adfe
54ade1:	85 d2                	test   %edx,%edx
54ade3:	74 19                	je     0x54adfe
54ade5:	8b 88 08 02 00 00    	mov    0x208(%eax),%ecx
54adeb:	85 c9                	test   %ecx,%ecx
54aded:	74 0a                	je     0x54adf9
54adef:	8b d8                	mov    %eax,%ebx
54adf1:	ff 93 08 02 00 00    	call   *0x208(%ebx)
54adf7:	5b                   	pop    %ebx
54adf8:	c3                   	ret
54adf9:	e8 02 00 00 00       	call   0x54ae00
54adfe:	5b                   	pop    %ebx
54adff:	c3                   	ret
54ae00:	85 c0                	test   %eax,%eax
54ae02:	74 0b                	je     0x54ae0f
54ae04:	85 d2                	test   %edx,%edx
54ae06:	74 07                	je     0x54ae0f
54ae08:	52                   	push   %edx
54ae09:	e8 f6 b5 fd ff       	call   0x526404
54ae0e:	59                   	pop    %ecx
54ae0f:	c3                   	ret
54ae10:	53                   	push   %ebx
54ae11:	8b d8                	mov    %eax,%ebx
54ae13:	56                   	push   %esi
54ae14:	8b c3                	mov    %ebx,%eax
54ae16:	8b 73 2c             	mov    0x2c(%ebx),%esi
54ae19:	81 4b 2c 00 00 10 00 	orl    $0x100000,0x2c(%ebx)
54ae20:	e8 43 ff ff ff       	call   0x54ad68
54ae25:	89 73 2c             	mov    %esi,0x2c(%ebx)
54ae28:	5e                   	pop    %esi
54ae29:	5b                   	pop    %ebx
54ae2a:	c3                   	ret
54ae2b:	90                   	nop
54ae2c:	55                   	push   %ebp
54ae2d:	8b ec                	mov    %esp,%ebp
54ae2f:	51                   	push   %ecx
54ae30:	53                   	push   %ebx
54ae31:	56                   	push   %esi
54ae32:	57                   	push   %edi
54ae33:	89 45 fc             	mov    %eax,-0x4(%ebp)
54ae36:	8b f2                	mov    %edx,%esi
54ae38:	8b 55 08             	mov    0x8(%ebp),%edx
54ae3b:	8b f9                	mov    %ecx,%edi
54ae3d:	8b da                	mov    %edx,%ebx
54ae3f:	3b d3                	cmp    %ebx,%edx
54ae41:	74 0d                	je     0x54ae50
54ae43:	ba 51 ae 69 00       	mov    $0x69ae51,%edx
54ae48:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ae4b:	e8 70 00 00 00       	call   0x54aec0
54ae50:	53                   	push   %ebx
54ae51:	57                   	push   %edi
54ae52:	56                   	push   %esi
54ae53:	e8 88 b5 fd ff       	call   0x5263e0
54ae58:	83 c4 0c             	add    $0xc,%esp
54ae5b:	5f                   	pop    %edi
54ae5c:	5e                   	pop    %esi
54ae5d:	5b                   	pop    %ebx
54ae5e:	59                   	pop    %ecx
54ae5f:	5d                   	pop    %ebp
54ae60:	c2 04 00             	ret    $0x4
54ae63:	90                   	nop
54ae64:	55                   	push   %ebp
54ae65:	8b ec                	mov    %esp,%ebp
54ae67:	51                   	push   %ecx
54ae68:	53                   	push   %ebx
54ae69:	56                   	push   %esi
54ae6a:	57                   	push   %edi
54ae6b:	89 45 fc             	mov    %eax,-0x4(%ebp)
54ae6e:	8b f2                	mov    %edx,%esi