573ebe:	83 c8 ff             	or     $0xffffffff,%eax
573ec1:	eb 49                	jmp    0x573f0c
573ec3:	33 f6                	xor    %esi,%esi
573ec5:	eb 3b                	jmp    0x573f02
573ec7:	8b c6                	mov    %esi,%eax
573ec9:	8b 5d 04             	mov    0x4(%ebp),%ebx
573ecc:	03 c0                	add    %eax,%eax
573ece:	8d 04 40             	lea    (%eax,%eax,2),%eax
573ed1:	03 d8                	add    %eax,%ebx
573ed3:	8b c7                	mov    %edi,%eax
573ed5:	8b d3                	mov    %ebx,%edx
573ed7:	e8 74 03 00 00       	call   0x574250
573edc:	85 c0                	test   %eax,%eax
573ede:	75 1c                	jne    0x573efc
573ee0:	8d 53 02             	lea    0x2(%ebx),%edx
573ee3:	8b c7                	mov    %edi,%eax
573ee5:	e8 66 03 00 00       	call   0x574250
573eea:	85 c0                	test   %eax,%eax
573eec:	75 0e                	jne    0x573efc
573eee:	8d 53 04             	lea    0x4(%ebx),%edx
573ef1:	8b c7                	mov    %edi,%eax
573ef3:	e8 58 03 00 00       	call   0x574250
573ef8:	85 c0                	test   %eax,%eax
573efa:	74 05                	je     0x573f01
573efc:	83 c8 ff             	or     $0xffffffff,%eax
573eff:	eb 0b                	jmp    0x573f0c
573f01:	46                   	inc    %esi
573f02:	0f b7 55 00          	movzwl 0x0(%ebp),%edx
573f06:	3b f2                	cmp    %edx,%esi
573f08:	7c bd                	jl     0x573ec7
573f0a:	33 c0                	xor    %eax,%eax
573f0c:	5d                   	pop    %ebp
573f0d:	5f                   	pop    %edi
573f0e:	5e                   	pop    %esi
573f0f:	5b                   	pop    %ebx
573f10:	c3                   	ret
573f11:	90                   	nop
573f12:	90                   	nop
573f13:	90                   	nop
573f14:	53                   	push   %ebx
573f15:	56                   	push   %esi
573f16:	57                   	push   %edi
573f17:	55                   	push   %ebp
573f18:	8b d8                	mov    %eax,%ebx
573f1a:	51                   	push   %ecx
573f1b:	89 14 24             	mov    %edx,(%esp)
573f1e:	33 f6                	xor    %esi,%esi
573f20:	8b 43 04             	mov    0x4(%ebx),%eax
573f23:	8b 68 08             	mov    0x8(%eax),%ebp
573f26:	83 e5 03             	and    $0x3,%ebp
573f29:	83 fd 01             	cmp    $0x1,%ebp
573f2c:	1b ed                	sbb    %ebp,%ebp
573f2e:	f7 dd                	neg    %ebp
573f30:	85 ed                	test   %ebp,%ebp
573f32:	74 39                	je     0x573f6d
573f34:	33 d2                	xor    %edx,%edx
573f36:	33 c0                	xor    %eax,%eax
573f38:	e8 df 44 00 00       	call   0x57841c
573f3d:	8b f0                	mov    %eax,%esi
573f3f:	8b 03                	mov    (%ebx),%eax
573f41:	8b 50 0c             	mov    0xc(%eax),%edx
573f44:	85 d2                	test   %edx,%edx
573f46:	74 11                	je     0x573f59
573f48:	8b d6                	mov    %esi,%edx
573f4a:	8b c3                	mov    %ebx,%eax
573f4c:	8b 08                	mov    (%eax),%ecx
573f4e:	ff 51 0c             	call   *0xc(%ecx)
573f51:	85 c0                	test   %eax,%eax
573f53:	0f 85 9a 00 00 00    	jne    0x573ff3
573f59:	8b c6                	mov    %esi,%eax
573f5b:	e8 98 4c 00 00       	call   0x578bf8
573f60:	83 c0 08             	add    $0x8,%eax
573f63:	89 43 0c             	mov    %eax,0xc(%ebx)
573f66:	8b c6                	mov    %esi,%eax
573f68:	e8 ef 4b 00 00       	call   0x578b5c
573f6d:	8b 43 0c             	mov    0xc(%ebx),%eax
573f70:	33 d2                	xor    %edx,%edx
573f72:	83 fa 01             	cmp    $0x1,%edx
573f75:	75 03                	jne    0x573f7a
573f77:	83 f8 00             	cmp    $0x0,%eax
573f7a:	0f 93 c1             	setae  %cl
573f7d:	83 e1 01             	and    $0x1,%ecx
573f80:	85 c9                	test   %ecx,%ecx
573f82:	0f 95 c0             	setne  %al
573f85:	83 e0 01             	and    $0x1,%eax
573f88:	8b f8                	mov    %eax,%edi
573f8a:	85 ff                	test   %edi,%edi
573f8c:	74 07                	je     0x573f95
573f8e:	ba 01 00 00 00       	mov    $0x1,%edx
573f93:	eb 03                	jmp    0x573f98
573f95:	8b 53 0c             	mov    0xc(%ebx),%edx
573f98:	8b 04 24             	mov    (%esp),%eax
573f9b:	e8 18 06 00 00       	call   0x5745b8
573fa0:	85 c0                	test   %eax,%eax
573fa2:	75 4f                	jne    0x573ff3
573fa4:	8b 53 08             	mov    0x8(%ebx),%edx
573fa7:	8b 04 24             	mov    (%esp),%eax
573faa:	e8 09 06 00 00       	call   0x5745b8
573faf:	85 c0                	test   %eax,%eax
573fb1:	75 40                	jne    0x573ff3
573fb3:	85 ff                	test   %edi,%edi
573fb5:	74 14                	je     0x573fcb
573fb7:	8b 43 0c             	mov    0xc(%ebx),%eax
573fba:	33 d2                	xor    %edx,%edx
573fbc:	52                   	push   %edx
573fbd:	50                   	push   %eax
573fbe:	8b 44 24 08          	mov    0x8(%esp),%eax
573fc2:	e8 79 07 00 00       	call   0x574740
573fc7:	85 c0                	test   %eax,%eax
573fc9:	75 28                	jne    0x573ff3
573fcb:	85 ed                	test   %ebp,%ebp
573fcd:	74 1b                	je     0x573fea
573fcf:	8b 4b 0c             	mov    0xc(%ebx),%ecx
573fd2:	83 e9 08             	sub    $0x8,%ecx
573fd5:	8b d6                	mov    %esi,%edx
573fd7:	8b 04 24             	mov    (%esp),%eax
573fda:	e8 49 4f 00 00       	call   0x578f28
573fdf:	85 c0                	test   %eax,%eax
573fe1:	75 10                	jne    0x573ff3
573fe3:	8b c6                	mov    %esi,%eax
573fe5:	e8 52 47 00 00       	call   0x57873c
573fea:	33 c0                	xor    %eax,%eax
573fec:	eb 13                	jmp    0x574001
573fee:	e8 55 6b fe ff       	call   0x55ab48
573ff3:	85 f6                	test   %esi,%esi
573ff5:	74 07                	je     0x573ffe
573ff7:	8b c6                	mov    %esi,%eax
573ff9:	e8 3e 47 00 00       	call   0x57873c
573ffe:	83 c8 ff             	or     $0xffffffff,%eax
574001:	5a                   	pop    %edx
574002:	5d                   	pop    %ebp
574003:	5f                   	pop    %edi
574004:	5e                   	pop    %esi
574005:	5b                   	pop    %ebx
574006:	c3                   	ret
574007:	90                   	nop
574008:	83 c0 10             	add    $0x10,%eax
57400b:	8b 08                	mov    (%eax),%ecx
57400d:	8b c2                	mov    %edx,%eax
57400f:	8b d1                	mov    %ecx,%edx
574011:	e8 a2 05 00 00       	call   0x5745b8
574016:	85 c0                	test   %eax,%eax
574018:	74 04                	je     0x57401e
57401a:	83 c8 ff             	or     $0xffffffff,%eax
57401d:	c3                   	ret
57401e:	33 c0                	xor    %eax,%eax
574020:	c3                   	ret
574021:	90                   	nop
574022:	90                   	nop
574023:	90                   	nop
574024:	53                   	push   %ebx
574025:	56                   	push   %esi
574026:	57                   	push   %edi
574027:	8d 78 10             	lea    0x10(%eax),%edi
57402a:	55                   	push   %ebp
57402b:	8b ea                	mov    %edx,%ebp
57402d:	8b 17                	mov    (%edi),%edx
57402f:	8b c5                	mov    %ebp,%eax
574031:	e8 82 05 00 00       	call   0x5745b8
574036:	85 c0                	test   %eax,%eax
574038:	75 0e                	jne    0x574048
57403a:	8b 57 04             	mov    0x4(%edi),%edx
57403d:	8b c5                	mov    %ebp,%eax
57403f:	e8 74 05 00 00       	call   0x5745b8
574044:	85 c0                	test   %eax,%eax
574046:	74 05                	je     0x57404d
574048:	83 c8 ff             	or     $0xffffffff,%eax
57404b:	eb 26                	jmp    0x574073
57404d:	33 f6                	xor    %esi,%esi
57404f:	8d 5f 0c             	lea    0xc(%edi),%ebx
574052:	eb 16                	jmp    0x57406a
574054:	8b 13                	mov    (%ebx),%edx
574056:	8b c5                	mov    %ebp,%eax
574058:	e8 5b 05 00 00       	call   0x5745b8
57405d:	85 c0                	test   %eax,%eax
57405f:	74 05                	je     0x574066
574061:	83 c8 ff             	or     $0xffffffff,%eax
574064:	eb 0d                	jmp    0x574073
574066:	46                   	inc    %esi
574067:	83 c3 04             	add    $0x4,%ebx
57406a:	8b 57 08             	mov    0x8(%edi),%edx
57406d:	3b d6                	cmp    %esi,%edx
57406f:	77 e3                	ja     0x574054
574071:	33 c0                	xor    %eax,%eax
574073:	5d                   	pop    %ebp
574074:	5f                   	pop    %edi
574075:	5e                   	pop    %esi
574076:	5b                   	pop    %ebx
574077:	c3                   	ret
574078:	53                   	push   %ebx
574079:	8d 58 10             	lea    0x10(%eax),%ebx
57407c:	56                   	push   %esi
57407d:	8b f2                	mov    %edx,%esi
57407f:	8b 53 04             	mov    0x4(%ebx),%edx
574082:	8b c6                	mov    %esi,%eax
574084:	e8 2f 05 00 00       	call   0x5745b8
574089:	85 c0                	test   %eax,%eax
57408b:	75 54                	jne    0x5740e1
57408d:	8b 13                	mov    (%ebx),%edx
57408f:	8b c6                	mov    %esi,%eax
574091:	e8 22 05 00 00       	call   0x5745b8
574096:	85 c0                	test   %eax,%eax
574098:	75 47                	jne    0x5740e1
57409a:	66 8b 53 08          	mov    0x8(%ebx),%dx
57409e:	8b c6                	mov    %esi,%eax
5740a0:	e8 4b 04 00 00       	call   0x5744f0
5740a5:	85 c0                	test   %eax,%eax
5740a7:	75 38                	jne    0x5740e1
5740a9:	8a 53 0a             	mov    0xa(%ebx),%dl
5740ac:	8b c6                	mov    %esi,%eax
5740ae:	e8 d5 03 00 00       	call   0x574488
5740b3:	85 c0                	test   %eax,%eax
5740b5:	75 2a                	jne    0x5740e1
5740b7:	8a 53 0b             	mov    0xb(%ebx),%dl
5740ba:	8b c6                	mov    %esi,%eax
5740bc:	e8 c7 03 00 00       	call   0x574488
5740c1:	85 c0                	test   %eax,%eax
5740c3:	75 1c                	jne    0x5740e1
5740c5:	8a 53 0c             	mov    0xc(%ebx),%dl
5740c8:	8b c6                	mov    %esi,%eax
5740ca:	e8 b9 03 00 00       	call   0x574488
5740cf:	85 c0                	test   %eax,%eax
5740d1:	75 0e                	jne    0x5740e1
5740d3:	8a 53 0d             	mov    0xd(%ebx),%dl
5740d6:	8b c6                	mov    %esi,%eax
5740d8:	e8 ab 03 00 00       	call   0x574488
5740dd:	85 c0                	test   %eax,%eax
5740df:	74 06                	je     0x5740e7
5740e1:	83 c8 ff             	or     $0xffffffff,%eax
5740e4:	5e                   	pop    %esi
5740e5:	5b                   	pop    %ebx
5740e6:	c3                   	ret
5740e7:	33 c0                	xor    %eax,%eax
5740e9:	5e                   	pop    %esi
5740ea:	5b                   	pop    %ebx
5740eb:	c3                   	ret
5740ec:	53                   	push   %ebx
5740ed:	56                   	push   %esi
5740ee:	57                   	push   %edi
5740ef:	8b fa                	mov    %edx,%edi
5740f1:	8d 70 10             	lea    0x10(%eax),%esi
5740f4:	33 db                	xor    %ebx,%ebx
5740f6:	eb 17                	jmp    0x57410f
5740f8:	8b 46 04             	mov    0x4(%esi),%eax
5740fb:	8a 14 18             	mov    (%eax,%ebx,1),%dl
5740fe:	8b c7                	mov    %edi,%eax
574100:	e8 83 03 00 00       	call   0x574488
574105:	85 c0                	test   %eax,%eax
574107:	74 05                	je     0x57410e
574109:	83 c8 ff             	or     $0xffffffff,%eax
57410c:	eb 0a                	jmp    0x574118
57410e:	43                   	inc    %ebx
57410f:	0f b7 16             	movzwl (%esi),%edx
574112:	3b da                	cmp    %edx,%ebx
574114:	7c e2                	jl     0x5740f8
574116:	33 c0                	xor    %eax,%eax
574118:	5f                   	pop    %edi
574119:	5e                   	pop    %esi
57411a:	5b                   	pop    %ebx
57411b:	c3                   	ret
57411c:	53                   	push   %ebx
57411d:	8d 58 10             	lea    0x10(%eax),%ebx
574120:	56                   	push   %esi
574121:	8b f2                	mov    %edx,%esi
574123:	8a 13                	mov    (%ebx),%dl
574125:	8b c6                	mov    %esi,%eax
574127:	e8 5c 03 00 00       	call   0x574488
57412c:	85 c0                	test   %eax,%eax
57412e:	75 1c                	jne    0x57414c
574130:	8a 53 01             	mov    0x1(%ebx),%dl
574133:	8b c6                	mov    %esi,%eax
574135:	e8 4e 03 00 00       	call   0x574488
57413a:	85 c0                	test   %eax,%eax
57413c:	75 0e                	jne    0x57414c
57413e:	8a 53 02             	mov    0x2(%ebx),%dl
574141:	8b c6                	mov    %esi,%eax
574143:	e8 40 03 00 00       	call   0x574488
574148:	85 c0                	test   %eax,%eax
57414a:	74 06                	je     0x574152
57414c:	83 c8 ff             	or     $0xffffffff,%eax
57414f:	5e                   	pop    %esi
574150:	5b                   	pop    %ebx
574151:	c3                   	ret
574152:	8a 13                	mov    (%ebx),%dl
574154:	fe ca                	dec    %dl
574156:	74 06                	je     0x57415e
574158:	fe ca                	dec    %dl
57415a:	74 16                	je     0x574172
57415c:	eb 19                	jmp    0x574177
57415e:	8b 53 04             	mov    0x4(%ebx),%edx
574161:	8b c6                	mov    %esi,%eax
574163:	e8 50 04 00 00       	call   0x5745b8
574168:	85 c0                	test   %eax,%eax
57416a:	74 0b                	je     0x574177
57416c:	83 c8 ff             	or     $0xffffffff,%eax
57416f:	5e                   	pop    %esi
574170:	5b                   	pop    %ebx
574171:	c3                   	ret
574172:	e8 d1 69 fe ff       	call   0x55ab48
574177:	33 c0                	xor    %eax,%eax
574179:	5e                   	pop    %esi
57417a:	5b                   	pop    %ebx
57417b:	c3                   	ret
57417c:	53                   	push   %ebx
57417d:	56                   	push   %esi
57417e:	57                   	push   %edi
57417f:	55                   	push   %ebp
574180:	8d 68 10             	lea    0x10(%eax),%ebp
574183:	8b fa                	mov    %edx,%edi
574185:	8b c7                	mov    %edi,%eax
574187:	66 8b 55 00          	mov    0x0(%ebp),%dx
57418b:	e8 60 03 00 00       	call   0x5744f0
574190:	85 c0                	test   %eax,%eax
574192:	74 05                	je     0x574199
574194:	83 c8 ff             	or     $0xffffffff,%eax
574197:	eb 4c                	jmp    0x5741e5
574199:	33 f6                	xor    %esi,%esi
57419b:	eb 3e                	jmp    0x5741db
57419d:	8b c6                	mov    %esi,%eax
57419f:	8b 5d 04             	mov    0x4(%ebp),%ebx
5741a2:	03 c0                	add    %eax,%eax
5741a4:	8d 04 40             	lea    (%eax,%eax,2),%eax
5741a7:	03 d8                	add    %eax,%ebx
5741a9:	8b c7                	mov    %edi,%eax
5741ab:	66 8b 13             	mov    (%ebx),%dx
5741ae:	e8 3d 03 00 00       	call   0x5744f0
5741b3:	85 c0                	test   %eax,%eax
5741b5:	75 1e                	jne    0x5741d5
5741b7:	66 8b 53 02          	mov    0x2(%ebx),%dx
5741bb:	8b c7                	mov    %edi,%eax
5741bd:	e8 2e 03 00 00       	call   0x5744f0
5741c2:	85 c0                	test   %eax,%eax
5741c4:	75 0f                	jne    0x5741d5
5741c6:	66 8b 53 04          	mov    0x4(%ebx),%dx
5741ca:	8b c7                	mov    %edi,%eax
5741cc:	e8 1f 03 00 00       	call   0x5744f0
5741d1:	85 c0                	test   %eax,%eax
5741d3:	74 05                	je     0x5741da
5741d5:	83 c8 ff             	or     $0xffffffff,%eax
5741d8:	eb 0b                	jmp    0x5741e5
5741da:	46                   	inc    %esi
5741db:	0f b7 55 00          	movzwl 0x0(%ebp),%edx
5741df:	3b f2                	cmp    %edx,%esi
5741e1:	7c ba                	jl     0x57419d
5741e3:	33 c0                	xor    %eax,%eax
5741e5:	5d                   	pop    %ebp
5741e6:	5f                   	pop    %edi
5741e7:	5e                   	pop    %esi
5741e8:	5b                   	pop    %ebx
5741e9:	c3                   	ret