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
53ba81:	0f 84 ce 02 00 00    	je     0x53bd55
53ba87:	33 ed                	xor    %ebp,%ebp
53ba89:	85 ff                	test   %edi,%edi
53ba8b:	0f 84 e1 00 00 00    	je     0x53bb72
53ba91:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53ba95:	8b f9                	mov    %ecx,%edi
53ba97:	8b 44 24 70          	mov    0x70(%esp),%eax
53ba9b:	8b 74 24 18          	mov    0x18(%esp),%esi
53ba9f:	2b c1                	sub    %ecx,%eax
53baa1:	2b f1                	sub    %ecx,%esi
53baa3:	89 44 24 58          	mov    %eax,0x58(%esp)
53baa7:	89 74 24 34          	mov    %esi,0x34(%esp)
53baab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
53bab0:	3b 6c 24 6c          	cmp    0x6c(%esp),%ebp
53bab4:	73 20                	jae    0x53bad6
53bab6:	ff 34 07             	push   (%edi,%eax,1)
53bab9:	8b 07                	mov    (%edi),%eax
53babb:	ff 30                	push   (%eax)
53babd:	e8 de 27 fd ff       	call   0x50e2a0
53bac2:	83 c4 08             	add    $0x8,%esp
53bac5:	85 c0                	test   %eax,%eax
53bac7:	75 25                	jne    0x53baee
53bac9:	8b 7c 24 14          	mov    0x14(%esp),%edi
53bacd:	8b 6c 24 10          	mov    0x10(%esp),%ebp
53bad1:	e9 55 fc ff ff       	jmp    0x53b72b
53bad6:	8b 07                	mov    (%edi),%eax
53bad8:	ff 74 24 50          	push   0x50(%esp)
53badc:	ff 30                	push   (%eax)
53bade:	e8 bd 27 fd ff       	call   0x50e2a0
53bae3:	83 c4 08             	add    $0x8,%esp
53bae6:	85 c0                	test   %eax,%eax
53bae8:	0f 84 77 ff ff ff    	je     0x53ba65
53baee:	83 3c 37 01          	cmpl   $0x1,(%edi,%esi,1)
53baf2:	76 6c                	jbe    0x53bb60
53baf4:	8b 07                	mov    (%edi),%eax
53baf6:	ff 74 24 78          	push   0x78(%esp)
53bafa:	ff 30                	push   (%eax)
53bafc:	ff 74 24 4c          	push   0x4c(%esp)
53bb00:	53                   	push   %ebx
53bb01:	e8 1a 28 fd ff       	call   0x50e320
53bb06:	83 c4 10             	add    $0x10,%esp
53bb09:	85 c0                	test   %eax,%eax
53bb0b:	0f 84 54 ff ff ff    	je     0x53ba65
53bb11:	8b 4c 24 34          	mov    0x34(%esp),%ecx
53bb15:	be 01 00 00 00       	mov    $0x1,%esi
53bb1a:	8b c6                	mov    %esi,%eax
53bb1c:	8b 0c 0f             	mov    (%edi,%ecx,1),%ecx
53bb1f:	49                   	dec    %ecx
53bb20:	d3 e0                	shl    %cl,%eax
53bb22:	3b c6                	cmp    %esi,%eax
53bb24:	76 36                	jbe    0x53bb5c
53bb26:	ff 74 24 78          	push   0x78(%esp)
53bb2a:	8b 07                	mov    (%edi),%eax
53bb2c:	ff 74 24 48          	push   0x48(%esp)
53bb30:	ff 74 b0 fc          	push   -0x4(%eax,%esi,4)
53bb34:	ff 34 b0             	push   (%eax,%esi,4)
53bb37:	53                   	push   %ebx
53bb38:	e8 e3 25 fd ff       	call   0x50e120
53bb3d:	83 c4 14             	add    $0x14,%esp
53bb40:	85 c0                	test   %eax,%eax
53bb42:	0f 84 1d ff ff ff    	je     0x53ba65
53bb48:	8b 44 24 34          	mov    0x34(%esp),%eax
53bb4c:	46                   	inc    %esi
53bb4d:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
53bb50:	b8 01 00 00 00       	mov    $0x1,%eax
53bb55:	49                   	dec    %ecx
53bb56:	d3 e0                	shl    %cl,%eax
53bb58:	3b f0                	cmp    %eax,%esi
53bb5a:	72 ca                	jb     0x53bb26
53bb5c:	8b 74 24 34          	mov    0x34(%esp),%esi
53bb60:	8b 44 24 58          	mov    0x58(%esp),%eax
53bb64:	45                   	inc    %ebp
53bb65:	83 c7 04             	add    $0x4,%edi
53bb68:	3b 6c 24 38          	cmp    0x38(%esp),%ebp
53bb6c:	0f 82 3e ff ff ff    	jb     0x53bab0
53bb72:	8b 74 24 78          	mov    0x78(%esp),%esi
53bb76:	8b 7c 24 14          	mov    0x14(%esp),%edi
53bb7a:	56                   	push   %esi
53bb7b:	57                   	push   %edi
53bb7c:	ff 74 24 44          	push   0x44(%esp)
53bb80:	53                   	push   %ebx
53bb81:	e8 2a 2e fd ff       	call   0x50e9b0
53bb86:	83 c4 10             	add    $0x10,%esp
53bb89:	85 c0                	test   %eax,%eax
53bb8b:	0f 84 d4 fd ff ff    	je     0x53b965
53bb91:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
53bb95:	bd 01 00 00 00       	mov    $0x1,%ebp
53bb9a:	8b 7c 24 64          	mov    0x64(%esp),%edi
53bb9e:	2b cd                	sub    %ebp,%ecx
53bba0:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53bba4:	0f 88 64 01 00 00    	js     0x53bd0e
53bbaa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53bbb0:	85 ed                	test   %ebp,%ebp
53bbb2:	75 18                	jne    0x53bbcc
53bbb4:	56                   	push   %esi
53bbb5:	57                   	push   %edi
53bbb6:	57                   	push   %edi
53bbb7:	53                   	push   %ebx
53bbb8:	e8 63 27 fd ff       	call   0x50e320
53bbbd:	83 c4 10             	add    $0x10,%esp
53bbc0:	85 c0                	test   %eax,%eax
53bbc2:	0f 84 9d fe ff ff    	je     0x53ba65
53bbc8:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
53bbcc:	33 d2                	xor    %edx,%edx
53bbce:	89 54 24 3c          	mov    %edx,0x3c(%esp)
53bbd2:	39 54 24 20          	cmp    %edx,0x20(%esp)
53bbd6:	0f 86 fa 00 00 00    	jbe    0x53bcd6
53bbdc:	8b 5c 24 24          	mov    0x24(%esp),%ebx
53bbe0:	8b fb                	mov    %ebx,%edi
53bbe2:	8b 54 24 10          	mov    0x10(%esp),%edx
53bbe6:	8b 44 24 28          	mov    0x28(%esp),%eax
53bbea:	2b c7                	sub    %edi,%eax
53bbec:	89 54 24 48          	mov    %edx,0x48(%esp)
53bbf0:	29 7c 24 48          	sub    %edi,0x48(%esp)
53bbf4:	8b 7c 24 64          	mov    0x64(%esp),%edi
53bbf8:	8b 54 24 3c          	mov    0x3c(%esp),%edx
53bbfc:	89 44 24 38          	mov    %eax,0x38(%esp)
53bc00:	39 0c 18             	cmp    %ecx,(%eax,%ebx,1)
53bc03:	0f 86 b7 00 00 00    	jbe    0x53bcc0
53bc09:	8b 03                	mov    (%ebx),%eax
53bc0b:	8a 04 01             	mov    (%ecx,%eax,1),%al
53bc0e:	0f be c8             	movsbl %al,%ecx
53bc11:	84 c0                	test   %al,%al
53bc13:	0f 84 9f 00 00 00    	je     0x53bcb8
53bc19:	0f b6 c0             	movzbl %al,%eax
53bc1c:	8b f1                	mov    %ecx,%esi
53bc1e:	c1 e8 07             	shr    $0x7,%eax
53bc21:	f7 de                	neg    %esi
53bc23:	85 c0                	test   %eax,%eax
53bc25:	0f 44 f1             	cmove  %ecx,%esi
53bc28:	8b 4c 24 40          	mov    0x40(%esp),%ecx
53bc2c:	3b c1                	cmp    %ecx,%eax
53bc2e:	74 2c                	je     0x53bc5c
53bc30:	85 ed                	test   %ebp,%ebp
53bc32:	75 1d                	jne    0x53bc51
53bc34:	ff 74 24 78          	push   0x78(%esp)
53bc38:	57                   	push   %edi
53bc39:	ff 74 24 68          	push   0x68(%esp)
53bc3d:	e8 9e 28 fd ff       	call   0x50e4e0
53bc42:	83 c4 0c             	add    $0xc,%esp
53bc45:	85 c0                	test   %eax,%eax
53bc47:	0f 84 18 fe ff ff    	je     0x53ba65
53bc4d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
53bc51:	33 c0                	xor    %eax,%eax
53bc53:	85 c9                	test   %ecx,%ecx
53bc55:	0f 94 c0             	sete   %al
53bc58:	89 44 24 40          	mov    %eax,0x40(%esp)
53bc5c:	8b 44 24 48          	mov    0x48(%esp),%eax
53bc60:	d1 fe                	sar    $1,%esi
53bc62:	8b 04 18             	mov    (%eax,%ebx,1),%eax
53bc65:	8b 04 b0             	mov    (%eax,%esi,4),%eax
53bc68:	85 ed                	test   %ebp,%ebp
53bc6a:	74 2c                	je     0x53bc98
53bc6c:	50                   	push   %eax
53bc6d:	57                   	push   %edi
53bc6e:	e8 2d 26 fd ff       	call   0x50e2a0
53bc73:	83 c4 08             	add    $0x8,%esp
53bc76:	85 c0                	test   %eax,%eax
53bc78:	0f 84 e7 fd ff ff    	je     0x53ba65
53bc7e:	8b 74 24 78          	mov    0x78(%esp),%esi
53bc82:	56                   	push   %esi
53bc83:	57                   	push   %edi
53bc84:	ff 74 24 68          	push   0x68(%esp)
53bc88:	e8 33 30 fd ff       	call   0x50ecc0
53bc8d:	83 c4 0c             	add    $0xc,%esp
53bc90:	85 c0                	test   %eax,%eax
53bc92:	74 66                	je     0x53bcfa
53bc94:	33 ed                	xor    %ebp,%ebp
53bc96:	eb 1c                	jmp    0x53bcb4
53bc98:	8b 74 24 78          	mov    0x78(%esp),%esi
53bc9c:	56                   	push   %esi
53bc9d:	50                   	push   %eax
53bc9e:	57                   	push   %edi
53bc9f:	57                   	push   %edi
53bca0:	ff 74 24 70          	push   0x70(%esp)