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
5414d6:	ff 52 0c             	call   *0xc(%edx)
5414d9:	66 89 45 ef          	mov    %ax,-0x11(%ebp)
5414dd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5414e0:	8b 10                	mov    (%eax),%edx
5414e2:	ff 52 08             	call   *0x8(%edx)
5414e5:	66 89 45 f1          	mov    %ax,-0xf(%ebp)
5414e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5414ec:	8b 00                	mov    (%eax),%eax
5414ee:	8a 80 98 00 00 00    	mov    0x98(%eax),%al
5414f4:	c1 e0 06             	shl    $0x6,%eax
5414f7:	88 45 f3             	mov    %al,-0xd(%ebp)
5414fa:	c6 45 df 2c          	movb   $0x2c,-0x21(%ebp)
5414fe:	6a 01                	push   $0x1
541500:	8d 4d df             	lea    -0x21(%ebp),%ecx
541503:	8b 55 08             	mov    0x8(%ebp),%edx
541506:	8b 52 28             	mov    0x28(%edx),%edx
541509:	8b 45 fc             	mov    -0x4(%ebp),%eax
54150c:	e8 eb 49 0b 00       	call   0x5f5efc
541511:	6a 09                	push   $0x9
541513:	8d 4d eb             	lea    -0x15(%ebp),%ecx
541516:	8b 55 08             	mov    0x8(%ebp),%edx
541519:	8b 52 28             	mov    0x28(%edx),%edx
54151c:	8b 45 fc             	mov    -0x4(%ebp),%eax
54151f:	e8 d8 49 0b 00       	call   0x5f5efc
541524:	8b 45 08             	mov    0x8(%ebp),%eax
541527:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
54152c:	74 13                	je     0x541541
54152e:	8b 5d 08             	mov    0x8(%ebp),%ebx
541531:	8b 55 08             	mov    0x8(%ebp),%edx
541534:	8b 52 08             	mov    0x8(%edx),%edx
541537:	b9 46 00 00 00       	mov    $0x46,%ecx
54153c:	8b 43 04             	mov    0x4(%ebx),%eax
54153f:	ff 13                	call   *(%ebx)
541541:	8b 45 08             	mov    0x8(%ebp),%eax
541544:	8b 40 28             	mov    0x28(%eax),%eax
541547:	80 38 00             	cmpb   $0x0,(%eax)
54154a:	74 29                	je     0x541575
54154c:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
541550:	74 08                	je     0x54155a
541552:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541555:	e8 1e 25 ec ff       	call   0x403a78
54155a:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
54155e:	74 08                	je     0x541568
541560:	8b 45 c0             	mov    -0x40(%ebp),%eax
541563:	e8 10 25 ec ff       	call   0x403a78
541568:	8b 45 e0             	mov    -0x20(%ebp),%eax
54156b:	e8 5c 12 ec ff       	call   0x4027cc
541570:	e9 e3 01 00 00       	jmp    0x541758
541575:	8b 45 f4             	mov    -0xc(%ebp),%eax
541578:	8b 00                	mov    (%eax),%eax
54157a:	83 b8 b8 00 00 00 00 	cmpl   $0x0,0xb8(%eax)
541581:	74 38                	je     0x5415bb
541583:	8b 45 f4             	mov    -0xc(%ebp),%eax
541586:	8b 00                	mov    (%eax),%eax
541588:	8a 80 98 00 00 00    	mov    0x98(%eax),%al
54158e:	50                   	push   %eax
54158f:	8b 45 e0             	mov    -0x20(%ebp),%eax
541592:	50                   	push   %eax
541593:	8b 45 bc             	mov    -0x44(%ebp),%eax
541596:	50                   	push   %eax
541597:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54159a:	8b 10                	mov    (%eax),%edx
54159c:	ff 52 0c             	call   *0xc(%edx)
54159f:	50                   	push   %eax
5415a0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5415a3:	8b 10                	mov    (%eax),%edx
5415a5:	ff 52 08             	call   *0x8(%edx)
5415a8:	8b d0                	mov    %eax,%edx
5415aa:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5415ad:	8b 1b                	mov    (%ebx),%ebx
5415af:	8b 45 fc             	mov    -0x4(%ebp),%eax
5415b2:	59                   	pop    %ecx
5415b3:	ff 93 b8 00 00 00    	call   *0xb8(%ebx)
5415b9:	eb 73                	jmp    0x54162e
5415bb:	a1 38 6f 6a 00       	mov    0x6a6f38,%eax
5415c0:	83 38 00             	cmpl   $0x0,(%eax)
5415c3:	74 37                	je     0x5415fc
5415c5:	8b 45 f4             	mov    -0xc(%ebp),%eax
5415c8:	8b 00                	mov    (%eax),%eax
5415ca:	8a 80 98 00 00 00    	mov    0x98(%eax),%al
5415d0:	50                   	push   %eax
5415d1:	8b 45 e0             	mov    -0x20(%ebp),%eax
5415d4:	50                   	push   %eax
5415d5:	8b 45 bc             	mov    -0x44(%ebp),%eax
5415d8:	50                   	push   %eax
5415d9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5415dc:	8b 10                	mov    (%eax),%edx
5415de:	ff 52 0c             	call   *0xc(%edx)
5415e1:	50                   	push   %eax
5415e2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5415e5:	8b 10                	mov    (%eax),%edx
5415e7:	ff 52 08             	call   *0x8(%edx)
5415ea:	8b d0                	mov    %eax,%edx
5415ec:	8b 1d 38 6f 6a 00    	mov    0x6a6f38,%ebx
5415f2:	8b 1b                	mov    (%ebx),%ebx
5415f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5415f7:	59                   	pop    %ecx
5415f8:	ff d3                	call   *%ebx
5415fa:	eb 32                	jmp    0x54162e
5415fc:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
541600:	74 08                	je     0x54160a
541602:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541605:	e8 6e 24 ec ff       	call   0x403a78
54160a:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
54160e:	74 08                	je     0x541618
541610:	8b 45 c0             	mov    -0x40(%ebp),%eax
541613:	e8 60 24 ec ff       	call   0x403a78
541618:	8b 45 e0             	mov    -0x20(%ebp),%eax
54161b:	e8 ac 11 ec ff       	call   0x4027cc
541620:	8b 45 08             	mov    0x8(%ebp),%eax
541623:	8b 40 28             	mov    0x28(%eax),%eax
541626:	c6 00 01             	movb   $0x1,(%eax)
541629:	e9 2a 01 00 00       	jmp    0x541758
54162e:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
541632:	74 08                	je     0x54163c
541634:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541637:	e8 3c 24 ec ff       	call   0x403a78
54163c:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
541640:	74 08                	je     0x54164a
541642:	8b 45 c0             	mov    -0x40(%ebp),%eax
541645:	e8 2e 24 ec ff       	call   0x403a78
54164a:	8b 45 e0             	mov    -0x20(%ebp),%eax
54164d:	e8 7a 11 ec ff       	call   0x4027cc
541652:	c6 45 df 21          	movb   $0x21,-0x21(%ebp)
541656:	6a 01                	push   $0x1
541658:	8d 4d df             	lea    -0x21(%ebp),%ecx
54165b:	8b 55 08             	mov    0x8(%ebp),%edx
54165e:	8b 52 28             	mov    0x28(%edx),%edx
541661:	8b 45 fc             	mov    -0x4(%ebp),%eax
541664:	e8 93 48 0b 00       	call   0x5f5efc
541669:	c6 45 df fe          	movb   $0xfe,-0x21(%ebp)
54166d:	6a 01                	push   $0x1
54166f:	8d 4d df             	lea    -0x21(%ebp),%ecx
541672:	8b 55 08             	mov    0x8(%ebp),%edx
541675:	8b 52 28             	mov    0x28(%edx),%edx
541678:	8b 45 fc             	mov    -0x4(%ebp),%eax
54167b:	e8 7c 48 0b 00       	call   0x5f5efc
541680:	8b 45 f4             	mov    -0xc(%ebp),%eax
541683:	8b 00                	mov    (%eax),%eax
541685:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
54168b:	8b 10                	mov    (%eax),%edx
54168d:	ff 52 14             	call   *0x14(%edx)
541690:	48                   	dec    %eax
541691:	85 c0                	test   %eax,%eax
541693:	7c 78                	jl     0x54170d
541695:	40                   	inc    %eax
541696:	89 45 b4             	mov    %eax,-0x4c(%ebp)
541699:	33 db                	xor    %ebx,%ebx
54169b:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
5416a1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5416a4:	8b 00                	mov    (%eax),%eax
5416a6:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
5416ac:	8b d3                	mov    %ebx,%edx
5416ae:	8b 30                	mov    (%eax),%esi
5416b0:	ff 56 0c             	call   *0xc(%esi)
5416b3:	8b 85 68 fc ff ff    	mov    -0x398(%ebp),%eax
5416b9:	e8 62 34 ec ff       	call   0x404b20
5416be:	88 45 df             	mov    %al,-0x21(%ebp)
5416c1:	6a 01                	push   $0x1
5416c3:	8d 4d df             	lea    -0x21(%ebp),%ecx
5416c6:	8b 55 08             	mov    0x8(%ebp),%edx
5416c9:	8b 52 28             	mov    0x28(%edx),%edx
5416cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5416cf:	e8 28 48 0b 00       	call   0x5f5efc
5416d4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5416d7:	8b 45 f4             	mov    -0xc(%ebp),%eax
5416da:	8b 00                	mov    (%eax),%eax
5416dc:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
5416e2:	8b d3                	mov    %ebx,%edx
5416e4:	8b 30                	mov    (%eax),%esi
5416e6:	ff 56 0c             	call   *0xc(%esi)
5416e9:	33 c0                	xor    %eax,%eax
5416eb:	8a 45 df             	mov    -0x21(%ebp),%al
5416ee:	50                   	push   %eax
5416ef:	8d 45 d8             	lea    -0x28(%ebp),%eax