52a58c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a58f:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a592:	8a 09                	mov    (%ecx),%cl
52a594:	88 0f                	mov    %cl,(%edi)
52a596:	ff 45 d8             	incl   -0x28(%ebp)
52a599:	ff 45 e8             	incl   -0x18(%ebp)
52a59c:	48                   	dec    %eax
52a59d:	75 ed                	jne    0x52a58c
52a59f:	e9 3d 02 00 00       	jmp    0x52a7e1
52a5a4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a5a7:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a5aa:	48                   	dec    %eax
52a5ab:	8a 09                	mov    (%ecx),%cl
52a5ad:	88 0f                	mov    %cl,(%edi)
52a5af:	ff 45 d8             	incl   -0x28(%ebp)
52a5b2:	ff 45 e8             	incl   -0x18(%ebp)
52a5b5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a5b8:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a5bb:	8a 09                	mov    (%ecx),%cl
52a5bd:	88 0f                	mov    %cl,(%edi)
52a5bf:	ff 45 d8             	incl   -0x28(%ebp)
52a5c2:	ff 45 e8             	incl   -0x18(%ebp)
52a5c5:	48                   	dec    %eax
52a5c6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a5c9:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a5cc:	8a 09                	mov    (%ecx),%cl
52a5ce:	88 0f                	mov    %cl,(%edi)
52a5d0:	ff 45 d8             	incl   -0x28(%ebp)
52a5d3:	ff 45 e8             	incl   -0x18(%ebp)
52a5d6:	48                   	dec    %eax
52a5d7:	75 ed                	jne    0x52a5c6
52a5d9:	e9 03 02 00 00       	jmp    0x52a7e1
52a5de:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a5e1:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a5e4:	48                   	dec    %eax
52a5e5:	8a 09                	mov    (%ecx),%cl
52a5e7:	88 0f                	mov    %cl,(%edi)
52a5e9:	ff 45 d8             	incl   -0x28(%ebp)
52a5ec:	ff 45 e8             	incl   -0x18(%ebp)
52a5ef:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a5f2:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a5f5:	8a 09                	mov    (%ecx),%cl
52a5f7:	88 0f                	mov    %cl,(%edi)
52a5f9:	ff 45 d8             	incl   -0x28(%ebp)
52a5fc:	ff 45 e8             	incl   -0x18(%ebp)
52a5ff:	48                   	dec    %eax
52a600:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52a603:	8b 7d e8             	mov    -0x18(%ebp),%edi
52a606:	8a 09                	mov    (%ecx),%cl
52a608:	88 0f                	mov    %cl,(%edi)
52a60a:	ff 45 d8             	incl   -0x28(%ebp)
52a60d:	ff 45 e8             	incl   -0x18(%ebp)
52a610:	48                   	dec    %eax
52a611:	75 ed                	jne    0x52a600
52a613:	e9 c9 01 00 00       	jmp    0x52a7e1
52a618:	f6 45 f0 40          	testb  $0x40,-0x10(%ebp)
52a61c:	75 2c                	jne    0x52a64a
52a61e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a621:	8b 49 04             	mov    0x4(%ecx),%ecx
52a624:	c1 e1 03             	shl    $0x3,%ecx
52a627:	01 4d f4             	add    %ecx,-0xc(%ebp)
52a62a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
52a62d:	8b 0c 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%ecx
52a634:	23 ca                	and    %edx,%ecx
52a636:	c1 e1 03             	shl    $0x3,%ecx
52a639:	01 4d f4             	add    %ecx,-0xc(%ebp)
52a63c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a63f:	0f b6 09             	movzbl (%ecx),%ecx
52a642:	89 4d f0             	mov    %ecx,-0x10(%ebp)
52a645:	e9 80 fe ff ff       	jmp    0x52a4ca
52a64a:	8b 45 08             	mov    0x8(%ebp),%eax
52a64d:	8b cb                	mov    %ebx,%ecx
52a64f:	c1 e9 03             	shr    $0x3,%ecx
52a652:	c7 40 18 08 92 69 00 	movl   $0x699208,0x18(%eax)
52a659:	8b 45 08             	mov    0x8(%ebp),%eax
52a65c:	8b 40 04             	mov    0x4(%eax),%eax
52a65f:	2b 45 ec             	sub    -0x14(%ebp),%eax
52a662:	3b c1                	cmp    %ecx,%eax
52a664:	76 07                	jbe    0x52a66d
52a666:	8b cb                	mov    %ebx,%ecx
52a668:	c1 e9 03             	shr    $0x3,%ecx
52a66b:	eb 02                	jmp    0x52a66f
52a66d:	8b c8                	mov    %eax,%ecx
52a66f:	8b c1                	mov    %ecx,%eax
52a671:	01 45 ec             	add    %eax,-0x14(%ebp)
52a674:	2b f0                	sub    %eax,%esi
52a676:	c1 e0 03             	shl    $0x3,%eax
52a679:	2b d8                	sub    %eax,%ebx
52a67b:	8b 45 0c             	mov    0xc(%ebp),%eax
52a67e:	89 50 20             	mov    %edx,0x20(%eax)
52a681:	8b 55 0c             	mov    0xc(%ebp),%edx
52a684:	89 5a 1c             	mov    %ebx,0x1c(%edx)
52a687:	8b 45 08             	mov    0x8(%ebp),%eax
52a68a:	8b 55 ec             	mov    -0x14(%ebp),%edx
52a68d:	89 50 04             	mov    %edx,0x4(%eax)
52a690:	8b c6                	mov    %esi,%eax
52a692:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a695:	8b 55 08             	mov    0x8(%ebp),%edx
52a698:	2b 01                	sub    (%ecx),%eax
52a69a:	01 42 08             	add    %eax,0x8(%edx)
52a69d:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a6a0:	89 31                	mov    %esi,(%ecx)
52a6a2:	8b 45 0c             	mov    0xc(%ebp),%eax
52a6a5:	8b 55 e8             	mov    -0x18(%ebp),%edx
52a6a8:	89 50 34             	mov    %edx,0x34(%eax)
52a6ab:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
52a6b0:	e9 98 01 00 00       	jmp    0x52a84d
52a6b5:	f6 45 f0 40          	testb  $0x40,-0x10(%ebp)
52a6b9:	75 57                	jne    0x52a712
52a6bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a6be:	8b 41 04             	mov    0x4(%ecx),%eax
52a6c1:	c1 e0 03             	shl    $0x3,%eax
52a6c4:	01 45 f4             	add    %eax,-0xc(%ebp)
52a6c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
52a6ca:	8b 04 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%eax
52a6d1:	23 c2                	and    %edx,%eax
52a6d3:	c1 e0 03             	shl    $0x3,%eax
52a6d6:	01 45 f4             	add    %eax,-0xc(%ebp)
52a6d9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a6dc:	33 c0                	xor    %eax,%eax
52a6de:	8a 01                	mov    (%ecx),%al
52a6e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
52a6e3:	85 c0                	test   %eax,%eax
52a6e5:	0f 85 6f fd ff ff    	jne    0x52a45a
52a6eb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a6ee:	8a 41 01             	mov    0x1(%ecx),%al
52a6f1:	8b c8                	mov    %eax,%ecx
52a6f3:	25 ff 00 00 00       	and    $0xff,%eax
52a6f8:	d3 ea                	shr    %cl,%edx
52a6fa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52a6fd:	2b d8                	sub    %eax,%ebx
52a6ff:	8a 41 04             	mov    0x4(%ecx),%al
52a702:	8b 4d e8             	mov    -0x18(%ebp),%ecx
52a705:	88 01                	mov    %al,(%ecx)
52a707:	ff 45 e8             	incl   -0x18(%ebp)
52a70a:	ff 4d e4             	decl   -0x1c(%ebp)
52a70d:	e9 cf 00 00 00       	jmp    0x52a7e1
52a712:	f6 45 f0 20          	testb  $0x20,-0x10(%ebp)
52a716:	74 61                	je     0x52a779
52a718:	8b 45 08             	mov    0x8(%ebp),%eax
52a71b:	8b cb                	mov    %ebx,%ecx
52a71d:	c1 e9 03             	shr    $0x3,%ecx
52a720:	8b 40 04             	mov    0x4(%eax),%eax
52a723:	2b 45 ec             	sub    -0x14(%ebp),%eax
52a726:	3b c1                	cmp    %ecx,%eax
52a728:	76 07                	jbe    0x52a731
52a72a:	8b cb                	mov    %ebx,%ecx
52a72c:	c1 e9 03             	shr    $0x3,%ecx
52a72f:	eb 02                	jmp    0x52a733
52a731:	8b c8                	mov    %eax,%ecx
52a733:	8b c1                	mov    %ecx,%eax
52a735:	01 45 ec             	add    %eax,-0x14(%ebp)
52a738:	2b f0                	sub    %eax,%esi
52a73a:	c1 e0 03             	shl    $0x3,%eax
52a73d:	2b d8                	sub    %eax,%ebx
52a73f:	8b 45 0c             	mov    0xc(%ebp),%eax
52a742:	89 50 20             	mov    %edx,0x20(%eax)
52a745:	8b 55 0c             	mov    0xc(%ebp),%edx
52a748:	89 5a 1c             	mov    %ebx,0x1c(%edx)
52a74b:	8b 45 08             	mov    0x8(%ebp),%eax
52a74e:	8b 55 ec             	mov    -0x14(%ebp),%edx
52a751:	89 50 04             	mov    %edx,0x4(%eax)
52a754:	8b c6                	mov    %esi,%eax
52a756:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a759:	8b 55 08             	mov    0x8(%ebp),%edx
52a75c:	2b 01                	sub    (%ecx),%eax
52a75e:	01 42 08             	add    %eax,0x8(%edx)
52a761:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a764:	89 31                	mov    %esi,(%ecx)
52a766:	8b 45 0c             	mov    0xc(%ebp),%eax
52a769:	8b 55 e8             	mov    -0x18(%ebp),%edx
52a76c:	89 50 34             	mov    %edx,0x34(%eax)
52a76f:	b8 01 00 00 00       	mov    $0x1,%eax
52a774:	e9 d4 00 00 00       	jmp    0x52a84d
52a779:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a77c:	c7 41 18 1e 92 69 00 	movl   $0x69921e,0x18(%ecx)
52a783:	8b 45 08             	mov    0x8(%ebp),%eax
52a786:	8b cb                	mov    %ebx,%ecx
52a788:	c1 e9 03             	shr    $0x3,%ecx
52a78b:	8b 40 04             	mov    0x4(%eax),%eax
52a78e:	2b 45 ec             	sub    -0x14(%ebp),%eax
52a791:	3b c1                	cmp    %ecx,%eax
52a793:	76 07                	jbe    0x52a79c
52a795:	8b cb                	mov    %ebx,%ecx
52a797:	c1 e9 03             	shr    $0x3,%ecx
52a79a:	eb 02                	jmp    0x52a79e
52a79c:	8b c8                	mov    %eax,%ecx
52a79e:	8b c1                	mov    %ecx,%eax
52a7a0:	01 45 ec             	add    %eax,-0x14(%ebp)
52a7a3:	2b f0                	sub    %eax,%esi
52a7a5:	c1 e0 03             	shl    $0x3,%eax
52a7a8:	2b d8                	sub    %eax,%ebx
52a7aa:	8b 45 0c             	mov    0xc(%ebp),%eax
52a7ad:	89 50 20             	mov    %edx,0x20(%eax)
52a7b0:	8b 55 0c             	mov    0xc(%ebp),%edx
52a7b3:	89 5a 1c             	mov    %ebx,0x1c(%edx)
52a7b6:	8b 45 08             	mov    0x8(%ebp),%eax
52a7b9:	8b 55 ec             	mov    -0x14(%ebp),%edx
52a7bc:	89 50 04             	mov    %edx,0x4(%eax)
52a7bf:	8b c6                	mov    %esi,%eax
52a7c1:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a7c4:	8b 55 08             	mov    0x8(%ebp),%edx
52a7c7:	2b 01                	sub    (%ecx),%eax
52a7c9:	01 42 08             	add    %eax,0x8(%edx)
52a7cc:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a7cf:	89 31                	mov    %esi,(%ecx)
52a7d1:	8b 45 0c             	mov    0xc(%ebp),%eax
52a7d4:	8b 55 e8             	mov    -0x18(%ebp),%edx
52a7d7:	89 50 34             	mov    %edx,0x34(%eax)
52a7da:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
52a7df:	eb 6c                	jmp    0x52a84d
52a7e1:	81 7d e4 02 01 00 00 	cmpl   $0x102,-0x1c(%ebp)
52a7e8:	72 0a                	jb     0x52a7f4
52a7ea:	83 7d ec 0a          	cmpl   $0xa,-0x14(%ebp)
52a7ee:	0f 83 08 fc ff ff    	jae    0x52a3fc
52a7f4:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a7f7:	8b 41 04             	mov    0x4(%ecx),%eax
52a7fa:	8b cb                	mov    %ebx,%ecx
52a7fc:	c1 e9 03             	shr    $0x3,%ecx
52a7ff:	2b 45 ec             	sub    -0x14(%ebp),%eax
52a802:	3b c1                	cmp    %ecx,%eax
52a804:	76 07                	jbe    0x52a80d
52a806:	8b cb                	mov    %ebx,%ecx
52a808:	c1 e9 03             	shr    $0x3,%ecx
52a80b:	eb 02                	jmp    0x52a80f
52a80d:	8b c8                	mov    %eax,%ecx
52a80f:	8b c1                	mov    %ecx,%eax
52a811:	01 45 ec             	add    %eax,-0x14(%ebp)
52a814:	2b f0                	sub    %eax,%esi
52a816:	c1 e0 03             	shl    $0x3,%eax
52a819:	2b d8                	sub    %eax,%ebx
52a81b:	8b 45 0c             	mov    0xc(%ebp),%eax
52a81e:	89 50 20             	mov    %edx,0x20(%eax)
52a821:	8b 55 0c             	mov    0xc(%ebp),%edx
52a824:	89 5a 1c             	mov    %ebx,0x1c(%edx)
52a827:	8b 45 08             	mov    0x8(%ebp),%eax
52a82a:	8b 55 ec             	mov    -0x14(%ebp),%edx
52a82d:	89 50 04             	mov    %edx,0x4(%eax)
52a830:	8b c6                	mov    %esi,%eax
52a832:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a835:	8b 55 08             	mov    0x8(%ebp),%edx
52a838:	2b 01                	sub    (%ecx),%eax
52a83a:	01 42 08             	add    %eax,0x8(%edx)
52a83d:	8b 4d 08             	mov    0x8(%ebp),%ecx
52a840:	89 31                	mov    %esi,(%ecx)
52a842:	8b 45 0c             	mov    0xc(%ebp),%eax
52a845:	8b 55 e8             	mov    -0x18(%ebp),%edx
52a848:	89 50 34             	mov    %edx,0x34(%eax)
52a84b:	33 c0                	xor    %eax,%eax
52a84d:	5f                   	pop    %edi
52a84e:	5e                   	pop    %esi
52a84f:	5b                   	pop    %ebx
52a850:	8b e5                	mov    %ebp,%esp
52a852:	5d                   	pop    %ebp
52a853:	c2 0c 00             	ret    $0xc
52a856:	8b c0                	mov    %eax,%eax
52a858:	c3                   	ret
52a859:	90                   	nop
52a85a:	90                   	nop
52a85b:	90                   	nop
52a85c:	53                   	push   %ebx
52a85d:	8b d8                	mov    %eax,%ebx
52a85f:	e8 f4 ff ff ff       	call   0x52a858
52a864:	8d 83 8c 00 00 00    	lea    0x8c(%ebx),%eax
52a86a:	8d 93 80 09 00 00    	lea    0x980(%ebx),%edx
52a870:	89 83 10 0b 00 00    	mov    %eax,0xb10(%ebx)
52a876:	8d 8b 74 0a 00 00    	lea    0xa74(%ebx),%ecx
52a87c:	c7 83 18 0b 00 00 58 	movl   $0x699958,0xb18(%ebx)
52a883:	99 69 00
52a886:	89 93 1c 0b 00 00    	mov    %edx,0xb1c(%ebx)
52a88c:	33 c0                	xor    %eax,%eax
52a88e:	c7 83 24 0b 00 00 6c 	movl   $0x69996c,0xb24(%ebx)
52a895:	99 69 00
52a898:	89 8b 28 0b 00 00    	mov    %ecx,0xb28(%ebx)
52a89e:	c7 83 30 0b 00 00 80 	movl   $0x699980,0xb30(%ebx)
52a8a5:	99 69 00
52a8a8:	66 c7 83 b0 16 00 00 	movw   $0x0,0x16b0(%ebx)
52a8af:	00 00
52a8b1:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
52a8b7:	8b c3                	mov    %ebx,%eax
52a8b9:	c7 83 ac 16 00 00 08 	movl   $0x8,0x16ac(%ebx)
52a8c0:	00 00 00
52a8c3:	e8 04 00 00 00       	call   0x52a8cc
52a8c8:	5b                   	pop    %ebx
52a8c9:	c3                   	ret
52a8ca:	90                   	nop
52a8cb:	90                   	nop
52a8cc:	33 d2                	xor    %edx,%edx
52a8ce:	8d 88 8c 00 00 00    	lea    0x8c(%eax),%ecx
52a8d4:	66 c7 01 00 00       	movw   $0x0,(%ecx)
52a8d9:	42                   	inc    %edx
52a8da:	83 c1 04             	add    $0x4,%ecx
52a8dd:	81 fa 1e 01 00 00    	cmp    $0x11e,%edx
52a8e3:	7c ef                	jl     0x52a8d4
52a8e5:	33 d2                	xor    %edx,%edx
52a8e7:	8d 88 80 09 00 00    	lea    0x980(%eax),%ecx
52a8ed:	66 c7 01 00 00       	movw   $0x0,(%ecx)
52a8f2:	42                   	inc    %edx
52a8f3:	83 c1 04             	add    $0x4,%ecx
52a8f6:	83 fa 1e             	cmp    $0x1e,%edx
52a8f9:	7c f2                	jl     0x52a8ed
52a8fb:	33 d2                	xor    %edx,%edx
52a8fd:	8d 88 74 0a 00 00    	lea    0xa74(%eax),%ecx
52a903:	66 c7 01 00 00       	movw   $0x0,(%ecx)
52a908:	42                   	inc    %edx
52a909:	83 c1 04             	add    $0x4,%ecx
52a90c:	83 fa 13             	cmp    $0x13,%edx
52a90f:	7c f2                	jl     0x52a903
52a911:	66 c7 80 8c 04 00 00 	movw   $0x1,0x48c(%eax)
52a918:	01 00
52a91a:	33 d2                	xor    %edx,%edx
52a91c:	33 c9                	xor    %ecx,%ecx
52a91e:	89 90 a4 16 00 00    	mov    %edx,0x16a4(%eax)
52a924:	89 90 a0 16 00 00    	mov    %edx,0x16a0(%eax)
52a92a:	89 88 a8 16 00 00    	mov    %ecx,0x16a8(%eax)
52a930:	89 88 98 16 00 00    	mov    %ecx,0x1698(%eax)
52a936:	c3                   	ret
52a937:	90                   	nop
52a938:	53                   	push   %ebx
52a939:	56                   	push   %esi
52a93a:	57                   	push   %edi
52a93b:	83 c4 f4             	add    $0xfffffff4,%esp
52a93e:	89 0c 24             	mov    %ecx,(%esp)
52a941:	8b 0c 24             	mov    (%esp),%ecx
52a944:	8b 8c 88 54 0b 00 00 	mov    0xb54(%eax,%ecx,4),%ecx
52a94b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
52a94f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
52a953:	8b 34 24             	mov    (%esp),%esi
52a956:	03 f6                	add    %esi,%esi
52a958:	8d 8c 08 50 14 00 00 	lea    0x1450(%eax,%ecx,1),%ecx
52a95f:	89 4c 24 08          	mov    %ecx,0x8(%esp)
52a963:	8b 4c 24 04          	mov    0x4(%esp),%ecx
52a967:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
52a96a:	e9 9c 00 00 00       	jmp    0x52aa0b
52a96f:	3b b0 48 14 00 00    	cmp    0x1448(%eax),%esi
52a975:	7d 4f                	jge    0x52a9c6
52a977:	8b 9c b0 58 0b 00 00 	mov    0xb58(%eax,%esi,4),%ebx
52a97e:	8b bc b0 54 0b 00 00 	mov    0xb54(%eax,%esi,4),%edi
52a985:	66 8b 1c 9a          	mov    (%edx,%ebx,4),%bx
52a989:	66 3b 1c ba          	cmp    (%edx,%edi,4),%bx
52a98d:	72 36                	jb     0x52a9c5
52a98f:	8b 9c b0 58 0b 00 00 	mov    0xb58(%eax,%esi,4),%ebx
52a996:	8b bc b0 54 0b 00 00 	mov    0xb54(%eax,%esi,4),%edi
52a99d:	66 8b 1c 9a          	mov    (%edx,%ebx,4),%bx
52a9a1:	66 3b 1c ba          	cmp    (%edx,%edi,4),%bx
52a9a5:	75 1f                	jne    0x52a9c6
52a9a7:	8b 9c b0 58 0b 00 00 	mov    0xb58(%eax,%esi,4),%ebx
52a9ae:	8b bc b0 54 0b 00 00 	mov    0xb54(%eax,%esi,4),%edi
52a9b5:	8a 9c 18 50 14 00 00 	mov    0x1450(%eax,%ebx,1),%bl
52a9bc:	3a 9c 38 50 14 00 00 	cmp    0x1450(%eax,%edi,1),%bl