53b5cf:	8b c6                	mov    %esi,%eax
53b5d1:	8b 74 24 58          	mov    0x58(%esp),%esi
53b5d5:	03 f7                	add    %edi,%esi
53b5d7:	56                   	push   %esi
53b5d8:	ff 37                	push   (%edi)
53b5da:	50                   	push   %eax
53b5db:	e8 a0 3c fc ff       	call   0x4ff280
53b5e0:	8b 4c 24 58          	mov    0x58(%esp),%ecx
53b5e4:	83 c4 0c             	add    $0xc,%esp
53b5e7:	89 04 39             	mov    %eax,(%ecx,%edi,1)
53b5ea:	85 c0                	test   %eax,%eax
53b5ec:	0f 84 33 01 00 00    	je     0x53b725
53b5f2:	8b 06                	mov    (%esi),%eax
53b5f4:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
53b5f8:	8b 54 24 6c          	mov    0x6c(%esp),%edx
53b5fc:	0f 46 44 24 1c       	cmovbe 0x1c(%esp),%eax
53b601:	45                   	inc    %ebp
53b602:	8b c8                	mov    %eax,%ecx
53b604:	83 c7 04             	add    $0x4,%edi
53b607:	8b 44 24 74          	mov    0x74(%esp),%eax
53b60b:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53b60f:	3b 6c 24 38          	cmp    0x38(%esp),%ebp
53b613:	0f 82 37 ff ff ff    	jb     0x53b550
53b619:	8b 7c 24 68          	mov    0x68(%esp),%edi
53b61d:	8b 44 24 34          	mov    0x34(%esp),%eax
53b621:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53b625:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
53b62a:	0f 84 f2 02 00 00    	je     0x53b922
53b630:	8b 74 24 30          	mov    0x30(%esp),%esi
53b634:	85 f6                	test   %esi,%esi
53b636:	75 29                	jne    0x53b661
53b638:	83 f8 01             	cmp    $0x1,%eax
53b63b:	0f 84 e1 02 00 00    	je     0x53b922
53b641:	68 22 02 00 00       	push   $0x222
53b646:	68 50 a2 64 00       	push   $0x64a250
53b64b:	6a 44                	push   $0x44
53b64d:	68 bb 00 00 00       	push   $0xbb
53b652:	6a 10                	push   $0x10
53b654:	e8 27 d9 f9 ff       	call   0x4d8f80
53b659:	83 c4 14             	add    $0x14,%esp
53b65c:	e9 c4 00 00 00       	jmp    0x53b725
53b661:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
53b668:	00
53b669:	85 c0                	test   %eax,%eax
53b66b:	74 07                	je     0x53b674
53b66d:	68 2b 02 00 00       	push   $0x22b
53b672:	eb d2                	jmp    0x53b646
53b674:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53b678:	8b 46 0c             	mov    0xc(%esi),%eax
53b67b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
53b67e:	8d 4c 24 30          	lea    0x30(%esp),%ecx
53b682:	51                   	push   %ecx
53b683:	50                   	push   %eax
53b684:	57                   	push   %edi
53b685:	e8 f6 3b fc ff       	call   0x4ff280
53b68a:	8b e8                	mov    %eax,%ebp
53b68c:	83 c4 0c             	add    $0xc,%esp
53b68f:	89 6c 24 34          	mov    %ebp,0x34(%esp)
53b693:	85 ed                	test   %ebp,%ebp
53b695:	0f 84 8a 00 00 00    	je     0x53b725
53b69b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
53b69f:	3b 4c 24 1c          	cmp    0x1c(%esp),%ecx
53b6a3:	77 30                	ja     0x53b6d5
53b6a5:	8b 54 24 6c          	mov    0x6c(%esp),%edx
53b6a9:	8d 42 01             	lea    0x1(%edx),%eax
53b6ac:	89 44 24 20          	mov    %eax,0x20(%esp)
53b6b0:	8b 44 24 24          	mov    0x24(%esp),%eax
53b6b4:	89 2c 90             	mov    %ebp,(%eax,%edx,4)
53b6b7:	c7 44 90 04 00 00 00 	movl   $0x0,0x4(%eax,%edx,4)
53b6be:	00
53b6bf:	8b 44 24 28          	mov    0x28(%esp),%eax
53b6c3:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
53b6c6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53b6ca:	8b 46 10             	mov    0x10(%esi),%eax
53b6cd:	89 04 91             	mov    %eax,(%ecx,%edx,4)
53b6d0:	e9 4d 02 00 00       	jmp    0x53b922
53b6d5:	8b 44 24 14          	mov    0x14(%esp),%eax
53b6d9:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
53b6dd:	0f af c7             	imul   %edi,%eax
53b6e0:	3b c8                	cmp    %eax,%ecx
53b6e2:	0f 83 19 01 00 00    	jae    0x53b801
53b6e8:	8d 47 ff             	lea    -0x1(%edi),%eax
53b6eb:	33 d2                	xor    %edx,%edx
53b6ed:	03 c1                	add    %ecx,%eax
53b6ef:	f7 f7                	div    %edi
53b6f1:	3b 46 08             	cmp    0x8(%esi),%eax
53b6f4:	0f 86 fb 00 00 00    	jbe    0x53b7f5
53b6fa:	68 56 02 00 00       	push   $0x256
53b6ff:	68 50 a2 64 00       	push   $0x64a250
53b704:	6a 44                	push   $0x44
53b706:	68 bb 00 00 00       	push   $0xbb
53b70b:	6a 10                	push   $0x10
53b70d:	e8 6e d8 f9 ff       	call   0x4d8f80
53b712:	68 57 02 00 00       	push   $0x257
53b717:	68 50 a2 64 00       	push   $0x64a250
53b71c:	55                   	push   %ebp
53b71d:	e8 5e 50 fa ff       	call   0x4e0780
53b722:	83 c4 20             	add    $0x20,%esp
53b725:	8b 6c 24 10          	mov    0x10(%esp),%ebp
53b729:	33 ff                	xor    %edi,%edi
53b72b:	ff 74 24 44          	push   0x44(%esp)
53b72f:	e8 7c 2c fd ff       	call   0x50e3b0
53b734:	68 0d 03 00 00       	push   $0x30d
53b739:	68 50 a2 64 00       	push   $0x64a250
53b73e:	ff 74 24 24          	push   0x24(%esp)
53b742:	e8 39 50 fa ff       	call   0x4e0780
53b747:	68 0e 03 00 00       	push   $0x30e
53b74c:	68 50 a2 64 00       	push   $0x64a250
53b751:	ff 74 24 40          	push   0x40(%esp)
53b755:	e8 26 50 fa ff       	call   0x4e0780
53b75a:	8b 5c 24 40          	mov    0x40(%esp),%ebx
53b75e:	83 c4 1c             	add    $0x1c,%esp
53b761:	85 db                	test   %ebx,%ebx
53b763:	74 3b                	je     0x53b7a0
53b765:	8b 03                	mov    (%ebx),%eax
53b767:	8b f3                	mov    %ebx,%esi
53b769:	85 c0                	test   %eax,%eax
53b76b:	74 20                	je     0x53b78d
53b76d:	0f 1f 00             	nopl   (%eax)
53b770:	68 13 03 00 00       	push   $0x313
53b775:	68 50 a2 64 00       	push   $0x64a250
53b77a:	50                   	push   %eax
53b77b:	e8 00 50 fa ff       	call   0x4e0780
53b780:	8b 46 04             	mov    0x4(%esi),%eax
53b783:	8d 76 04             	lea    0x4(%esi),%esi
53b786:	83 c4 0c             	add    $0xc,%esp
53b789:	85 c0                	test   %eax,%eax
53b78b:	75 e3                	jne    0x53b770
53b78d:	68 15 03 00 00       	push   $0x315
53b792:	68 50 a2 64 00       	push   $0x64a250
53b797:	53                   	push   %ebx
53b798:	e8 e3 4f fa ff       	call   0x4e0780
53b79d:	83 c4 0c             	add    $0xc,%esp
53b7a0:	85 ff                	test   %edi,%edi
53b7a2:	74 32                	je     0x53b7d6
53b7a4:	8b 07                	mov    (%edi),%eax
53b7a6:	8b f7                	mov    %edi,%esi
53b7a8:	85 c0                	test   %eax,%eax
53b7aa:	74 17                	je     0x53b7c3
53b7ac:	0f 1f 40 00          	nopl   0x0(%eax)
53b7b0:	50                   	push   %eax
53b7b1:	e8 1a 2a fd ff       	call   0x50e1d0
53b7b6:	8b 46 04             	mov    0x4(%esi),%eax
53b7b9:	8d 76 04             	lea    0x4(%esi),%esi
53b7bc:	83 c4 04             	add    $0x4,%esp
53b7bf:	85 c0                	test   %eax,%eax
53b7c1:	75 ed                	jne    0x53b7b0
53b7c3:	68 1b 03 00 00       	push   $0x31b
53b7c8:	68 50 a2 64 00       	push   $0x64a250
53b7cd:	57                   	push   %edi
53b7ce:	e8 ad 4f fa ff       	call   0x4e0780
53b7d3:	83 c4 0c             	add    $0xc,%esp
53b7d6:	68 1d 03 00 00       	push   $0x31d
53b7db:	68 50 a2 64 00       	push   $0x64a250
53b7e0:	55                   	push   %ebp
53b7e1:	e8 9a 4f fa ff       	call   0x4e0780
53b7e6:	8b 44 24 60          	mov    0x60(%esp),%eax
53b7ea:	83 c4 0c             	add    $0xc,%esp
53b7ed:	5f                   	pop    %edi
53b7ee:	5e                   	pop    %esi
53b7ef:	5d                   	pop    %ebp
53b7f0:	5b                   	pop    %ebx
53b7f1:	83 c4 4c             	add    $0x4c,%esp
53b7f4:	c3                   	ret
53b7f5:	8b 54 24 6c          	mov    0x6c(%esp),%edx
53b7f9:	03 c2                	add    %edx,%eax
53b7fb:	89 44 24 20          	mov    %eax,0x20(%esp)
53b7ff:	eb 08                	jmp    0x53b809
53b801:	8b 54 24 6c          	mov    0x6c(%esp),%edx
53b805:	8b 44 24 20          	mov    0x20(%esp),%eax
53b809:	89 6c 24 14          	mov    %ebp,0x14(%esp)
53b80d:	8b fa                	mov    %edx,%edi
53b80f:	8b 6e 10             	mov    0x10(%esi),%ebp
53b812:	3b d0                	cmp    %eax,%edx
53b814:	0f 83 f2 00 00 00    	jae    0x53b90c
53b81a:	8b 5c 24 28          	mov    0x28(%esp),%ebx
53b81e:	8b 44 24 10          	mov    0x10(%esp),%eax
53b822:	8d 34 93             	lea    (%ebx,%edx,4),%esi
53b825:	8b 54 24 24          	mov    0x24(%esp),%edx
53b829:	2b d3                	sub    %ebx,%edx
53b82b:	2b c3                	sub    %ebx,%eax
53b82d:	89 54 24 4c          	mov    %edx,0x4c(%esp)
53b831:	89 44 24 58          	mov    %eax,0x58(%esp)
53b835:	8b 44 24 20          	mov    0x20(%esp),%eax
53b839:	8b 5c 24 60          	mov    0x60(%esp),%ebx
53b83d:	48                   	dec    %eax
53b83e:	3b f8                	cmp    %eax,%edi
53b840:	73 16                	jae    0x53b858
53b842:	8b 44 24 2c          	mov    0x2c(%esp),%eax
53b846:	89 06                	mov    %eax,(%esi)
53b848:	3b c8                	cmp    %eax,%ecx
53b84a:	0f 82 8d 00 00 00    	jb     0x53b8dd
53b850:	2b c8                	sub    %eax,%ecx
53b852:	89 4c 24 30          	mov    %ecx,0x30(%esp)
53b856:	eb 02                	jmp    0x53b85a
53b858:	89 0e                	mov    %ecx,(%esi)
53b85a:	68 72 02 00 00       	push   $0x272
53b85f:	c7 44 32 04 00 00 00 	movl   $0x0,0x4(%edx,%esi,1)
53b866:	00
53b867:	68 50 a2 64 00       	push   $0x64a250
53b86c:	ff 36                	push   (%esi)
53b86e:	e8 dd 4e fa ff       	call   0x4e0750
53b873:	8b 4c 24 58          	mov    0x58(%esp),%ecx
53b877:	83 c4 0c             	add    $0xc,%esp
53b87a:	89 04 31             	mov    %eax,(%ecx,%esi,1)
53b87d:	85 c0                	test   %eax,%eax
53b87f:	0f 84 14 01 00 00    	je     0x53b999
53b885:	ff 36                	push   (%esi)
53b887:	ff 74 24 18          	push   0x18(%esp)
53b88b:	50                   	push   %eax
53b88c:	e8 3f 75 09 00       	call   0x5d2dd0
53b891:	8b 06                	mov    (%esi),%eax
53b893:	83 c4 0c             	add    $0xc,%esp
53b896:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
53b89a:	0f 46 44 24 1c       	cmovbe 0x1c(%esp),%eax
53b89f:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
53b8a3:	8b c8                	mov    %eax,%ecx
53b8a5:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53b8a9:	0f 84 bf 00 00 00    	je     0x53b96e
53b8af:	8b 44 24 58          	mov    0x58(%esp),%eax
53b8b3:	47                   	inc    %edi
53b8b4:	89 2c 30             	mov    %ebp,(%eax,%esi,1)
53b8b7:	83 c6 04             	add    $0x4,%esi
53b8ba:	8b 44 24 48          	mov    0x48(%esp),%eax
53b8be:	8d 6c 85 00          	lea    0x0(%ebp,%eax,4),%ebp
53b8c2:	8b 44 24 2c          	mov    0x2c(%esp),%eax
53b8c6:	01 44 24 14          	add    %eax,0x14(%esp)
53b8ca:	3b 7c 24 20          	cmp    0x20(%esp),%edi
53b8ce:	73 38                	jae    0x53b908
53b8d0:	8b 4c 24 30          	mov    0x30(%esp),%ecx
53b8d4:	8b 54 24 4c          	mov    0x4c(%esp),%edx
53b8d8:	e9 58 ff ff ff       	jmp    0x53b835
53b8dd:	68 65 02 00 00       	push   $0x265
53b8e2:	68 50 a2 64 00       	push   $0x64a250
53b8e7:	6a 44                	push   $0x44
53b8e9:	68 bb 00 00 00       	push   $0xbb
53b8ee:	6a 10                	push   $0x10
53b8f0:	e8 8b d6 f9 ff       	call   0x4d8f80
53b8f5:	68 66 02 00 00       	push   $0x266
53b8fa:	68 50 a2 64 00       	push   $0x64a250
53b8ff:	ff 74 24 50          	push   0x50(%esp)
53b903:	e9 15 fe ff ff       	jmp    0x53b71d
53b908:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53b90c:	68 85 02 00 00       	push   $0x285
53b911:	68 50 a2 64 00       	push   $0x64a250
53b916:	ff 74 24 3c          	push   0x3c(%esp)
53b91a:	e8 61 4e fa ff       	call   0x4e0780
53b91f:	83 c4 0c             	add    $0xc,%esp
53b922:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
53b926:	68 8f 02 00 00       	push   $0x28f
53b92b:	68 50 a2 64 00       	push   $0x64a250
53b930:	8d 04 ad 04 00 00 00 	lea    0x4(,%ebp,4),%eax
53b937:	50                   	push   %eax
53b938:	e8 13 4e fa ff       	call   0x4e0750
53b93d:	8b f8                	mov    %eax,%edi
53b93f:	83 c4 0c             	add    $0xc,%esp
53b942:	89 7c 24 14          	mov    %edi,0x14(%esp)
53b946:	85 ff                	test   %edi,%edi
53b948:	75 7a                	jne    0x53b9c4
53b94a:	68 91 02 00 00       	push   $0x291
53b94f:	68 50 a2 64 00       	push   $0x64a250
53b954:	6a 41                	push   $0x41
53b956:	68 bb 00 00 00       	push   $0xbb
53b95b:	6a 10                	push   $0x10
53b95d:	e8 1e d6 f9 ff       	call   0x4d8f80
53b962:	83 c4 14             	add    $0x14,%esp
53b965:	8b 6c 24 10          	mov    0x10(%esp),%ebp
53b969:	e9 bd fd ff ff       	jmp    0x53b72b
53b96e:	68 7d 02 00 00       	push   $0x27d
53b973:	68 50 a2 64 00       	push   $0x64a250
53b978:	6a 44                	push   $0x44
53b97a:	68 bb 00 00 00       	push   $0xbb
53b97f:	6a 10                	push   $0x10
53b981:	e8 fa d5 f9 ff       	call   0x4d8f80
53b986:	68 7e 02 00 00       	push   $0x27e
53b98b:	68 50 a2 64 00       	push   $0x64a250
53b990:	ff 74 24 50          	push   0x50(%esp)
53b994:	e9 84 fd ff ff       	jmp    0x53b71d
53b999:	68 74 02 00 00       	push   $0x274
53b99e:	68 50 a2 64 00       	push   $0x64a250
53b9a3:	6a 41                	push   $0x41
53b9a5:	68 bb 00 00 00       	push   $0xbb
53b9aa:	6a 10                	push   $0x10
53b9ac:	e8 cf d5 f9 ff       	call   0x4d8f80
53b9b1:	68 75 02 00 00       	push   $0x275
53b9b6:	68 50 a2 64 00       	push   $0x64a250
53b9bb:	ff 74 24 50          	push   0x50(%esp)
53b9bf:	e9 59 fd ff ff       	jmp    0x53b71d
53b9c4:	8d 04 af             	lea    (%edi,%ebp,4),%eax
53b9c7:	8b f7                	mov    %edi,%esi
53b9c9:	33 d2                	xor    %edx,%edx
53b9cb:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
53b9d1:	8b 7c 24 38          	mov    0x38(%esp),%edi
53b9d5:	89 44 24 48          	mov    %eax,0x48(%esp)
53b9d9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
53b9dd:	85 ff                	test   %edi,%edi
53b9df:	74 65                	je     0x53ba46
53b9e1:	8b 44 24 10          	mov    0x10(%esp),%eax
53b9e5:	8b 6c 24 18          	mov    0x18(%esp),%ebp
53b9e9:	2b c5                	sub    %ebp,%eax
53b9eb:	89 44 24 58          	mov    %eax,0x58(%esp)
53b9ef:	90                   	nop
53b9f0:	89 34 28             	mov    %esi,(%eax,%ebp,1)
53b9f3:	33 ff                	xor    %edi,%edi
53b9f5:	8b 4d 00             	mov    0x0(%ebp),%ecx
53b9f8:	b8 01 00 00 00       	mov    $0x1,%eax
53b9fd:	49                   	dec    %ecx
53b9fe:	d3 e0                	shl    %cl,%eax
53ba00:	85 c0                	test   %eax,%eax
53ba02:	74 2a                	je     0x53ba2e
53ba04:	53                   	push   %ebx
53ba05:	e8 f6 2c fd ff       	call   0x50e700
53ba0a:	83 c4 04             	add    $0x4,%esp
53ba0d:	89 06                	mov    %eax,(%esi)
53ba0f:	85 c0                	test   %eax,%eax
53ba11:	0f 84 3e 03 00 00    	je     0x53bd55
53ba17:	8b 4d 00             	mov    0x0(%ebp),%ecx
53ba1a:	b8 01 00 00 00       	mov    $0x1,%eax
53ba1f:	49                   	dec    %ecx
53ba20:	47                   	inc    %edi
53ba21:	d3 e0                	shl    %cl,%eax
53ba23:	83 c6 04             	add    $0x4,%esi
53ba26:	3b f8                	cmp    %eax,%edi
53ba28:	72 da                	jb     0x53ba04
53ba2a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
53ba2e:	8b 7c 24 38          	mov    0x38(%esp),%edi
53ba32:	42                   	inc    %edx
53ba33:	8b 44 24 58          	mov    0x58(%esp),%eax
53ba37:	83 c5 04             	add    $0x4,%ebp
53ba3a:	89 54 24 4c          	mov    %edx,0x4c(%esp)
53ba3e:	3b d7                	cmp    %edi,%edx
53ba40:	72 ae                	jb     0x53b9f0
53ba42:	8b 44 24 48          	mov    0x48(%esp),%eax
53ba46:	3b f0                	cmp    %eax,%esi
53ba48:	74 28                	je     0x53ba72
53ba4a:	68 a2 02 00 00       	push   $0x2a2
53ba4f:	68 50 a2 64 00       	push   $0x64a250
53ba54:	6a 44                	push   $0x44
53ba56:	68 bb 00 00 00       	push   $0xbb
53ba5b:	6a 10                	push   $0x10
53ba5d:	e8 1e d5 f9 ff       	call   0x4d8f80
53ba62:	83 c4 14             	add    $0x14,%esp
53ba65:	8b 6c 24 10          	mov    0x10(%esp),%ebp
53ba69:	8b 7c 24 14          	mov    0x14(%esp),%edi
53ba6d:	e9 b9 fc ff ff       	jmp    0x53b72b
53ba72:	53                   	push   %ebx
53ba73:	e8 88 2c fd ff       	call   0x50e700
53ba78:	83 c4 04             	add    $0x4,%esp
53ba7b:	89 44 24 44          	mov    %eax,0x44(%esp)
53ba7f:	85 c0                	test   %eax,%eax