54913a:	8a 4d bf             	mov    -0x41(%ebp),%cl
54913d:	66 2b c1             	sub    %cx,%ax
549140:	0f b7 c8             	movzwl %ax,%ecx
549143:	8b 45 24             	mov    0x24(%ebp),%eax
549146:	0f b7 40 06          	movzwl 0x6(%eax),%eax
54914a:	0f af c8             	imul   %eax,%ecx
54914d:	66 03 d1             	add    %cx,%dx
549150:	66 81 c2 80 00       	add    $0x80,%dx
549155:	66 89 55 b6          	mov    %dx,-0x4a(%ebp)
549159:	0f b7 4d b6          	movzwl -0x4a(%ebp),%ecx
54915d:	0f b7 55 b6          	movzwl -0x4a(%ebp),%edx
549161:	c1 f9 08             	sar    $0x8,%ecx
549164:	03 d1                	add    %ecx,%edx
549166:	c1 fa 08             	sar    $0x8,%edx
549169:	88 55 bd             	mov    %dl,-0x43(%ebp)
54916c:	33 c0                	xor    %eax,%eax
54916e:	8a 45 bd             	mov    -0x43(%ebp),%al
549171:	8b 55 1c             	mov    0x1c(%ebp),%edx
549174:	8a 0c 02             	mov    (%edx,%eax,1),%cl
549177:	88 4e 02             	mov    %cl,0x2(%esi)
54917a:	ff 45 f4             	incl   -0xc(%ebp)
54917d:	83 c3 04             	add    $0x4,%ebx
549180:	83 c6 03             	add    $0x3,%esi
549183:	8b 45 f4             	mov    -0xc(%ebp),%eax
549186:	8b 55 f0             	mov    -0x10(%ebp),%edx
549189:	3b c2                	cmp    %edx,%eax
54918b:	0f 82 5e fe ff ff    	jb     0x548fef
549191:	e9 cc 05 00 00       	jmp    0x549762
549196:	33 c0                	xor    %eax,%eax
549198:	8b 5d f8             	mov    -0x8(%ebp),%ebx
54919b:	8b 75 f8             	mov    -0x8(%ebp),%esi
54919e:	89 45 f4             	mov    %eax,-0xc(%ebp)
5491a1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5491a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5491a7:	3b d1                	cmp    %ecx,%edx
5491a9:	0f 83 b3 05 00 00    	jae    0x549762
5491af:	8a 43 03             	mov    0x3(%ebx),%al
5491b2:	88 45 b5             	mov    %al,-0x4b(%ebp)
5491b5:	8a 55 b5             	mov    -0x4b(%ebp),%dl
5491b8:	80 fa ff             	cmp    $0xff,%dl
5491bb:	75 15                	jne    0x5491d2
5491bd:	8a 0b                	mov    (%ebx),%cl
5491bf:	88 0e                	mov    %cl,(%esi)
5491c1:	8a 43 01             	mov    0x1(%ebx),%al
5491c4:	88 46 01             	mov    %al,0x1(%esi)
5491c7:	8a 53 02             	mov    0x2(%ebx),%dl
5491ca:	88 56 02             	mov    %dl,0x2(%esi)
5491cd:	e9 f3 00 00 00       	jmp    0x5492c5
5491d2:	8a 4d b5             	mov    -0x4b(%ebp),%cl
5491d5:	84 c9                	test   %cl,%cl
5491d7:	75 16                	jne    0x5491ef
5491d9:	8a 47 02             	mov    0x2(%edi),%al
5491dc:	88 06                	mov    %al,(%esi)
5491de:	8a 57 04             	mov    0x4(%edi),%dl
5491e1:	88 56 01             	mov    %dl,0x1(%esi)
5491e4:	8a 4f 06             	mov    0x6(%edi),%cl
5491e7:	88 4e 02             	mov    %cl,0x2(%esi)
5491ea:	e9 d6 00 00 00       	jmp    0x5492c5
5491ef:	33 c0                	xor    %eax,%eax
5491f1:	33 c9                	xor    %ecx,%ecx
5491f3:	8a 03                	mov    (%ebx),%al
5491f5:	8a 4d b5             	mov    -0x4b(%ebp),%cl
5491f8:	0f b7 d0             	movzwl %ax,%edx
5491fb:	0f b7 c1             	movzwl %cx,%eax
5491fe:	0f af d0             	imul   %eax,%edx
549201:	66 b8 ff 00          	mov    $0xff,%ax
549205:	33 c9                	xor    %ecx,%ecx
549207:	8a 4d b5             	mov    -0x4b(%ebp),%cl
54920a:	66 2b c1             	sub    %cx,%ax
54920d:	0f b7 c8             	movzwl %ax,%ecx
549210:	0f b7 47 02          	movzwl 0x2(%edi),%eax
549214:	0f af c8             	imul   %eax,%ecx
549217:	66 03 d1             	add    %cx,%dx
54921a:	66 81 c2 80 00       	add    $0x80,%dx
54921f:	66 89 55 b2          	mov    %dx,-0x4e(%ebp)
549223:	0f b7 4d b2          	movzwl -0x4e(%ebp),%ecx
549227:	0f b7 55 b2          	movzwl -0x4e(%ebp),%edx
54922b:	c1 f9 08             	sar    $0x8,%ecx
54922e:	03 d1                	add    %ecx,%edx
549230:	c1 fa 08             	sar    $0x8,%edx
549233:	88 16                	mov    %dl,(%esi)
549235:	33 c0                	xor    %eax,%eax
549237:	33 c9                	xor    %ecx,%ecx
549239:	8a 43 01             	mov    0x1(%ebx),%al
54923c:	8a 4d b5             	mov    -0x4b(%ebp),%cl
54923f:	0f b7 d0             	movzwl %ax,%edx
549242:	0f b7 c1             	movzwl %cx,%eax
549245:	0f af d0             	imul   %eax,%edx
549248:	66 b8 ff 00          	mov    $0xff,%ax
54924c:	33 c9                	xor    %ecx,%ecx
54924e:	8a 4d b5             	mov    -0x4b(%ebp),%cl
549251:	66 2b c1             	sub    %cx,%ax
549254:	0f b7 c8             	movzwl %ax,%ecx
549257:	0f b7 47 04          	movzwl 0x4(%edi),%eax
54925b:	0f af c8             	imul   %eax,%ecx
54925e:	66 03 d1             	add    %cx,%dx
549261:	66 81 c2 80 00       	add    $0x80,%dx
549266:	66 89 55 b0          	mov    %dx,-0x50(%ebp)
54926a:	0f b7 4d b0          	movzwl -0x50(%ebp),%ecx
54926e:	0f b7 55 b0          	movzwl -0x50(%ebp),%edx
549272:	c1 f9 08             	sar    $0x8,%ecx
549275:	03 d1                	add    %ecx,%edx
549277:	c1 fa 08             	sar    $0x8,%edx
54927a:	88 56 01             	mov    %dl,0x1(%esi)
54927d:	33 c0                	xor    %eax,%eax
54927f:	33 c9                	xor    %ecx,%ecx
549281:	8a 43 02             	mov    0x2(%ebx),%al
549284:	8a 4d b5             	mov    -0x4b(%ebp),%cl
549287:	0f b7 d0             	movzwl %ax,%edx
54928a:	0f b7 c1             	movzwl %cx,%eax
54928d:	0f af d0             	imul   %eax,%edx
549290:	66 b8 ff 00          	mov    $0xff,%ax
549294:	33 c9                	xor    %ecx,%ecx
549296:	8a 4d b5             	mov    -0x4b(%ebp),%cl
549299:	66 2b c1             	sub    %cx,%ax
54929c:	0f b7 c8             	movzwl %ax,%ecx
54929f:	0f b7 47 06          	movzwl 0x6(%edi),%eax
5492a3:	0f af c8             	imul   %eax,%ecx
5492a6:	66 03 d1             	add    %cx,%dx
5492a9:	66 81 c2 80 00       	add    $0x80,%dx
5492ae:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
5492b2:	0f b7 4d ae          	movzwl -0x52(%ebp),%ecx
5492b6:	0f b7 55 ae          	movzwl -0x52(%ebp),%edx
5492ba:	c1 f9 08             	sar    $0x8,%ecx
5492bd:	03 d1                	add    %ecx,%edx
5492bf:	c1 fa 08             	sar    $0x8,%edx
5492c2:	88 56 02             	mov    %dl,0x2(%esi)
5492c5:	ff 45 f4             	incl   -0xc(%ebp)
5492c8:	83 c3 04             	add    $0x4,%ebx
5492cb:	83 c6 03             	add    $0x3,%esi
5492ce:	8b 45 f4             	mov    -0xc(%ebp),%eax
5492d1:	8b 55 f0             	mov    -0x10(%ebp),%edx
5492d4:	3b c2                	cmp    %edx,%eax
5492d6:	0f 82 d3 fe ff ff    	jb     0x5491af
5492dc:	e9 81 04 00 00       	jmp    0x549762
5492e1:	8b 4d 14             	mov    0x14(%ebp),%ecx
5492e4:	85 c9                	test   %ecx,%ecx
5492e6:	0f 84 da 02 00 00    	je     0x5495c6
5492ec:	8b 45 10             	mov    0x10(%ebp),%eax
5492ef:	85 c0                	test   %eax,%eax
5492f1:	0f 84 cf 02 00 00    	je     0x5495c6
5492f7:	8b 55 0c             	mov    0xc(%ebp),%edx
5492fa:	85 d2                	test   %edx,%edx
5492fc:	0f 84 c4 02 00 00    	je     0x5495c6
549302:	33 c0                	xor    %eax,%eax
549304:	8b 5d f8             	mov    -0x8(%ebp),%ebx
549307:	8b 75 f8             	mov    -0x8(%ebp),%esi
54930a:	89 45 f4             	mov    %eax,-0xc(%ebp)
54930d:	8b 55 f4             	mov    -0xc(%ebp),%edx
549310:	8b 4d f0             	mov    -0x10(%ebp),%ecx
549313:	3b d1                	cmp    %ecx,%edx
549315:	0f 83 47 04 00 00    	jae    0x549762
54931b:	33 c0                	xor    %eax,%eax
54931d:	33 d2                	xor    %edx,%edx
54931f:	8a 43 06             	mov    0x6(%ebx),%al
549322:	8a 53 07             	mov    0x7(%ebx),%dl
549325:	c1 e0 08             	shl    $0x8,%eax
549328:	66 03 c2             	add    %dx,%ax
54932b:	66 89 45 ac          	mov    %ax,-0x54(%ebp)
54932f:	66 81 7d ac ff ff    	cmpw   $0xffff,-0x54(%ebp)
549335:	0f 85 9a 00 00 00    	jne    0x5493d5
54933b:	33 c0                	xor    %eax,%eax
54933d:	8b 4d 08             	mov    0x8(%ebp),%ecx
549340:	8a 43 01             	mov    0x1(%ebx),%al
549343:	8b 55 14             	mov    0x14(%ebp),%edx
549346:	d3 f8                	sar    %cl,%eax
549348:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
54934b:	33 c0                	xor    %eax,%eax
54934d:	8a 03                	mov    (%ebx),%al
54934f:	66 8b 14 41          	mov    (%ecx,%eax,2),%dx
549353:	66 89 55 aa          	mov    %dx,-0x56(%ebp)
549357:	0f b7 4d aa          	movzwl -0x56(%ebp),%ecx
54935b:	c1 f9 08             	sar    $0x8,%ecx
54935e:	33 d2                	xor    %edx,%edx
549360:	80 e1 ff             	and    $0xff,%cl
549363:	88 0e                	mov    %cl,(%esi)
549365:	8a 45 aa             	mov    -0x56(%ebp),%al
549368:	24 ff                	and    $0xff,%al
54936a:	88 46 01             	mov    %al,0x1(%esi)
54936d:	8a 53 03             	mov    0x3(%ebx),%dl
549370:	8b 4d 08             	mov    0x8(%ebp),%ecx
549373:	d3 fa                	sar    %cl,%edx
549375:	8b 45 14             	mov    0x14(%ebp),%eax
549378:	33 c9                	xor    %ecx,%ecx
54937a:	8a 4b 02             	mov    0x2(%ebx),%cl
54937d:	8b 14 90             	mov    (%eax,%edx,4),%edx
549380:	66 8b 04 4a          	mov    (%edx,%ecx,2),%ax
549384:	66 89 45 aa          	mov    %ax,-0x56(%ebp)
549388:	0f b7 55 aa          	movzwl -0x56(%ebp),%edx
54938c:	c1 fa 08             	sar    $0x8,%edx
54938f:	33 c0                	xor    %eax,%eax
549391:	80 e2 ff             	and    $0xff,%dl
549394:	88 56 02             	mov    %dl,0x2(%esi)
549397:	8a 4d aa             	mov    -0x56(%ebp),%cl
54939a:	80 e1 ff             	and    $0xff,%cl
54939d:	88 4e 03             	mov    %cl,0x3(%esi)
5493a0:	8a 43 05             	mov    0x5(%ebx),%al
5493a3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5493a6:	d3 f8                	sar    %cl,%eax
5493a8:	8b 55 14             	mov    0x14(%ebp),%edx
5493ab:	8b 04 82             	mov    (%edx,%eax,4),%eax
5493ae:	33 d2                	xor    %edx,%edx
5493b0:	8a 53 04             	mov    0x4(%ebx),%dl
5493b3:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
5493b7:	66 89 4d aa          	mov    %cx,-0x56(%ebp)
5493bb:	0f b7 45 aa          	movzwl -0x56(%ebp),%eax
5493bf:	c1 f8 08             	sar    $0x8,%eax
5493c2:	24 ff                	and    $0xff,%al
5493c4:	88 46 04             	mov    %al,0x4(%esi)
5493c7:	8a 55 aa             	mov    -0x56(%ebp),%dl
5493ca:	80 e2 ff             	and    $0xff,%dl
5493cd:	88 56 05             	mov    %dl,0x5(%esi)
5493d0:	e9 d5 01 00 00       	jmp    0x5495aa
5493d5:	66 83 7d ac 00       	cmpw   $0x0,-0x54(%ebp)
5493da:	75 44                	jne    0x549420
5493dc:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
5493e0:	c1 f9 08             	sar    $0x8,%ecx
5493e3:	80 e1 ff             	and    $0xff,%cl
5493e6:	88 0e                	mov    %cl,(%esi)
5493e8:	8a 47 02             	mov    0x2(%edi),%al
5493eb:	24 ff                	and    $0xff,%al
5493ed:	88 46 01             	mov    %al,0x1(%esi)
5493f0:	0f b7 57 04          	movzwl 0x4(%edi),%edx
5493f4:	c1 fa 08             	sar    $0x8,%edx
5493f7:	80 e2 ff             	and    $0xff,%dl
5493fa:	88 56 02             	mov    %dl,0x2(%esi)
5493fd:	8a 4f 04             	mov    0x4(%edi),%cl
549400:	80 e1 ff             	and    $0xff,%cl
549403:	88 4e 03             	mov    %cl,0x3(%esi)
549406:	0f b7 47 06          	movzwl 0x6(%edi),%eax
54940a:	c1 f8 08             	sar    $0x8,%eax
54940d:	24 ff                	and    $0xff,%al
54940f:	88 46 04             	mov    %al,0x4(%esi)
549412:	8a 57 06             	mov    0x6(%edi),%dl
549415:	80 e2 ff             	and    $0xff,%dl
549418:	88 56 05             	mov    %dl,0x5(%esi)
54941b:	e9 8a 01 00 00       	jmp    0x5495aa
549420:	33 c0                	xor    %eax,%eax
549422:	8b 4d 08             	mov    0x8(%ebp),%ecx
549425:	8a 43 01             	mov    0x1(%ebx),%al
549428:	8b 55 0c             	mov    0xc(%ebp),%edx
54942b:	d3 f8                	sar    %cl,%eax
54942d:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
549430:	33 c0                	xor    %eax,%eax
549432:	8a 03                	mov    (%ebx),%al
549434:	66 8b 14 41          	mov    (%ecx,%eax,2),%dx
549438:	66 89 55 a8          	mov    %dx,-0x58(%ebp)
54943c:	0f b7 4d a8          	movzwl -0x58(%ebp),%ecx
549440:	0f b7 45 ac          	movzwl -0x54(%ebp),%eax
549444:	0f af c8             	imul   %eax,%ecx
549447:	0f b7 55 ac          	movzwl -0x54(%ebp),%edx
54944b:	b8 ff ff 00 00       	mov    $0xffff,%eax
549450:	2b c2                	sub    %edx,%eax
549452:	8b 55 24             	mov    0x24(%ebp),%edx
549455:	0f b7 52 02          	movzwl 0x2(%edx),%edx
549459:	f7 ea                	imul   %edx
54945b:	03 c8                	add    %eax,%ecx
54945d:	81 c1 00 80 00 00    	add    $0x8000,%ecx
549463:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
549466:	8b 45 a4             	mov    -0x5c(%ebp),%eax
549469:	c1 e8 10             	shr    $0x10,%eax
54946c:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
54946f:	03 c1                	add    %ecx,%eax
549471:	c1 e8 10             	shr    $0x10,%eax
549474:	0f b7 d0             	movzwl %ax,%edx
549477:	8b 4d 08             	mov    0x8(%ebp),%ecx
54947a:	81 e2 ff 00 00 00    	and    $0xff,%edx
549480:	d3 fa                	sar    %cl,%edx
549482:	0f b7 c0             	movzwl %ax,%eax
549485:	8b 4d 10             	mov    0x10(%ebp),%ecx
549488:	c1 f8 08             	sar    $0x8,%eax
54948b:	8b 14 91             	mov    (%ecx,%edx,4),%edx
54948e:	66 8b 04 42          	mov    (%edx,%eax,2),%ax
549492:	0f b7 d0             	movzwl %ax,%edx
549495:	c1 fa 08             	sar    $0x8,%edx
549498:	24 ff                	and    $0xff,%al
54949a:	80 e2 ff             	and    $0xff,%dl
54949d:	88 16                	mov    %dl,(%esi)
54949f:	88 46 01             	mov    %al,0x1(%esi)
5494a2:	33 c0                	xor    %eax,%eax
5494a4:	8b 4d 08             	mov    0x8(%ebp),%ecx
5494a7:	8a 43 03             	mov    0x3(%ebx),%al
5494aa:	8b 55 0c             	mov    0xc(%ebp),%edx
5494ad:	d3 f8                	sar    %cl,%eax
5494af:	33 c9                	xor    %ecx,%ecx
5494b1:	8a 4b 02             	mov    0x2(%ebx),%cl
5494b4:	8b 04 82             	mov    (%edx,%eax,4),%eax
5494b7:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
5494bb:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
5494bf:	0f b7 55 a8          	movzwl -0x58(%ebp),%edx
5494c3:	0f b7 4d ac          	movzwl -0x54(%ebp),%ecx
5494c7:	0f af d1             	imul   %ecx,%edx
5494ca:	0f b7 45 ac          	movzwl -0x54(%ebp),%eax
5494ce:	b9 ff ff 00 00       	mov    $0xffff,%ecx
5494d3:	2b c8                	sub    %eax,%ecx
5494d5:	8b 45 24             	mov    0x24(%ebp),%eax
5494d8:	0f b7 40 04          	movzwl 0x4(%eax),%eax
5494dc:	0f af c8             	imul   %eax,%ecx
5494df:	03 d1                	add    %ecx,%edx
5494e1:	81 c2 00 80 00 00    	add    $0x8000,%edx
5494e7:	89 55 a0             	mov    %edx,-0x60(%ebp)
5494ea:	8b 45 a0             	mov    -0x60(%ebp),%eax
5494ed:	c1 e8 10             	shr    $0x10,%eax
5494f0:	8b 55 a0             	mov    -0x60(%ebp),%edx
5494f3:	03 c2                	add    %edx,%eax
5494f5:	c1 e8 10             	shr    $0x10,%eax
5494f8:	0f b7 d0             	movzwl %ax,%edx
5494fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
5494fe:	81 e2 ff 00 00 00    	and    $0xff,%edx
549504:	d3 fa                	sar    %cl,%edx
549506:	0f b7 c0             	movzwl %ax,%eax
549509:	8b 4d 10             	mov    0x10(%ebp),%ecx
54950c:	c1 f8 08             	sar    $0x8,%eax
54950f:	8b 14 91             	mov    (%ecx,%edx,4),%edx
549512:	66 8b 04 42          	mov    (%edx,%eax,2),%ax
549516:	0f b7 c8             	movzwl %ax,%ecx
549519:	c1 f9 08             	sar    $0x8,%ecx
54951c:	24 ff                	and    $0xff,%al
54951e:	80 e1 ff             	and    $0xff,%cl
549521:	88 4e 02             	mov    %cl,0x2(%esi)
549524:	88 46 03             	mov    %al,0x3(%esi)
549527:	33 c0                	xor    %eax,%eax
549529:	8b 4d 08             	mov    0x8(%ebp),%ecx
54952c:	8a 43 05             	mov    0x5(%ebx),%al
54952f:	8b 55 0c             	mov    0xc(%ebp),%edx
549532:	d3 f8                	sar    %cl,%eax
549534:	8b 04 82             	mov    (%edx,%eax,4),%eax
549537:	33 d2                	xor    %edx,%edx
549539:	8a 53 04             	mov    0x4(%ebx),%dl
54953c:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
549540:	66 89 4d a8          	mov    %cx,-0x58(%ebp)
549544:	0f b7 45 a8          	movzwl -0x58(%ebp),%eax
549548:	0f b7 55 ac          	movzwl -0x54(%ebp),%edx
54954c:	f7 ea                	imul   %edx
54954e:	0f b7 4d ac          	movzwl -0x54(%ebp),%ecx
549552:	ba ff ff 00 00       	mov    $0xffff,%edx
549557:	2b d1                	sub    %ecx,%edx
549559:	8b 4d 24             	mov    0x24(%ebp),%ecx
54955c:	0f b7 49 06          	movzwl 0x6(%ecx),%ecx
549560:	0f af d1             	imul   %ecx,%edx
549563:	03 c2                	add    %edx,%eax
549565:	05 00 80 00 00       	add    $0x8000,%eax
54956a:	89 45 9c             	mov    %eax,-0x64(%ebp)
54956d:	8b 45 9c             	mov    -0x64(%ebp),%eax
549570:	c1 e8 10             	shr    $0x10,%eax
549573:	8b 55 9c             	mov    -0x64(%ebp),%edx
549576:	03 c2                	add    %edx,%eax
549578:	c1 e8 10             	shr    $0x10,%eax
54957b:	0f b7 d0             	movzwl %ax,%edx
54957e:	8b 4d 08             	mov    0x8(%ebp),%ecx