53342d:	89 86 e0 00 00 00    	mov    %eax,0xe0(%esi)
533433:	5f                   	pop    %edi
533434:	5e                   	pop    %esi
533435:	5d                   	pop    %ebp
533436:	5b                   	pop    %ebx
533437:	c3                   	ret
533438:	8b 5c 24 18          	mov    0x18(%esp),%ebx
53343c:	8b ef                	mov    %edi,%ebp
53343e:	83 e5 0f             	and    $0xf,%ebp
533441:	2b fd                	sub    %ebp,%edi
533443:	83 ff 10             	cmp    $0x10,%edi
533446:	72 0c                	jb     0x533454
533448:	6a 01                	push   $0x1
53344a:	57                   	push   %edi
53344b:	53                   	push   %ebx
53344c:	56                   	push   %esi
53344d:	ff d0                	call   *%eax
53344f:	83 c4 10             	add    $0x10,%esp
533452:	03 df                	add    %edi,%ebx
533454:	85 ed                	test   %ebp,%ebp
533456:	74 11                	je     0x533469
533458:	55                   	push   %ebp
533459:	8d 86 d0 00 00 00    	lea    0xd0(%esi),%eax
53345f:	53                   	push   %ebx
533460:	50                   	push   %eax
533461:	e8 6a f9 09 00       	call   0x5d2dd0
533466:	83 c4 0c             	add    $0xc,%esp
533469:	5f                   	pop    %edi
53346a:	89 ae e0 00 00 00    	mov    %ebp,0xe0(%esi)
533470:	5e                   	pop    %esi
533471:	5d                   	pop    %ebp
533472:	5b                   	pop    %ebx
533473:	c3                   	ret
533474:	cc                   	int3
533475:	cc                   	int3
533476:	cc                   	int3
533477:	cc                   	int3
533478:	cc                   	int3
533479:	cc                   	int3
53347a:	cc                   	int3
53347b:	cc                   	int3
53347c:	cc                   	int3
53347d:	cc                   	int3
53347e:	cc                   	int3
53347f:	cc                   	int3
533480:	b8 f0 00 00 00       	mov    $0xf0,%eax
533485:	c3                   	ret
533486:	cc                   	int3
533487:	cc                   	int3
533488:	cc                   	int3
533489:	cc                   	int3
53348a:	cc                   	int3
53348b:	cc                   	int3
53348c:	cc                   	int3
53348d:	cc                   	int3
53348e:	cc                   	int3
53348f:	cc                   	int3
533490:	b8 20 00 00 00       	mov    $0x20,%eax
533495:	e8 16 e3 09 00       	call   0x5d17b0
53349a:	53                   	push   %ebx
53349b:	55                   	push   %ebp
53349c:	56                   	push   %esi
53349d:	57                   	push   %edi
53349e:	8b 7c 24 34          	mov    0x34(%esp),%edi
5334a2:	b1 38                	mov    $0x38,%cl
5334a4:	8b 07                	mov    (%edi),%eax
5334a6:	8b 57 04             	mov    0x4(%edi),%edx
5334a9:	e8 02 e7 09 00       	call   0x5d1bb0
5334ae:	8b 5f 24             	mov    0x24(%edi),%ebx
5334b1:	8b 6f 0c             	mov    0xc(%edi),%ebp
5334b4:	8b 77 10             	mov    0x10(%edi),%esi
5334b7:	8b 4f 20             	mov    0x20(%edi),%ecx
5334ba:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5334be:	8b 47 08             	mov    0x8(%edi),%eax
5334c1:	89 44 24 10          	mov    %eax,0x10(%esp)
5334c5:	8b 47 18             	mov    0x18(%edi),%eax
5334c8:	89 44 24 20          	mov    %eax,0x20(%esp)
5334cc:	8b 47 1c             	mov    0x1c(%edi),%eax
5334cf:	89 44 24 28          	mov    %eax,0x28(%esp)
5334d3:	8b 47 2c             	mov    0x2c(%edi),%eax
5334d6:	89 54 24 14          	mov    %edx,0x14(%esp)
5334da:	8b 57 14             	mov    0x14(%edi),%edx
5334dd:	89 54 24 24          	mov    %edx,0x24(%esp)
5334e1:	89 5c 24 18          	mov    %ebx,0x18(%esp)
5334e5:	39 44 24 3c          	cmp    %eax,0x3c(%esp)
5334e9:	74 0a                	je     0x5334f5
5334eb:	5f                   	pop    %edi
5334ec:	5e                   	pop    %esi
5334ed:	5d                   	pop    %ebp
5334ee:	33 c0                	xor    %eax,%eax
5334f0:	5b                   	pop    %ebx
5334f1:	83 c4 20             	add    $0x20,%esp
5334f4:	c3                   	ret
5334f5:	8b 47 28             	mov    0x28(%edi),%eax
5334f8:	48                   	dec    %eax
5334f9:	83 f8 06             	cmp    $0x6,%eax
5334fc:	0f 87 89 00 00 00    	ja     0x53358b
533502:	ff 24 85 04 39 53 00 	jmp    *0x533904(,%eax,4)
533509:	0f b6 47 3e          	movzbl 0x3e(%edi),%eax
53350d:	99                   	cltd
53350e:	c1 e0 10             	shl    $0x10,%eax
533511:	09 44 24 14          	or     %eax,0x14(%esp)
533515:	0f b6 47 3d          	movzbl 0x3d(%edi),%eax
533519:	99                   	cltd
53351a:	c1 e0 08             	shl    $0x8,%eax
53351d:	09 44 24 14          	or     %eax,0x14(%esp)
533521:	0f b6 47 3c          	movzbl 0x3c(%edi),%eax
533525:	99                   	cltd
533526:	09 44 24 14          	or     %eax,0x14(%esp)
53352a:	0f b6 47 3b          	movzbl 0x3b(%edi),%eax
53352e:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
533532:	99                   	cltd
533533:	0f a4 c2 18          	shld   $0x18,%eax,%edx
533537:	c1 e0 18             	shl    $0x18,%eax
53353a:	0b d8                	or     %eax,%ebx
53353c:	09 54 24 14          	or     %edx,0x14(%esp)
533540:	eb 04                	jmp    0x533546
533542:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
533546:	0f b6 47 3a          	movzbl 0x3a(%edi),%eax
53354a:	99                   	cltd
53354b:	0f a4 c2 10          	shld   $0x10,%eax,%edx
53354f:	c1 e0 10             	shl    $0x10,%eax
533552:	0b d8                	or     %eax,%ebx
533554:	09 54 24 14          	or     %edx,0x14(%esp)
533558:	eb 04                	jmp    0x53355e
53355a:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
53355e:	0f b6 47 39          	movzbl 0x39(%edi),%eax
533562:	99                   	cltd
533563:	0f a4 c2 08          	shld   $0x8,%eax,%edx
533567:	c1 e0 08             	shl    $0x8,%eax
53356a:	0b d8                	or     %eax,%ebx
53356c:	09 54 24 14          	or     %edx,0x14(%esp)
533570:	eb 04                	jmp    0x533576
533572:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
533576:	0f b6 47 38          	movzbl 0x38(%edi),%eax
53357a:	99                   	cltd
53357b:	0b d8                	or     %eax,%ebx
53357d:	09 54 24 14          	or     %edx,0x14(%esp)
533581:	8b 54 24 24          	mov    0x24(%esp),%edx
533585:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
533589:	eb 04                	jmp    0x53358f
53358b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
53358f:	8b 44 24 18          	mov    0x18(%esp),%eax
533593:	33 cb                	xor    %ebx,%ecx
533595:	33 44 24 14          	xor    0x14(%esp),%eax
533599:	89 44 24 18          	mov    %eax,0x18(%esp)
53359d:	8b 47 30             	mov    0x30(%edi),%eax
5335a0:	85 c0                	test   %eax,%eax
5335a2:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5335a6:	8b 44 24 18          	mov    0x18(%esp),%eax
5335aa:	0f 8e b7 00 00 00    	jle    0x533667
5335b0:	01 74 24 10          	add    %esi,0x10(%esp)
5335b4:	8b da                	mov    %edx,%ebx
5335b6:	13 ea                	adc    %edx,%ebp
5335b8:	c1 eb 13             	shr    $0x13,%ebx
5335bb:	0f a4 f2 0d          	shld   $0xd,%esi,%edx
5335bf:	33 ff                	xor    %edi,%edi
5335c1:	c1 e6 0d             	shl    $0xd,%esi
5335c4:	0b fa                	or     %edx,%edi
5335c6:	0b de                	or     %esi,%ebx
5335c8:	33 fd                	xor    %ebp,%edi
5335ca:	33 5c 24 10          	xor    0x10(%esp),%ebx
5335ce:	8b f0                	mov    %eax,%esi
5335d0:	01 4c 24 20          	add    %ecx,0x20(%esp)
5335d4:	11 44 24 28          	adc    %eax,0x28(%esp)
5335d8:	33 d2                	xor    %edx,%edx
5335da:	0f a4 c8 10          	shld   $0x10,%ecx,%eax
5335de:	c1 ee 10             	shr    $0x10,%esi
5335e1:	0b d0                	or     %eax,%edx
5335e3:	c1 e1 10             	shl    $0x10,%ecx
5335e6:	33 54 24 28          	xor    0x28(%esp),%edx
5335ea:	0b f1                	or     %ecx,%esi
5335ec:	33 74 24 20          	xor    0x20(%esp),%esi
5335f0:	8b c5                	mov    %ebp,%eax
5335f2:	33 ed                	xor    %ebp,%ebp
5335f4:	8b ca                	mov    %edx,%ecx
5335f6:	0b 6c 24 10          	or     0x10(%esp),%ebp
5335fa:	03 c6                	add    %esi,%eax
5335fc:	89 44 24 10          	mov    %eax,0x10(%esp)
533600:	13 ea                	adc    %edx,%ebp
533602:	33 c0                	xor    %eax,%eax
533604:	0f a4 f2 15          	shld   $0x15,%esi,%edx
533608:	c1 e9 0b             	shr    $0xb,%ecx
53360b:	0b c2                	or     %edx,%eax
53360d:	c1 e6 15             	shl    $0x15,%esi
533610:	0b ce                	or     %esi,%ecx
533612:	33 c5                	xor    %ebp,%eax
533614:	33 4c 24 10          	xor    0x10(%esp),%ecx
533618:	8b f7                	mov    %edi,%esi
53361a:	01 5c 24 20          	add    %ebx,0x20(%esp)
53361e:	89 44 24 18          	mov    %eax,0x18(%esp)
533622:	8b 44 24 28          	mov    0x28(%esp),%eax
533626:	13 c7                	adc    %edi,%eax
533628:	c1 ee 0f             	shr    $0xf,%esi
53362b:	0f a4 df 11          	shld   $0x11,%ebx,%edi
53362f:	33 d2                	xor    %edx,%edx
533631:	c1 e3 11             	shl    $0x11,%ebx
533634:	0b d7                	or     %edi,%edx
533636:	0b f3                	or     %ebx,%esi
533638:	33 d0                	xor    %eax,%edx
53363a:	33 74 24 20          	xor    0x20(%esp),%esi
53363e:	33 db                	xor    %ebx,%ebx
533640:	0b 5c 24 20          	or     0x20(%esp),%ebx
533644:	83 6c 24 3c 01       	subl   $0x1,0x3c(%esp)
533649:	89 44 24 20          	mov    %eax,0x20(%esp)
53364d:	8b 44 24 18          	mov    0x18(%esp),%eax
533651:	89 5c 24 28          	mov    %ebx,0x28(%esp)
533655:	0f 85 55 ff ff ff    	jne    0x5335b0
53365b:	8b 7c 24 34          	mov    0x34(%esp),%edi
53365f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
533663:	89 54 24 24          	mov    %edx,0x24(%esp)
533667:	31 6c 24 14          	xor    %ebp,0x14(%esp)
53366b:	33 ed                	xor    %ebp,%ebp
53366d:	31 5c 24 10          	xor    %ebx,0x10(%esp)
533671:	bb ee 00 00 00       	mov    $0xee,%ebx
533676:	83 7f 2c 10          	cmpl   $0x10,0x2c(%edi)
53367a:	74 05                	je     0x533681
53367c:	bb ff 00 00 00       	mov    $0xff,%ebx
533681:	8b 47 34             	mov    0x34(%edi),%eax
533684:	33 5c 24 20          	xor    0x20(%esp),%ebx
533688:	33 6c 24 28          	xor    0x28(%esp),%ebp
53368c:	85 c0                	test   %eax,%eax
53368e:	89 44 24 28          	mov    %eax,0x28(%esp)
533692:	8b 44 24 18          	mov    0x18(%esp),%eax
533696:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
53369a:	0f 8e b7 00 00 00    	jle    0x533757
5336a0:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
5336a4:	eb 04                	jmp    0x5336aa
5336a6:	8b 44 24 18          	mov    0x18(%esp),%eax
5336aa:	01 74 24 10          	add    %esi,0x10(%esp)
5336ae:	8b da                	mov    %edx,%ebx
5336b0:	11 54 24 14          	adc    %edx,0x14(%esp)
5336b4:	33 ff                	xor    %edi,%edi
5336b6:	0f a4 f2 0d          	shld   $0xd,%esi,%edx
5336ba:	c1 eb 13             	shr    $0x13,%ebx
5336bd:	c1 e6 0d             	shl    $0xd,%esi
5336c0:	0b fa                	or     %edx,%edi
5336c2:	33 7c 24 14          	xor    0x14(%esp),%edi
5336c6:	0b de                	or     %esi,%ebx
5336c8:	33 5c 24 10          	xor    0x10(%esp),%ebx
5336cc:	8b f0                	mov    %eax,%esi
5336ce:	01 4c 24 3c          	add    %ecx,0x3c(%esp)
5336d2:	13 e8                	adc    %eax,%ebp
5336d4:	c1 ee 10             	shr    $0x10,%esi
5336d7:	0f a4 c8 10          	shld   $0x10,%ecx,%eax
5336db:	33 d2                	xor    %edx,%edx
5336dd:	c1 e1 10             	shl    $0x10,%ecx
5336e0:	0b d0                	or     %eax,%edx
5336e2:	8b 44 24 14          	mov    0x14(%esp),%eax
5336e6:	0b f1                	or     %ecx,%esi
5336e8:	33 74 24 3c          	xor    0x3c(%esp),%esi
5336ec:	33 d5                	xor    %ebp,%edx
5336ee:	33 c9                	xor    %ecx,%ecx
5336f0:	0b 4c 24 10          	or     0x10(%esp),%ecx
5336f4:	03 c6                	add    %esi,%eax
5336f6:	89 44 24 10          	mov    %eax,0x10(%esp)
5336fa:	13 ca                	adc    %edx,%ecx
5336fc:	33 c0                	xor    %eax,%eax
5336fe:	89 4c 24 14          	mov    %ecx,0x14(%esp)
533702:	8b ca                	mov    %edx,%ecx
533704:	0f a4 f2 15          	shld   $0x15,%esi,%edx
533708:	c1 e9 0b             	shr    $0xb,%ecx
53370b:	c1 e6 15             	shl    $0x15,%esi
53370e:	0b c2                	or     %edx,%eax
533710:	33 44 24 14          	xor    0x14(%esp),%eax
533714:	0b ce                	or     %esi,%ecx
533716:	33 4c 24 10          	xor    0x10(%esp),%ecx
53371a:	8b f7                	mov    %edi,%esi
53371c:	01 5c 24 3c          	add    %ebx,0x3c(%esp)
533720:	89 44 24 18          	mov    %eax,0x18(%esp)
533724:	13 ef                	adc    %edi,%ebp
533726:	33 d2                	xor    %edx,%edx
533728:	0f a4 df 11          	shld   $0x11,%ebx,%edi
53372c:	c1 ee 0f             	shr    $0xf,%esi
53372f:	c1 e3 11             	shl    $0x11,%ebx
533732:	0b d7                	or     %edi,%edx
533734:	0b f3                	or     %ebx,%esi
533736:	33 d5                	xor    %ebp,%edx
533738:	33 74 24 3c          	xor    0x3c(%esp),%esi
53373c:	8b dd                	mov    %ebp,%ebx
53373e:	33 ed                	xor    %ebp,%ebp
533740:	89 54 24 24          	mov    %edx,0x24(%esp)
533744:	0b 6c 24 3c          	or     0x3c(%esp),%ebp
533748:	83 6c 24 28 01       	subl   $0x1,0x28(%esp)
53374d:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
533751:	0f 85 4f ff ff ff    	jne    0x5336a6
533757:	8b 44 24 38          	mov    0x38(%esp),%eax
53375b:	8b d1                	mov    %ecx,%edx
53375d:	8b 7c 24 38          	mov    0x38(%esp),%edi
533761:	33 d3                	xor    %ebx,%edx
533763:	8b 5c 24 18          	mov    0x18(%esp),%ebx
533767:	33 d6                	xor    %esi,%edx
533769:	33 54 24 10          	xor    0x10(%esp),%edx
53376d:	33 dd                	xor    %ebp,%ebx
53376f:	33 5c 24 24          	xor    0x24(%esp),%ebx
533773:	33 5c 24 14          	xor    0x14(%esp),%ebx
533777:	88 10                	mov    %dl,(%eax)
533779:	8b c2                	mov    %edx,%eax
53377b:	c1 e8 08             	shr    $0x8,%eax
53377e:	88 47 01             	mov    %al,0x1(%edi)
533781:	8b c2                	mov    %edx,%eax
533783:	c1 e8 10             	shr    $0x10,%eax
533786:	88 47 02             	mov    %al,0x2(%edi)
533789:	8b c7                	mov    %edi,%eax
53378b:	8b 7c 24 34          	mov    0x34(%esp),%edi
53378f:	c1 ea 18             	shr    $0x18,%edx
533792:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
533799:	00
53379a:	88 50 03             	mov    %dl,0x3(%eax)
53379d:	8b d0                	mov    %eax,%edx
53379f:	8b c3                	mov    %ebx,%eax
5337a1:	c1 e8 08             	shr    $0x8,%eax
5337a4:	88 42 05             	mov    %al,0x5(%edx)
5337a7:	8b c3                	mov    %ebx,%eax
5337a9:	88 5a 04             	mov    %bl,0x4(%edx)
5337ac:	c1 e8 10             	shr    $0x10,%eax
5337af:	c1 eb 18             	shr    $0x18,%ebx
5337b2:	88 42 06             	mov    %al,0x6(%edx)
5337b5:	88 5a 07             	mov    %bl,0x7(%edx)
5337b8:	83 7f 2c 08          	cmpl   $0x8,0x2c(%edi)
5337bc:	0f 84 33 01 00 00    	je     0x5338f5
5337c2:	8b 54 24 24          	mov    0x24(%esp),%edx
5337c6:	81 f6 dd 00 00 00    	xor    $0xdd,%esi
5337cc:	8b 47 34             	mov    0x34(%edi),%eax
5337cf:	83 f2 00             	xor    $0x0,%edx
5337d2:	89 54 24 24          	mov    %edx,0x24(%esp)
5337d6:	89 44 24 34          	mov    %eax,0x34(%esp)
5337da:	85 c0                	test   %eax,%eax
5337dc:	0f 8e bb 00 00 00    	jle    0x53389d
5337e2:	01 74 24 10          	add    %esi,0x10(%esp)
5337e6:	8b da                	mov    %edx,%ebx
5337e8:	8b 44 24 14          	mov    0x14(%esp),%eax
5337ec:	13 c2                	adc    %edx,%eax
5337ee:	c1 eb 13             	shr    $0x13,%ebx
5337f1:	0f a4 f2 0d          	shld   $0xd,%esi,%edx
5337f5:	33 ff                	xor    %edi,%edi
5337f7:	89 44 24 14          	mov    %eax,0x14(%esp)
5337fb:	c1 e6 0d             	shl    $0xd,%esi
5337fe:	0b fa                	or     %edx,%edi
533800:	0b de                	or     %esi,%ebx
533802:	33 f8                	xor    %eax,%edi
533804:	33 5c 24 10          	xor    0x10(%esp),%ebx
533808:	01 4c 24 3c          	add    %ecx,0x3c(%esp)
53380c:	8b 44 24 18          	mov    0x18(%esp),%eax
533810:	8b f0                	mov    %eax,%esi
533812:	13 e8                	adc    %eax,%ebp
533814:	c1 ee 10             	shr    $0x10,%esi
533817:	0f a4 c8 10          	shld   $0x10,%ecx,%eax
53381b:	33 d2                	xor    %edx,%edx
53381d:	c1 e1 10             	shl    $0x10,%ecx