541099:	4b                   	dec    %ebx
54109a:	75 b1                	jne    0x54104d
54109c:	eb 79                	jmp    0x541117
54109e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5410a1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410a4:	8b 08                	mov    (%eax),%ecx
5410a6:	ff 11                	call   *(%ecx)
5410a8:	8b f0                	mov    %eax,%esi
5410aa:	8b 5d b8             	mov    -0x48(%ebp),%ebx
5410ad:	85 db                	test   %ebx,%ebx
5410af:	7c 66                	jl     0x541117
5410b1:	43                   	inc    %ebx
5410b2:	33 ff                	xor    %edi,%edi
5410b4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5410b7:	e8 4c 68 0b 00       	call   0x5f7908
5410bc:	84 c0                	test   %al,%al
5410be:	74 29                	je     0x5410e9
5410c0:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5410c3:	8b d7                	mov    %edi,%edx
5410c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5410c8:	e8 7f ae 0b 00       	call   0x5fbf4c
5410cd:	3c ff                	cmp    $0xff,%al
5410cf:	73 18                	jae    0x5410e9
5410d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410d4:	8b 10                	mov    (%eax),%edx
5410d6:	ff 52 0c             	call   *0xc(%edx)
5410d9:	f7 6d c4             	imull  -0x3c(%ebp)
5410dc:	03 c7                	add    %edi,%eax
5410de:	8b 55 e0             	mov    -0x20(%ebp),%edx
5410e1:	8a 4d c8             	mov    -0x38(%ebp),%cl
5410e4:	88 0c 02             	mov    %cl,(%edx,%eax,1)
5410e7:	eb 27                	jmp    0x541110
5410e9:	8a 46 02             	mov    0x2(%esi),%al
5410ec:	c1 e0 10             	shl    $0x10,%eax
5410ef:	66 8b 06             	mov    (%esi),%ax
5410f2:	50                   	push   %eax
5410f3:	8b 45 c0             	mov    -0x40(%ebp),%eax
5410f6:	e8 a5 ea ff ff       	call   0x53fba0
5410fb:	50                   	push   %eax
5410fc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410ff:	8b 10                	mov    (%eax),%edx
541101:	ff 52 0c             	call   *0xc(%edx)
541104:	f7 6d c4             	imull  -0x3c(%ebp)
541107:	03 c7                	add    %edi,%eax
541109:	8b 55 e0             	mov    -0x20(%ebp),%edx
54110c:	59                   	pop    %ecx
54110d:	88 0c 02             	mov    %cl,(%edx,%eax,1)
541110:	83 c6 03             	add    $0x3,%esi
541113:	47                   	inc    %edi
541114:	4b                   	dec    %ebx
541115:	75 9d                	jne    0x5410b4
541117:	ff 45 c4             	incl   -0x3c(%ebp)
54111a:	ff 4d b4             	decl   -0x4c(%ebp)
54111d:	0f 85 04 ff ff ff    	jne    0x541027
541123:	e9 17 01 00 00       	jmp    0x54123f
541128:	8d 85 6c fc ff ff    	lea    -0x394(%ebp),%eax
54112e:	50                   	push   %eax
54112f:	33 c9                	xor    %ecx,%ecx
541131:	33 d2                	xor    %edx,%edx
541133:	33 c0                	xor    %eax,%eax
541135:	e8 d6 81 06 00       	call   0x5a9310
54113a:	66 8b 85 6c fc ff ff 	mov    -0x394(%ebp),%ax
541141:	66 89 85 a7 fc ff ff 	mov    %ax,-0x359(%ebp)
541148:	8a 85 6e fc ff ff    	mov    -0x392(%ebp),%al
54114e:	88 85 a9 fc ff ff    	mov    %al,-0x357(%ebp)
541154:	8d 85 6c fc ff ff    	lea    -0x394(%ebp),%eax
54115a:	50                   	push   %eax
54115b:	b1 ff                	mov    $0xff,%cl
54115d:	b2 ff                	mov    $0xff,%dl
54115f:	b0 ff                	mov    $0xff,%al
541161:	e8 aa 81 06 00       	call   0x5a9310
541166:	66 8b 85 6c fc ff ff 	mov    -0x394(%ebp),%ax
54116d:	66 89 85 aa fc ff ff 	mov    %ax,-0x356(%ebp)
541174:	8a 85 6e fc ff ff    	mov    -0x392(%ebp),%al
54117a:	88 85 ac fc ff ff    	mov    %al,-0x354(%ebp)
541180:	85 db                	test   %ebx,%ebx
541182:	0f 8c b7 00 00 00    	jl     0x54123f
541188:	43                   	inc    %ebx
541189:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
54118c:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
541193:	8b 55 c4             	mov    -0x3c(%ebp),%edx
541196:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541199:	8b 08                	mov    (%eax),%ecx
54119b:	ff 11                	call   *(%ecx)
54119d:	8b f0                	mov    %eax,%esi
54119f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5411a2:	8b 10                	mov    (%eax),%edx
5411a4:	ff 52 0c             	call   *0xc(%edx)
5411a7:	f7 6d c4             	imull  -0x3c(%ebp)
5411aa:	8b 55 e0             	mov    -0x20(%ebp),%edx
5411ad:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5411b0:	33 ff                	xor    %edi,%edi
5411b2:	eb 73                	jmp    0x541227
5411b4:	8a 06                	mov    (%esi),%al
5411b6:	24 80                	and    $0x80,%al
5411b8:	25 ff 00 00 00       	and    $0xff,%eax
5411bd:	c1 e8 07             	shr    $0x7,%eax
5411c0:	88 03                	mov    %al,(%ebx)
5411c2:	43                   	inc    %ebx
5411c3:	8a 06                	mov    (%esi),%al
5411c5:	24 40                	and    $0x40,%al
5411c7:	25 ff 00 00 00       	and    $0xff,%eax
5411cc:	c1 e8 06             	shr    $0x6,%eax
5411cf:	88 03                	mov    %al,(%ebx)
5411d1:	43                   	inc    %ebx
5411d2:	8a 06                	mov    (%esi),%al
5411d4:	24 20                	and    $0x20,%al
5411d6:	25 ff 00 00 00       	and    $0xff,%eax
5411db:	c1 e8 05             	shr    $0x5,%eax
5411de:	88 03                	mov    %al,(%ebx)
5411e0:	43                   	inc    %ebx
5411e1:	8a 06                	mov    (%esi),%al
5411e3:	24 10                	and    $0x10,%al
5411e5:	25 ff 00 00 00       	and    $0xff,%eax
5411ea:	c1 e8 04             	shr    $0x4,%eax
5411ed:	88 03                	mov    %al,(%ebx)
5411ef:	43                   	inc    %ebx
5411f0:	8a 06                	mov    (%esi),%al
5411f2:	24 08                	and    $0x8,%al
5411f4:	25 ff 00 00 00       	and    $0xff,%eax
5411f9:	c1 e8 03             	shr    $0x3,%eax
5411fc:	88 03                	mov    %al,(%ebx)
5411fe:	43                   	inc    %ebx
5411ff:	8a 06                	mov    (%esi),%al
541201:	24 04                	and    $0x4,%al
541203:	25 ff 00 00 00       	and    $0xff,%eax
541208:	c1 e8 02             	shr    $0x2,%eax
54120b:	88 03                	mov    %al,(%ebx)
54120d:	43                   	inc    %ebx
54120e:	8a 06                	mov    (%esi),%al
541210:	24 02                	and    $0x2,%al
541212:	25 ff 00 00 00       	and    $0xff,%eax
541217:	d1 e8                	shr    $1,%eax
541219:	88 03                	mov    %al,(%ebx)
54121b:	43                   	inc    %ebx
54121c:	8a 06                	mov    (%esi),%al
54121e:	24 01                	and    $0x1,%al
541220:	88 03                	mov    %al,(%ebx)
541222:	43                   	inc    %ebx
541223:	46                   	inc    %esi
541224:	83 c7 08             	add    $0x8,%edi
541227:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54122a:	8b 10                	mov    (%eax),%edx
54122c:	ff 52 0c             	call   *0xc(%edx)
54122f:	3b f8                	cmp    %eax,%edi
541231:	7c 81                	jl     0x5411b4
541233:	ff 45 c4             	incl   -0x3c(%ebp)
541236:	ff 4d b4             	decl   -0x4c(%ebp)
541239:	0f 85 54 ff ff ff    	jne    0x541193
54123f:	8b 45 c8             	mov    -0x38(%ebp),%eax
541242:	48                   	dec    %eax
541243:	85 c0                	test   %eax,%eax
541245:	7c 1c                	jl     0x541263
541247:	40                   	inc    %eax
541248:	89 45 b4             	mov    %eax,-0x4c(%ebp)
54124b:	8d 9d a9 fc ff ff    	lea    -0x357(%ebp),%ebx
541251:	8d 53 fe             	lea    -0x2(%ebx),%edx
541254:	8b c3                	mov    %ebx,%eax
541256:	e8 21 82 06 00       	call   0x5a947c
54125b:	83 c3 03             	add    $0x3,%ebx
54125e:	ff 4d b4             	decl   -0x4c(%ebp)
541261:	75 ee                	jne    0x541251
541263:	8b 45 08             	mov    0x8(%ebp),%eax
541266:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
54126b:	74 13                	je     0x541280
54126d:	8b 5d 08             	mov    0x8(%ebp),%ebx
541270:	8b 55 08             	mov    0x8(%ebp),%edx
541273:	8b 52 08             	mov    0x8(%edx),%edx
541276:	b9 1e 00 00 00       	mov    $0x1e,%ecx
54127b:	8b 43 04             	mov    0x4(%ebx),%eax
54127e:	ff 13                	call   *(%ebx)
541280:	8b 45 08             	mov    0x8(%ebp),%eax
541283:	8b 40 28             	mov    0x28(%eax),%eax
541286:	80 38 00             	cmpb   $0x0,(%eax)
541289:	74 29                	je     0x5412b4
54128b:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
54128f:	74 08                	je     0x541299
541291:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541294:	e8 df 27 ec ff       	call   0x403a78
541299:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
54129d:	74 08                	je     0x5412a7
54129f:	8b 45 c0             	mov    -0x40(%ebp),%eax
5412a2:	e8 d1 27 ec ff       	call   0x403a78
5412a7:	8b 45 e0             	mov    -0x20(%ebp),%eax
5412aa:	e8 1d 15 ec ff       	call   0x4027cc
5412af:	e9 a4 04 00 00       	jmp    0x541758
5412b4:	8b 45 f4             	mov    -0xc(%ebp),%eax
5412b7:	8b 00                	mov    (%eax),%eax
5412b9:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
5412bf:	e8 54 3a ec ff       	call   0x404d18
5412c4:	8b d0                	mov    %eax,%edx
5412c6:	8d 45 a7             	lea    -0x59(%ebp),%eax
5412c9:	b9 06 00 00 00       	mov    $0x6,%ecx
5412ce:	e8 ed 6b ec ff       	call   0x407ec0
5412d3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5412d6:	8b 10                	mov    (%eax),%edx
5412d8:	ff 52 0c             	call   *0xc(%edx)
5412db:	66 89 45 ad          	mov    %ax,-0x53(%ebp)
5412df:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5412e2:	8b 10                	mov    (%eax),%edx
5412e4:	ff 52 08             	call   *0x8(%edx)
5412e7:	66 89 45 af          	mov    %ax,-0x51(%ebp)
5412eb:	8a 45 bc             	mov    -0x44(%ebp),%al
5412ee:	48                   	dec    %eax
5412ef:	8b d0                	mov    %eax,%edx
5412f1:	c1 e0 04             	shl    $0x4,%eax
5412f4:	0a d0                	or     %al,%dl
5412f6:	80 ca 80             	or     $0x80,%dl
5412f9:	88 55 b1             	mov    %dl,-0x4f(%ebp)
5412fc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5412ff:	8b 10                	mov    (%eax),%edx
541301:	ff 52 10             	call   *0x10(%edx)
541304:	3c 05                	cmp    $0x5,%al
541306:	75 23                	jne    0x54132b
541308:	8b 45 f4             	mov    -0xc(%ebp),%eax
54130b:	8b 00                	mov    (%eax),%eax
54130d:	8a 90 a6 00 00 00    	mov    0xa6(%eax),%dl
541313:	c1 e2 10             	shl    $0x10,%edx
541316:	66 8b 90 a4 00 00 00 	mov    0xa4(%eax),%dx
54131d:	52                   	push   %edx
54131e:	8b 45 c0             	mov    -0x40(%ebp),%eax
541321:	e8 7a e8 ff ff       	call   0x53fba0
541326:	88 45 b2             	mov    %al,-0x4e(%ebp)
541329:	eb 2c                	jmp    0x541357
54132b:	8b 45 f4             	mov    -0xc(%ebp),%eax
54132e:	8b 00                	mov    (%eax),%eax
541330:	8a 90 a6 00 00 00    	mov    0xa6(%eax),%dl
541336:	c1 e2 10             	shl    $0x10,%edx
541339:	66 8b 90 a4 00 00 00 	mov    0xa4(%eax),%dx
541340:	52                   	push   %edx
541341:	8d 85 a7 fc ff ff    	lea    -0x359(%ebp),%eax
541347:	8b 4d c8             	mov    -0x38(%ebp),%ecx
54134a:	ba ff 00 00 00       	mov    $0xff,%edx
54134f:	e8 a8 aa 06 00       	call   0x5abdfc
541354:	88 45 b2             	mov    %al,-0x4e(%ebp)
541357:	c6 45 b3 00          	movb   $0x0,-0x4d(%ebp)
54135b:	6a 0d                	push   $0xd
54135d:	8d 4d a7             	lea    -0x59(%ebp),%ecx
541360:	8b 55 08             	mov    0x8(%ebp),%edx
541363:	8b 52 28             	mov    0x28(%edx),%edx
541366:	8b 45 fc             	mov    -0x4(%ebp),%eax
541369:	e8 8e 4b 0b 00       	call   0x5f5efc
54136e:	8b 45 f8             	mov    -0x8(%ebp),%eax
541371:	e8 92 65 0b 00       	call   0x5f7908
541376:	84 c0                	test   %al,%al
541378:	74 1e                	je     0x541398
54137a:	8b 45 c8             	mov    -0x38(%ebp),%eax
54137d:	40                   	inc    %eax
54137e:	8d 04 40             	lea    (%eax,%eax,2),%eax
541381:	50                   	push   %eax
541382:	8d 8d a7 fc ff ff    	lea    -0x359(%ebp),%ecx
541388:	8b 55 08             	mov    0x8(%ebp),%edx
54138b:	8b 52 28             	mov    0x28(%edx),%edx
54138e:	8b 45 fc             	mov    -0x4(%ebp),%eax
541391:	e8 66 4b 0b 00       	call   0x5f5efc
541396:	eb 1b                	jmp    0x5413b3
541398:	8b 45 c8             	mov    -0x38(%ebp),%eax
54139b:	8d 04 40             	lea    (%eax,%eax,2),%eax
54139e:	50                   	push   %eax
54139f:	8d 8d a7 fc ff ff    	lea    -0x359(%ebp),%ecx
5413a5:	8b 55 08             	mov    0x8(%ebp),%edx
5413a8:	8b 52 28             	mov    0x28(%edx),%edx
5413ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
5413ae:	e8 49 4b 0b 00       	call   0x5f5efc
5413b3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5413b6:	8b 00                	mov    (%eax),%eax
5413b8:	8a 80 94 00 00 00    	mov    0x94(%eax),%al
5413be:	0c 08                	or     $0x8,%al
5413c0:	88 45 e7             	mov    %al,-0x19(%ebp)
5413c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5413c6:	8b 00                	mov    (%eax),%eax
5413c8:	66 8b 80 90 00 00 00 	mov    0x90(%eax),%ax
5413cf:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
5413d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
5413d6:	e8 2d 65 0b 00       	call   0x5f7908
5413db:	84 c0                	test   %al,%al
5413dd:	74 08                	je     0x5413e7
5413df:	8a 45 c8             	mov    -0x38(%ebp),%al
5413e2:	88 45 ea             	mov    %al,-0x16(%ebp)
5413e5:	eb 5b                	jmp    0x541442
5413e7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5413ea:	8b 10                	mov    (%eax),%edx
5413ec:	ff 52 10             	call   *0x10(%edx)
5413ef:	3c 05                	cmp    $0x5,%al
5413f1:	75 23                	jne    0x541416
5413f3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5413f6:	8b 00                	mov    (%eax),%eax
5413f8:	8a 90 97 00 00 00    	mov    0x97(%eax),%dl
5413fe:	c1 e2 10             	shl    $0x10,%edx
541401:	66 8b 90 95 00 00 00 	mov    0x95(%eax),%dx
541408:	52                   	push   %edx
541409:	8b 45 c0             	mov    -0x40(%ebp),%eax
54140c:	e8 8f e7 ff ff       	call   0x53fba0
541411:	88 45 ea             	mov    %al,-0x16(%ebp)
541414:	eb 2c                	jmp    0x541442
541416:	8b 45 f4             	mov    -0xc(%ebp),%eax
541419:	8b 00                	mov    (%eax),%eax
54141b:	8a 90 97 00 00 00    	mov    0x97(%eax),%dl
541421:	c1 e2 10             	shl    $0x10,%edx
541424:	66 8b 90 95 00 00 00 	mov    0x95(%eax),%dx
54142b:	52                   	push   %edx
54142c:	8d 85 a7 fc ff ff    	lea    -0x359(%ebp),%eax
541432:	8b 4d c8             	mov    -0x38(%ebp),%ecx
541435:	ba ff 00 00 00       	mov    $0xff,%edx
54143a:	e8 bd a9 06 00       	call   0x5abdfc
54143f:	88 45 ea             	mov    %al,-0x16(%ebp)
541442:	c6 45 df 21          	movb   $0x21,-0x21(%ebp)
541446:	6a 01                	push   $0x1
541448:	8d 4d df             	lea    -0x21(%ebp),%ecx
54144b:	8b 55 08             	mov    0x8(%ebp),%edx
54144e:	8b 52 28             	mov    0x28(%edx),%edx
541451:	8b 45 fc             	mov    -0x4(%ebp),%eax
541454:	e8 a3 4a 0b 00       	call   0x5f5efc
541459:	c6 45 df f9          	movb   $0xf9,-0x21(%ebp)
54145d:	6a 01                	push   $0x1
54145f:	8d 4d df             	lea    -0x21(%ebp),%ecx
541462:	8b 55 08             	mov    0x8(%ebp),%edx
541465:	8b 52 28             	mov    0x28(%edx),%edx
541468:	8b 45 fc             	mov    -0x4(%ebp),%eax
54146b:	e8 8c 4a 0b 00       	call   0x5f5efc
541470:	c6 45 df 04          	movb   $0x4,-0x21(%ebp)
541474:	6a 01                	push   $0x1
541476:	8d 4d df             	lea    -0x21(%ebp),%ecx
541479:	8b 55 08             	mov    0x8(%ebp),%edx
54147c:	8b 52 28             	mov    0x28(%edx),%edx
54147f:	8b 45 fc             	mov    -0x4(%ebp),%eax
541482:	e8 75 4a 0b 00       	call   0x5f5efc
541487:	6a 04                	push   $0x4
541489:	8d 4d e7             	lea    -0x19(%ebp),%ecx
54148c:	8b 55 08             	mov    0x8(%ebp),%edx
54148f:	8b 52 28             	mov    0x28(%edx),%edx
541492:	8b 45 fc             	mov    -0x4(%ebp),%eax
541495:	e8 62 4a 0b 00       	call   0x5f5efc
54149a:	c6 45 df 00          	movb   $0x0,-0x21(%ebp)
54149e:	6a 01                	push   $0x1
5414a0:	8d 4d df             	lea    -0x21(%ebp),%ecx
5414a3:	8b 55 08             	mov    0x8(%ebp),%edx
5414a6:	8b 52 28             	mov    0x28(%edx),%edx
5414a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5414ac:	e8 4b 4a 0b 00       	call   0x5f5efc
5414b1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5414b4:	8b 00                	mov    (%eax),%eax
5414b6:	66 8b 80 88 00 00 00 	mov    0x88(%eax),%ax
5414bd:	66 89 45 eb          	mov    %ax,-0x15(%ebp)
5414c1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5414c4:	8b 00                	mov    (%eax),%eax
5414c6:	66 8b 80 8c 00 00 00 	mov    0x8c(%eax),%ax
5414cd:	66 89 45 ed          	mov    %ax,-0x13(%ebp)
5414d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5414d4:	8b 10                	mov    (%eax),%edx