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
5772df:	90                   	nop
5772e0:	53                   	push   %ebx
5772e1:	56                   	push   %esi
5772e2:	57                   	push   %edi
5772e3:	55                   	push   %ebp
5772e4:	8b fa                	mov    %edx,%edi
5772e6:	8d 68 08             	lea    0x8(%eax),%ebp
5772e9:	33 db                	xor    %ebx,%ebx
5772eb:	8b 75 04             	mov    0x4(%ebp),%esi
5772ee:	eb 62                	jmp    0x577352
5772f0:	33 c0                	xor    %eax,%eax
5772f2:	8a 06                	mov    (%esi),%al
5772f4:	50                   	push   %eax
5772f5:	53                   	push   %ebx
5772f6:	68 f2 27 6a 00       	push   $0x6a27f2
5772fb:	57                   	push   %edi
5772fc:	e8 cb 2d 00 00       	call   0x57a0cc
577301:	83 c4 10             	add    $0x10,%esp
577304:	0f b7 56 06          	movzwl 0x6(%esi),%edx
577308:	52                   	push   %edx
577309:	53                   	push   %ebx
57730a:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
57730e:	51                   	push   %ecx
57730f:	53                   	push   %ebx
577310:	68 00 28 6a 00       	push   $0x6a2800
577315:	57                   	push   %edi
577316:	e8 b1 2d 00 00       	call   0x57a0cc
57731b:	83 c4 18             	add    $0x18,%esp
57731e:	33 c0                	xor    %eax,%eax
577320:	8a 46 02             	mov    0x2(%esi),%al
577323:	33 d2                	xor    %edx,%edx
577325:	50                   	push   %eax
577326:	53                   	push   %ebx
577327:	8a 56 01             	mov    0x1(%esi),%dl
57732a:	52                   	push   %edx
57732b:	53                   	push   %ebx
57732c:	68 1b 28 6a 00       	push   $0x6a281b
577331:	57                   	push   %edi
577332:	e8 95 2d 00 00       	call   0x57a0cc
577337:	83 c4 18             	add    $0x18,%esp
57733a:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
57733e:	51                   	push   %ecx
57733f:	53                   	push   %ebx
577340:	68 36 28 6a 00       	push   $0x6a2836
577345:	57                   	push   %edi
577346:	e8 81 2d 00 00       	call   0x57a0cc
57734b:	83 c4 10             	add    $0x10,%esp
57734e:	43                   	inc    %ebx
57734f:	83 c6 0a             	add    $0xa,%esi
577352:	8b 45 00             	mov    0x0(%ebp),%eax
577355:	3b d8                	cmp    %eax,%ebx
577357:	7c 97                	jl     0x5772f0
577359:	33 c0                	xor    %eax,%eax
57735b:	5d                   	pop    %ebp
57735c:	5f                   	pop    %edi
57735d:	5e                   	pop    %esi
57735e:	5b                   	pop    %ebx
57735f:	c3                   	ret
577360:	83 c0 08             	add    $0x8,%eax
577363:	8b 50 04             	mov    0x4(%eax),%edx
577366:	85 d2                	test   %edx,%edx
577368:	74 07                	je     0x577371
57736a:	8b c2                	mov    %edx,%eax
57736c:	e8 13 10 00 00       	call   0x578384
577371:	c3                   	ret
577372:	90                   	nop
577373:	90                   	nop
577374:	53                   	push   %ebx
577375:	56                   	push   %esi
577376:	57                   	push   %edi
577377:	55                   	push   %ebp
577378:	51                   	push   %ecx
577379:	89 04 24             	mov    %eax,(%esp)
57737c:	8b 1c 24             	mov    (%esp),%ebx
57737f:	8b ea                	mov    %edx,%ebp
577381:	83 c3 08             	add    $0x8,%ebx
577384:	8b f9                	mov    %ecx,%edi
577386:	8b 45 00             	mov    0x0(%ebp),%eax
577389:	89 03                	mov    %eax,(%ebx)
57738b:	8b 45 00             	mov    0x0(%ebp),%eax
57738e:	03 c0                	add    %eax,%eax
577390:	e8 e7 0f 00 00       	call   0x57837c
577395:	89 43 04             	mov    %eax,0x4(%ebx)
577398:	85 c0                	test   %eax,%eax
57739a:	75 05                	jne    0x5773a1
57739c:	83 c8 ff             	or     $0xffffffff,%eax
57739f:	eb 3f                	jmp    0x5773e0
5773a1:	33 f6                	xor    %esi,%esi
5773a3:	8b 5b 04             	mov    0x4(%ebx),%ebx
5773a6:	eb 2c                	jmp    0x5773d4
5773a8:	8b d3                	mov    %ebx,%edx
5773aa:	8b c7                	mov    %edi,%eax
5773ac:	e8 77 03 00 00       	call   0x577728
5773b1:	85 c0                	test   %eax,%eax
5773b3:	75 0e                	jne    0x5773c3
5773b5:	8d 53 02             	lea    0x2(%ebx),%edx
5773b8:	8b c7                	mov    %edi,%eax
5773ba:	e8 69 03 00 00       	call   0x577728
5773bf:	85 c0                	test   %eax,%eax
5773c1:	74 0d                	je     0x5773d0
5773c3:	8b 04 24             	mov    (%esp),%eax
5773c6:	e8 95 ff ff ff       	call   0x577360
5773cb:	83 c8 ff             	or     $0xffffffff,%eax
5773ce:	eb 10                	jmp    0x5773e0
5773d0:	46                   	inc    %esi
5773d1:	83 c3 04             	add    $0x4,%ebx
5773d4:	0f b7 d6             	movzwl %si,%edx
5773d7:	8b 4d 00             	mov    0x0(%ebp),%ecx
5773da:	3b d1                	cmp    %ecx,%edx
5773dc:	7c ca                	jl     0x5773a8
5773de:	33 c0                	xor    %eax,%eax
5773e0:	5a                   	pop    %edx
5773e1:	5d                   	pop    %ebp
5773e2:	5f                   	pop    %edi
5773e3:	5e                   	pop    %esi
5773e4:	5b                   	pop    %ebx
5773e5:	c3                   	ret
5773e6:	90                   	nop
5773e7:	90                   	nop
5773e8:	53                   	push   %ebx
5773e9:	56                   	push   %esi
5773ea:	57                   	push   %edi
5773eb:	55                   	push   %ebp
5773ec:	8b f9                	mov    %ecx,%edi
5773ee:	8d 68 08             	lea    0x8(%eax),%ebp
5773f1:	33 f6                	xor    %esi,%esi
5773f3:	8b 5d 04             	mov    0x4(%ebp),%ebx
5773f6:	eb 26                	jmp    0x57741e
5773f8:	66 8b 13             	mov    (%ebx),%dx
5773fb:	8b c7                	mov    %edi,%eax
5773fd:	e8 ea 03 00 00       	call   0x5777ec
577402:	85 c0                	test   %eax,%eax
577404:	75 0f                	jne    0x577415
577406:	66 8b 53 02          	mov    0x2(%ebx),%dx
57740a:	8b c7                	mov    %edi,%eax
57740c:	e8 db 03 00 00       	call   0x5777ec
577411:	85 c0                	test   %eax,%eax
577413:	74 05                	je     0x57741a
577415:	83 c8 ff             	or     $0xffffffff,%eax
577418:	eb 0d                	jmp    0x577427
57741a:	46                   	inc    %esi
57741b:	83 c3 04             	add    $0x4,%ebx
57741e:	8b 55 00             	mov    0x0(%ebp),%edx
577421:	3b f2                	cmp    %edx,%esi
577423:	7c d3                	jl     0x5773f8
577425:	33 c0                	xor    %eax,%eax
577427:	5d                   	pop    %ebp
577428:	5f                   	pop    %edi
577429:	5e                   	pop    %esi
57742a:	5b                   	pop    %ebx
57742b:	c3                   	ret
57742c:	53                   	push   %ebx
57742d:	56                   	push   %esi
57742e:	57                   	push   %edi
57742f:	8d 78 08             	lea    0x8(%eax),%edi
577432:	55                   	push   %ebp
577433:	8b ea                	mov    %edx,%ebp
577435:	8b 77 04             	mov    0x4(%edi),%esi
577438:	33 db                	xor    %ebx,%ebx
57743a:	eb 1d                	jmp    0x577459
57743c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
577440:	50                   	push   %eax
577441:	53                   	push   %ebx
577442:	0f b7 16             	movzwl (%esi),%edx
577445:	52                   	push   %edx
577446:	53                   	push   %ebx
577447:	68 43 28 6a 00       	push   $0x6a2843
57744c:	55                   	push   %ebp
57744d:	e8 7a 2c 00 00       	call   0x57a0cc
577452:	83 c4 18             	add    $0x18,%esp
577455:	43                   	inc    %ebx
577456:	83 c6 04             	add    $0x4,%esi
577459:	8b 0f                	mov    (%edi),%ecx
57745b:	3b d9                	cmp    %ecx,%ebx
57745d:	7c dd                	jl     0x57743c