576f64:	5e                   	pop    %esi
576f65:	5b                   	pop    %ebx
576f66:	c3                   	ret
576f67:	33 c0                	xor    %eax,%eax
576f69:	5e                   	pop    %esi
576f6a:	5b                   	pop    %ebx
576f6b:	c3                   	ret
576f6c:	53                   	push   %ebx
576f6d:	8d 58 08             	lea    0x8(%eax),%ebx
576f70:	56                   	push   %esi
576f71:	8b f2                	mov    %edx,%esi
576f73:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
576f77:	50                   	push   %eax
576f78:	33 d2                	xor    %edx,%edx
576f7a:	8a 13                	mov    (%ebx),%dl
576f7c:	52                   	push   %edx
576f7d:	68 bc 27 6a 00       	push   $0x6a27bc
576f82:	56                   	push   %esi
576f83:	e8 44 31 00 00       	call   0x57a0cc
576f88:	83 c4 10             	add    $0x10,%esp
576f8b:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
576f90:	76 1c                	jbe    0x576fae
576f92:	68 cf 27 6a 00       	push   $0x6a27cf
576f97:	56                   	push   %esi
576f98:	e8 2f 31 00 00       	call   0x57a0cc
576f9d:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
576fa1:	83 c4 08             	add    $0x8,%esp
576fa4:	8b 53 04             	mov    0x4(%ebx),%edx
576fa7:	8b c6                	mov    %esi,%eax
576fa9:	e8 c2 2f 00 00       	call   0x579f70
576fae:	33 c0                	xor    %eax,%eax
576fb0:	5e                   	pop    %esi
576fb1:	5b                   	pop    %ebx
576fb2:	c3                   	ret
576fb3:	90                   	nop
576fb4:	83 c0 08             	add    $0x8,%eax
576fb7:	8b 50 08             	mov    0x8(%eax),%edx
576fba:	85 d2                	test   %edx,%edx
576fbc:	74 07                	je     0x576fc5
576fbe:	8b c2                	mov    %edx,%eax
576fc0:	e8 bf 13 00 00       	call   0x578384
576fc5:	c3                   	ret
576fc6:	90                   	nop
576fc7:	90                   	nop
576fc8:	53                   	push   %ebx
576fc9:	56                   	push   %esi
576fca:	8b f0                	mov    %eax,%esi
576fcc:	57                   	push   %edi
576fcd:	55                   	push   %ebp
576fce:	33 c0                	xor    %eax,%eax
576fd0:	8d 5e 08             	lea    0x8(%esi),%ebx
576fd3:	8b e9                	mov    %ecx,%ebp
576fd5:	89 43 08             	mov    %eax,0x8(%ebx)
576fd8:	66 83 7e 02 01       	cmpw   $0x1,0x2(%esi)
576fdd:	72 46                	jb     0x577025
576fdf:	8b d3                	mov    %ebx,%edx
576fe1:	8b c5                	mov    %ebp,%eax
576fe3:	e8 74 06 00 00       	call   0x57765c
576fe8:	85 c0                	test   %eax,%eax
576fea:	75 39                	jne    0x577025
576fec:	0f b7 7e 02          	movzwl 0x2(%esi),%edi
576ff0:	4f                   	dec    %edi
576ff1:	89 7b 04             	mov    %edi,0x4(%ebx)
576ff4:	85 ff                	test   %edi,%edi
576ff6:	76 24                	jbe    0x57701c
576ff8:	8b c7                	mov    %edi,%eax
576ffa:	e8 7d 13 00 00       	call   0x57837c
576fff:	89 43 08             	mov    %eax,0x8(%ebx)
577002:	85 c0                	test   %eax,%eax
577004:	74 1f                	je     0x577025
577006:	8b 4b 04             	mov    0x4(%ebx),%ecx
577009:	8b 53 08             	mov    0x8(%ebx),%edx
57700c:	8b c5                	mov    %ebp,%eax
57700e:	e8 6d 18 00 00       	call   0x578880
577013:	8b 53 04             	mov    0x4(%ebx),%edx
577016:	3b c2                	cmp    %edx,%eax
577018:	75 0b                	jne    0x577025
57701a:	eb 05                	jmp    0x577021
57701c:	33 c9                	xor    %ecx,%ecx
57701e:	89 4b 08             	mov    %ecx,0x8(%ebx)
577021:	33 c0                	xor    %eax,%eax
577023:	eb 0a                	jmp    0x57702f
577025:	8b c6                	mov    %esi,%eax
577027:	e8 88 ff ff ff       	call   0x576fb4
57702c:	83 c8 ff             	or     $0xffffffff,%eax
57702f:	5d                   	pop    %ebp
577030:	5f                   	pop    %edi
577031:	5e                   	pop    %esi
577032:	5b                   	pop    %ebx
577033:	c3                   	ret
577034:	53                   	push   %ebx
577035:	8d 58 08             	lea    0x8(%eax),%ebx
577038:	56                   	push   %esi
577039:	8b f1                	mov    %ecx,%esi
57703b:	8b c6                	mov    %esi,%eax
57703d:	8a 13                	mov    (%ebx),%dl
57703f:	e8 7c 06 00 00       	call   0x5776c0
577044:	85 c0                	test   %eax,%eax
577046:	74 06                	je     0x57704e
577048:	83 c8 ff             	or     $0xffffffff,%eax
57704b:	5e                   	pop    %esi
57704c:	5b                   	pop    %ebx
57704d:	c3                   	ret
57704e:	8b 4b 04             	mov    0x4(%ebx),%ecx
577051:	8b 53 08             	mov    0x8(%ebx),%edx
577054:	8b c6                	mov    %esi,%eax
577056:	e8 a1 18 00 00       	call   0x5788fc
57705b:	8b 53 04             	mov    0x4(%ebx),%edx
57705e:	3b c2                	cmp    %edx,%eax
577060:	74 06                	je     0x577068
577062:	83 c8 ff             	or     $0xffffffff,%eax
577065:	5e                   	pop    %esi
577066:	5b                   	pop    %ebx
577067:	c3                   	ret
577068:	33 c0                	xor    %eax,%eax
57706a:	5e                   	pop    %esi
57706b:	5b                   	pop    %ebx
57706c:	c3                   	ret
57706d:	90                   	nop
57706e:	90                   	nop
57706f:	90                   	nop
577070:	53                   	push   %ebx
577071:	8d 58 08             	lea    0x8(%eax),%ebx
577074:	56                   	push   %esi
577075:	8b f2                	mov    %edx,%esi
577077:	8b 43 04             	mov    0x4(%ebx),%eax
57707a:	33 d2                	xor    %edx,%edx
57707c:	50                   	push   %eax
57707d:	8a 13                	mov    (%ebx),%dl
57707f:	52                   	push   %edx
577080:	68 d7 27 6a 00       	push   $0x6a27d7
577085:	56                   	push   %esi
577086:	e8 41 30 00 00       	call   0x57a0cc
57708b:	83 c4 10             	add    $0x10,%esp
57708e:	8b 4b 04             	mov    0x4(%ebx),%ecx
577091:	85 c9                	test   %ecx,%ecx
577093:	76 1b                	jbe    0x5770b0
577095:	68 ea 27 6a 00       	push   $0x6a27ea
57709a:	56                   	push   %esi
57709b:	e8 2c 30 00 00       	call   0x57a0cc
5770a0:	83 c4 08             	add    $0x8,%esp
5770a3:	8b 4b 04             	mov    0x4(%ebx),%ecx
5770a6:	8b 53 08             	mov    0x8(%ebx),%edx
5770a9:	8b c6                	mov    %esi,%eax
5770ab:	e8 c0 2e 00 00       	call   0x579f70
5770b0:	33 c0                	xor    %eax,%eax
5770b2:	5e                   	pop    %esi
5770b3:	5b                   	pop    %ebx
5770b4:	c3                   	ret
5770b5:	90                   	nop
5770b6:	90                   	nop
5770b7:	90                   	nop
5770b8:	83 c0 08             	add    $0x8,%eax
5770bb:	8b 50 04             	mov    0x4(%eax),%edx
5770be:	85 d2                	test   %edx,%edx
5770c0:	74 07                	je     0x5770c9
5770c2:	8b c2                	mov    %edx,%eax
5770c4:	e8 bb 12 00 00       	call   0x578384
5770c9:	c3                   	ret
5770ca:	90                   	nop
5770cb:	90                   	nop
5770cc:	53                   	push   %ebx
5770cd:	56                   	push   %esi
5770ce:	57                   	push   %edi
5770cf:	55                   	push   %ebp
5770d0:	83 c4 f4             	add    $0xfffffff4,%esp
5770d3:	8b f1                	mov    %ecx,%esi
5770d5:	8b ea                	mov    %edx,%ebp
5770d7:	89 04 24             	mov    %eax,(%esp)
5770da:	8b 3c 24             	mov    (%esp),%edi
5770dd:	83 c7 08             	add    $0x8,%edi
5770e0:	8b 45 00             	mov    0x0(%ebp),%eax
5770e3:	3d 00 01 00 00       	cmp    $0x100,%eax
5770e8:	7e 13                	jle    0x5770fd
5770ea:	8b 14 24             	mov    (%esp),%edx
5770ed:	b9 09 00 00 00       	mov    $0x9,%ecx
5770f2:	0f b7 42 02          	movzwl 0x2(%edx),%eax
5770f6:	99                   	cltd
5770f7:	f7 f9                	idiv   %ecx
5770f9:	8b d8                	mov    %eax,%ebx
5770fb:	eb 11                	jmp    0x57710e
5770fd:	8b 04 24             	mov    (%esp),%eax
577100:	b9 07 00 00 00       	mov    $0x7,%ecx
577105:	0f b7 40 02          	movzwl 0x2(%eax),%eax
577109:	99                   	cltd
57710a:	f7 f9                	idiv   %ecx
57710c:	8b d8                	mov    %eax,%ebx
57710e:	89 1f                	mov    %ebx,(%edi)
577110:	8b c3                	mov    %ebx,%eax
577112:	03 c0                	add    %eax,%eax
577114:	8d 04 80             	lea    (%eax,%eax,4),%eax
577117:	e8 60 12 00 00       	call   0x57837c
57711c:	89 47 04             	mov    %eax,0x4(%edi)
57711f:	85 c0                	test   %eax,%eax
577121:	0f 84 e6 00 00 00    	je     0x57720d
577127:	33 d2                	xor    %edx,%edx
577129:	89 54 24 04          	mov    %edx,0x4(%esp)
57712d:	8b 5f 04             	mov    0x4(%edi),%ebx
577130:	e9 c6 00 00 00       	jmp    0x5771fb
577135:	8d 53 01             	lea    0x1(%ebx),%edx
577138:	8b c6                	mov    %esi,%eax
57713a:	e8 1d 05 00 00       	call   0x57765c
57713f:	85 c0                	test   %eax,%eax
577141:	0f 85 c6 00 00 00    	jne    0x57720d
577147:	8b 4d 00             	mov    0x0(%ebp),%ecx
57714a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
577150:	7e 14                	jle    0x577166
577152:	8d 53 04             	lea    0x4(%ebx),%edx
577155:	8b c6                	mov    %esi,%eax
577157:	e8 cc 05 00 00       	call   0x577728
57715c:	85 c0                	test   %eax,%eax
57715e:	0f 85 a9 00 00 00    	jne    0x57720d
577164:	eb 1d                	jmp    0x577183
577166:	8d 54 24 08          	lea    0x8(%esp),%edx
57716a:	8b c6                	mov    %esi,%eax
57716c:	e8 eb 04 00 00       	call   0x57765c
577171:	85 c0                	test   %eax,%eax
577173:	0f 85 94 00 00 00    	jne    0x57720d
577179:	33 c9                	xor    %ecx,%ecx
57717b:	8a 4c 24 08          	mov    0x8(%esp),%cl
57717f:	66 89 4b 04          	mov    %cx,0x4(%ebx)
577183:	8d 53 08             	lea    0x8(%ebx),%edx
577186:	8b c6                	mov    %esi,%eax
577188:	e8 9b 05 00 00       	call   0x577728
57718d:	85 c0                	test   %eax,%eax
57718f:	75 7c                	jne    0x57720d
577191:	8d 53 02             	lea    0x2(%ebx),%edx
577194:	8b c6                	mov    %esi,%eax
577196:	e8 c1 04 00 00       	call   0x57765c
57719b:	85 c0                	test   %eax,%eax
57719d:	75 6e                	jne    0x57720d
57719f:	8b 4d 00             	mov    0x0(%ebp),%ecx
5771a2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
5771a8:	7e 10                	jle    0x5771ba
5771aa:	8d 53 06             	lea    0x6(%ebx),%edx
5771ad:	8b c6                	mov    %esi,%eax
5771af:	e8 74 05 00 00       	call   0x577728
5771b4:	85 c0                	test   %eax,%eax
5771b6:	75 55                	jne    0x57720d
5771b8:	eb 19                	jmp    0x5771d3
5771ba:	8d 54 24 08          	lea    0x8(%esp),%edx
5771be:	8b c6                	mov    %esi,%eax
5771c0:	e8 97 04 00 00       	call   0x57765c
5771c5:	85 c0                	test   %eax,%eax
5771c7:	75 44                	jne    0x57720d
5771c9:	33 c9                	xor    %ecx,%ecx
5771cb:	8a 4c 24 08          	mov    0x8(%esp),%cl
5771cf:	66 89 4b 06          	mov    %cx,0x6(%ebx)
5771d3:	8b d3                	mov    %ebx,%edx
5771d5:	8b c6                	mov    %esi,%eax
5771d7:	e8 80 04 00 00       	call   0x57765c
5771dc:	85 c0                	test   %eax,%eax
5771de:	75 2d                	jne    0x57720d
5771e0:	8a 4b 01             	mov    0x1(%ebx),%cl
5771e3:	8a 43 02             	mov    0x2(%ebx),%al
5771e6:	3a c8                	cmp    %al,%cl
5771e8:	77 23                	ja     0x57720d
5771ea:	66 8b 53 04          	mov    0x4(%ebx),%dx
5771ee:	66 3b 53 06          	cmp    0x6(%ebx),%dx
5771f2:	77 19                	ja     0x57720d
5771f4:	ff 44 24 04          	incl   0x4(%esp)
5771f8:	83 c3 0a             	add    $0xa,%ebx
5771fb:	8b 0f                	mov    (%edi),%ecx
5771fd:	8b 44 24 04          	mov    0x4(%esp),%eax
577201:	3b c8                	cmp    %eax,%ecx
577203:	0f 8f 2c ff ff ff    	jg     0x577135
577209:	33 c0                	xor    %eax,%eax
57720b:	eb 0b                	jmp    0x577218
57720d:	8b 04 24             	mov    (%esp),%eax
577210:	e8 a3 fe ff ff       	call   0x5770b8
577215:	83 c8 ff             	or     $0xffffffff,%eax
577218:	83 c4 0c             	add    $0xc,%esp
57721b:	5d                   	pop    %ebp
57721c:	5f                   	pop    %edi
57721d:	5e                   	pop    %esi
57721e:	5b                   	pop    %ebx
57721f:	c3                   	ret
577220:	53                   	push   %ebx
577221:	56                   	push   %esi
577222:	57                   	push   %edi
577223:	55                   	push   %ebp
577224:	51                   	push   %ecx
577225:	8b f1                	mov    %ecx,%esi
577227:	8b ea                	mov    %edx,%ebp
577229:	83 c0 08             	add    $0x8,%eax
57722c:	89 04 24             	mov    %eax,(%esp)
57722f:	33 ff                	xor    %edi,%edi
577231:	8b 04 24             	mov    (%esp),%eax
577234:	8b 58 04             	mov    0x4(%eax),%ebx
577237:	e9 8d 00 00 00       	jmp    0x5772c9
57723c:	8a 53 01             	mov    0x1(%ebx),%dl
57723f:	8b c6                	mov    %esi,%eax
577241:	e8 7a 04 00 00       	call   0x5776c0
577246:	85 c0                	test   %eax,%eax
577248:	75 76                	jne    0x5772c0
57724a:	8b 4d 00             	mov    0x0(%ebp),%ecx
57724d:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
577253:	7e 0d                	jle    0x577262
577255:	66 8b 53 04          	mov    0x4(%ebx),%dx
577259:	8b c6                	mov    %esi,%eax
57725b:	e8 8c 05 00 00       	call   0x5777ec
577260:	eb 0a                	jmp    0x57726c
577262:	8a 53 04             	mov    0x4(%ebx),%dl
577265:	8b c6                	mov    %esi,%eax
577267:	e8 54 04 00 00       	call   0x5776c0
57726c:	85 c0                	test   %eax,%eax
57726e:	75 50                	jne    0x5772c0
577270:	66 8b 53 08          	mov    0x8(%ebx),%dx
577274:	8b c6                	mov    %esi,%eax
577276:	e8 71 05 00 00       	call   0x5777ec
57727b:	85 c0                	test   %eax,%eax
57727d:	75 41                	jne    0x5772c0
57727f:	8a 53 02             	mov    0x2(%ebx),%dl
577282:	8b c6                	mov    %esi,%eax
577284:	e8 37 04 00 00       	call   0x5776c0
577289:	85 c0                	test   %eax,%eax
57728b:	75 33                	jne    0x5772c0
57728d:	8b 4d 00             	mov    0x0(%ebp),%ecx
577290:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
577296:	7e 0d                	jle    0x5772a5
577298:	66 8b 53 06          	mov    0x6(%ebx),%dx
57729c:	8b c6                	mov    %esi,%eax
57729e:	e8 49 05 00 00       	call   0x5777ec
5772a3:	eb 0a                	jmp    0x5772af
5772a5:	8a 53 06             	mov    0x6(%ebx),%dl
5772a8:	8b c6                	mov    %esi,%eax
5772aa:	e8 11 04 00 00       	call   0x5776c0
5772af:	85 c0                	test   %eax,%eax
5772b1:	75 0d                	jne    0x5772c0
5772b3:	8a 13                	mov    (%ebx),%dl
5772b5:	8b c6                	mov    %esi,%eax
5772b7:	e8 04 04 00 00       	call   0x5776c0
5772bc:	85 c0                	test   %eax,%eax
5772be:	74 05                	je     0x5772c5
5772c0:	83 c8 ff             	or     $0xffffffff,%eax
5772c3:	eb 13                	jmp    0x5772d8
5772c5:	47                   	inc    %edi
5772c6:	83 c3 0a             	add    $0xa,%ebx
5772c9:	8b 14 24             	mov    (%esp),%edx
5772cc:	8b 0a                	mov    (%edx),%ecx
5772ce:	3b f9                	cmp    %ecx,%edi
5772d0:	0f 8c 66 ff ff ff    	jl     0x57723c
5772d6:	33 c0                	xor    %eax,%eax
5772d8:	5a                   	pop    %edx
5772d9:	5d                   	pop    %ebp
5772da:	5f                   	pop    %edi
5772db:	5e                   	pop    %esi
5772dc:	5b                   	pop    %ebx
5772dd:	c3                   	ret
5772de:	90                   	nop