4c48f0:	57                   	push   %edi
4c48f1:	8b f0                	mov    %eax,%esi
4c48f3:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c48f6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c48f7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c48f8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c48f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c48fa:	5f                   	pop    %edi
4c48fb:	5e                   	pop    %esi
4c48fc:	8b c7                	mov    %edi,%eax
4c48fe:	f7 d8                	neg    %eax
4c4900:	50                   	push   %eax
4c4901:	f7 df                	neg    %edi
4c4903:	57                   	push   %edi
4c4904:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c4907:	50                   	push   %eax
4c4908:	e8 7b 32 f4 ff       	call   0x407b88
4c490d:	8b 45 08             	mov    0x8(%ebp),%eax
4c4910:	8b 55 f0             	mov    -0x10(%ebp),%edx
4c4913:	2b 50 04             	sub    0x4(%eax),%edx
4c4916:	89 55 e8             	mov    %edx,-0x18(%ebp)
4c4919:	53                   	push   %ebx
4c491a:	8b 45 08             	mov    0x8(%ebp),%eax
4c491d:	83 c0 10             	add    $0x10,%eax
4c4920:	50                   	push   %eax
4c4921:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4c4924:	8b d6                	mov    %esi,%edx
4c4926:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4929:	8b 18                	mov    (%eax),%ebx
4c492b:	ff 53 40             	call   *0x40(%ebx)
4c492e:	5f                   	pop    %edi
4c492f:	5e                   	pop    %esi
4c4930:	5b                   	pop    %ebx
4c4931:	8b e5                	mov    %ebp,%esp
4c4933:	5d                   	pop    %ebp
4c4934:	c2 08 00             	ret    $0x8
4c4937:	90                   	nop
4c4938:	55                   	push   %ebp
4c4939:	8b ec                	mov    %esp,%ebp
4c493b:	83 c4 c8             	add    $0xffffffc8,%esp
4c493e:	53                   	push   %ebx
4c493f:	56                   	push   %esi
4c4940:	57                   	push   %edi
4c4941:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c4944:	8b fa                	mov    %edx,%edi
4c4946:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c4949:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c494c:	8b 1b                	mov    (%ebx),%ebx
4c494e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4951:	03 58 08             	add    0x8(%eax),%ebx
4c4954:	d1 fb                	sar    $1,%ebx
4c4956:	79 03                	jns    0x4c495b
4c4958:	83 d3 00             	adc    $0x0,%ebx
4c495b:	8b 75 f8             	mov    -0x8(%ebp),%esi
4c495e:	8b 76 04             	mov    0x4(%esi),%esi
4c4961:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4964:	03 70 0c             	add    0xc(%eax),%esi
4c4967:	d1 fe                	sar    $1,%esi
4c4969:	79 03                	jns    0x4c496e
4c496b:	83 d6 00             	adc    $0x0,%esi
4c496e:	4e                   	dec    %esi
4c496f:	8b 55 08             	mov    0x8(%ebp),%edx
4c4972:	b1 01                	mov    $0x1,%cl
4c4974:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4977:	e8 0c eb ff ff       	call   0x4c3488
4c497c:	8b d0                	mov    %eax,%edx
4c497e:	8b 47 10             	mov    0x10(%edi),%eax
4c4981:	e8 fe 35 f6 ff       	call   0x427f84
4c4986:	8b 47 10             	mov    0x10(%edi),%eax
4c4989:	e8 ee 35 f6 ff       	call   0x427f7c
4c498e:	8b d0                	mov    %eax,%edx
4c4990:	8b 47 14             	mov    0x14(%edi),%eax
4c4993:	e8 ec 38 f6 ff       	call   0x428284
4c4998:	8b 45 08             	mov    0x8(%ebp),%eax
4c499b:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
4c499f:	74 60                	je     0x4c4a01
4c49a1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4c49a4:	8d 56 02             	lea    0x2(%esi),%edx
4c49a7:	8b c3                	mov    %ebx,%eax
4c49a9:	e8 9e 5c f5 ff       	call   0x41a64c
4c49ae:	8b 45 d8             	mov    -0x28(%ebp),%eax
4c49b1:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c49b4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4c49b7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c49ba:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4c49bd:	8b d6                	mov    %esi,%edx
4c49bf:	83 ea 02             	sub    $0x2,%edx
4c49c2:	8b c3                	mov    %ebx,%eax
4c49c4:	e8 83 5c f5 ff       	call   0x41a64c
4c49c9:	8b 45 d0             	mov    -0x30(%ebp),%eax
4c49cc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c49cf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4c49d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c49d5:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4c49d8:	8b c3                	mov    %ebx,%eax
4c49da:	83 e8 02             	sub    $0x2,%eax
4c49dd:	8b d6                	mov    %esi,%edx
4c49df:	e8 68 5c f5 ff       	call   0x41a64c
4c49e4:	8b 45 c8             	mov    -0x38(%ebp),%eax
4c49e7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c49ea:	8b 45 cc             	mov    -0x34(%ebp),%eax
4c49ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c49f0:	8d 55 e0             	lea    -0x20(%ebp),%edx
4c49f3:	b9 02 00 00 00       	mov    $0x2,%ecx
4c49f8:	8b c7                	mov    %edi,%eax
4c49fa:	e8 01 3e f6 ff       	call   0x428800
4c49ff:	eb 5c                	jmp    0x4c4a5d
4c4a01:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4c4a04:	8b c3                	mov    %ebx,%eax
4c4a06:	83 e8 02             	sub    $0x2,%eax
4c4a09:	8b d6                	mov    %esi,%edx
4c4a0b:	e8 3c 5c f5 ff       	call   0x41a64c
4c4a10:	8b 45 d8             	mov    -0x28(%ebp),%eax
4c4a13:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c4a16:	8b 45 dc             	mov    -0x24(%ebp),%eax
4c4a19:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c4a1c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4c4a1f:	8d 43 02             	lea    0x2(%ebx),%eax
4c4a22:	8b d6                	mov    %esi,%edx
4c4a24:	e8 23 5c f5 ff       	call   0x41a64c
4c4a29:	8b 45 d0             	mov    -0x30(%ebp),%eax
4c4a2c:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c4a2f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4c4a32:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c4a35:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4c4a38:	8d 56 02             	lea    0x2(%esi),%edx
4c4a3b:	8b c3                	mov    %ebx,%eax
4c4a3d:	e8 0a 5c f5 ff       	call   0x41a64c
4c4a42:	8b 45 c8             	mov    -0x38(%ebp),%eax
4c4a45:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c4a48:	8b 45 cc             	mov    -0x34(%ebp),%eax
4c4a4b:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c4a4e:	8d 55 e0             	lea    -0x20(%ebp),%edx
4c4a51:	b9 02 00 00 00       	mov    $0x2,%ecx
4c4a56:	8b c7                	mov    %edi,%eax
4c4a58:	e8 a3 3d f6 ff       	call   0x428800
4c4a5d:	5f                   	pop    %edi
4c4a5e:	5e                   	pop    %esi
4c4a5f:	5b                   	pop    %ebx
4c4a60:	8b e5                	mov    %ebp,%esp
4c4a62:	5d                   	pop    %ebp
4c4a63:	c2 04 00             	ret    $0x4
4c4a66:	8b c0                	mov    %eax,%eax
4c4a68:	55                   	push   %ebp
4c4a69:	8b ec                	mov    %esp,%ebp
4c4a6b:	83 c4 e4             	add    $0xffffffe4,%esp
4c4a6e:	53                   	push   %ebx
4c4a6f:	56                   	push   %esi
4c4a70:	57                   	push   %edi
4c4a71:	8b f9                	mov    %ecx,%edi
4c4a73:	8b f2                	mov    %edx,%esi
4c4a75:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c4a78:	8b 5d 08             	mov    0x8(%ebp),%ebx
4c4a7b:	56                   	push   %esi
4c4a7c:	8b f7                	mov    %edi,%esi
4c4a7e:	8d 7d e7             	lea    -0x19(%ebp),%edi
4c4a81:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4a82:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4a83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4a84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4a85:	5e                   	pop    %esi
4c4a86:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4a8a:	74 06                	je     0x4c4a92
4c4a8c:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4c4a90:	75 10                	jne    0x4c4aa2
4c4a92:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4a96:	75 06                	jne    0x4c4a9e
4c4a98:	80 7b 0a 01          	cmpb   $0x1,0xa(%ebx)
4c4a9c:	74 04                	je     0x4c4aa2
4c4a9e:	33 c0                	xor    %eax,%eax
4c4aa0:	eb 02                	jmp    0x4c4aa4
4c4aa2:	b0 01                	mov    $0x1,%al
4c4aa4:	88 45 f7             	mov    %al,-0x9(%ebp)
4c4aa7:	8b 03                	mov    (%ebx),%eax
4c4aa9:	8b d0                	mov    %eax,%edx
4c4aab:	81 e2 00 10 00 00    	and    $0x1000,%edx
4c4ab1:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4c4ab7:	75 0c                	jne    0x4c4ac5
4c4ab9:	25 00 02 00 00       	and    $0x200,%eax
4c4abe:	3d 00 02 00 00       	cmp    $0x200,%eax
4c4ac3:	74 04                	je     0x4c4ac9
4c4ac5:	33 c0                	xor    %eax,%eax
4c4ac7:	eb 02                	jmp    0x4c4acb
4c4ac9:	b0 01                	mov    $0x1,%al
4c4acb:	bf 02 00 00 00       	mov    $0x2,%edi
4c4ad0:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4c4ad7:	8a 53 19             	mov    0x19(%ebx),%dl
4c4ada:	80 fa 03             	cmp    $0x3,%dl
4c4add:	75 04                	jne    0x4c4ae3
4c4adf:	ff 4d e7             	decl   -0x19(%ebp)
4c4ae2:	4f                   	dec    %edi
4c4ae3:	80 fa 02             	cmp    $0x2,%dl
4c4ae6:	75 04                	jne    0x4c4aec
4c4ae8:	83 6d f8 02          	subl   $0x2,-0x8(%ebp)
4c4aec:	f6 43 04 01          	testb  $0x1,0x4(%ebx)
4c4af0:	75 0c                	jne    0x4c4afe
4c4af2:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4c4af9:	bf 01 00 00 00       	mov    $0x1,%edi
4c4afe:	84 c0                	test   %al,%al
4c4b00:	0f 84 ad 00 00 00    	je     0x4c4bb3
4c4b06:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4c4b0a:	0f 85 a3 00 00 00    	jne    0x4c4bb3
4c4b10:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4b14:	74 50                	je     0x4c4b66
4c4b16:	6a ff                	push   $0xffffffff
4c4b18:	6a ff                	push   $0xffffffff
4c4b1a:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4b1d:	50                   	push   %eax
4c4b1e:	e8 65 30 f4 ff       	call   0x407b88
4c4b23:	8b c6                	mov    %esi,%eax
4c4b25:	e8 96 41 f6 ff       	call   0x428cc0
4c4b2a:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c4b2d:	8b 4a 10             	mov    0x10(%edx),%ecx
4c4b30:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4b33:	e8 ac 42 fc ff       	call   0x488de4
4c4b38:	6a 01                	push   $0x1
4c4b3a:	6a 01                	push   $0x1
4c4b3c:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4b3f:	50                   	push   %eax
4c4b40:	e8 43 30 f4 ff       	call   0x407b88
4c4b45:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4b48:	50                   	push   %eax
4c4b49:	68 80 80 80 00       	push   $0x808080
4c4b4e:	68 ff ff ff 1f       	push   $0x1fffffff
4c4b53:	68 a0 a0 a0 00       	push   $0xa0a0a0
4c4b58:	8b cf                	mov    %edi,%ecx
4c4b5a:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4b5d:	8b c6                	mov    %esi,%eax
4c4b5f:	e8 28 85 ff ff       	call   0x4bd08c
4c4b64:	eb 4d                	jmp    0x4c4bb3
4c4b66:	6a ff                	push   $0xffffffff
4c4b68:	6a ff                	push   $0xffffffff
4c4b6a:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4b6d:	50                   	push   %eax
4c4b6e:	e8 15 30 f4 ff       	call   0x407b88
4c4b73:	8b c6                	mov    %esi,%eax
4c4b75:	e8 46 41 f6 ff       	call   0x428cc0
4c4b7a:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4b7d:	b9 f0 f0 f0 00       	mov    $0xf0f0f0,%ecx
4c4b82:	e8 5d 42 fc ff       	call   0x488de4
4c4b87:	6a 01                	push   $0x1
4c4b89:	6a 01                	push   $0x1
4c4b8b:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4b8e:	50                   	push   %eax
4c4b8f:	e8 f4 2f f4 ff       	call   0x407b88
4c4b94:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4b97:	50                   	push   %eax
4c4b98:	68 f0 f0 f0 00       	push   $0xf0f0f0
4c4b9d:	68 ff ff ff 1f       	push   $0x1fffffff
4c4ba2:	68 c0 c0 c0 00       	push   $0xc0c0c0
4c4ba7:	8b cf                	mov    %edi,%ecx
4c4ba9:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4bac:	8b c6                	mov    %esi,%eax
4c4bae:	e8 d9 84 ff ff       	call   0x4bd08c
4c4bb3:	8b 03                	mov    (%ebx),%eax
4c4bb5:	25 02 10 00 00       	and    $0x1002,%eax
4c4bba:	3d 02 10 00 00       	cmp    $0x1002,%eax
4c4bbf:	0f 85 9c 00 00 00    	jne    0x4c4c61
4c4bc5:	8a 43 09             	mov    0x9(%ebx),%al
4c4bc8:	84 c0                	test   %al,%al
4c4bca:	75 06                	jne    0x4c4bd2
4c4bcc:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4c4bd0:	74 06                	je     0x4c4bd8
4c4bd2:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4bd6:	75 0a                	jne    0x4c4be2
4c4bd8:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4c4bdc:	0f 84 11 03 00 00    	je     0x4c4ef3
4c4be2:	84 c0                	test   %al,%al
4c4be4:	74 52                	je     0x4c4c38
4c4be6:	6a ff                	push   $0xffffffff
4c4be8:	6a ff                	push   $0xffffffff
4c4bea:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4bed:	50                   	push   %eax
4c4bee:	e8 95 2f f4 ff       	call   0x407b88
4c4bf3:	8b c6                	mov    %esi,%eax
4c4bf5:	e8 c6 40 f6 ff       	call   0x428cc0
4c4bfa:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4bfd:	b9 d0 d8 dc 00       	mov    $0xdcd8d0,%ecx
4c4c02:	e8 dd 41 fc ff       	call   0x488de4
4c4c07:	6a 01                	push   $0x1
4c4c09:	6a 01                	push   $0x1
4c4c0b:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4c0e:	50                   	push   %eax
4c4c0f:	e8 74 2f f4 ff       	call   0x407b88
4c4c14:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4c17:	50                   	push   %eax
4c4c18:	68 80 80 80 00       	push   $0x808080
4c4c1d:	68 ff ff ff 1f       	push   $0x1fffffff
4c4c22:	68 90 90 90 00       	push   $0x909090
4c4c27:	8b cf                	mov    %edi,%ecx
4c4c29:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4c2c:	8b c6                	mov    %esi,%eax
4c4c2e:	e8 59 84 ff ff       	call   0x4bd08c
4c4c33:	e9 bb 02 00 00       	jmp    0x4c4ef3
4c4c38:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4c3b:	50                   	push   %eax
4c4c3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4c3f:	8b 80 b8 00 00 00    	mov    0xb8(%eax),%eax
4c4c45:	50                   	push   %eax
4c4c46:	68 ff ff ff 1f       	push   $0x1fffffff
4c4c4b:	68 c0 c0 c0 00       	push   $0xc0c0c0
4c4c50:	8b cf                	mov    %edi,%ecx
4c4c52:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4c55:	8b c6                	mov    %esi,%eax
4c4c57:	e8 30 84 ff ff       	call   0x4bd08c
4c4c5c:	e9 92 02 00 00       	jmp    0x4c4ef3
4c4c61:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4c4c65:	75 0a                	jne    0x4c4c71
4c4c67:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4c4c6b:	0f 84 f0 01 00 00    	je     0x4c4e61
4c4c71:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4c75:	0f 84 e6 01 00 00    	je     0x4c4e61
4c4c7b:	6a ff                	push   $0xffffffff
4c4c7d:	6a ff                	push   $0xffffffff
4c4c7f:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4c82:	50                   	push   %eax
4c4c83:	e8 00 2f f4 ff       	call   0x407b88
4c4c88:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4c4c8c:	0f 85 55 01 00 00    	jne    0x4c4de7
4c4c92:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4c4c96:	0f 85 97 00 00 00    	jne    0x4c4d33
4c4c9c:	68 ff f8 d0 00       	push   $0xd0f8ff
4c4ca1:	6a 01                	push   $0x1
4c4ca3:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4ca6:	b9 ff fd f0 00       	mov    $0xf0fdff,%ecx
4c4cab:	8b c6                	mov    %esi,%eax
4c4cad:	e8 8e ec ff ff       	call   0x4c3940
4c4cb2:	6a 01                	push   $0x1
4c4cb4:	6a 01                	push   $0x1
4c4cb6:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4cb9:	50                   	push   %eax
4c4cba:	e8 c9 2e f4 ff       	call   0x407b88
4c4cbf:	ba a0 a0 a0 00       	mov    $0xa0a0a0,%edx
4c4cc4:	8b 46 10             	mov    0x10(%esi),%eax
4c4cc7:	e8 b8 32 f6 ff       	call   0x427f84
4c4ccc:	6a 01                	push   $0x1
4c4cce:	b9 01 00 00 00       	mov    $0x1,%ecx
4c4cd3:	8d 55 e7             	lea    -0x19(%ebp),%edx
4c4cd6:	8b c6                	mov    %esi,%eax
4c4cd8:	e8 d3 e3 ff ff       	call   0x4c30b0
4c4cdd:	6a ff                	push   $0xffffffff
4c4cdf:	6a ff                	push   $0xffffffff
4c4ce1:	8d 45 e7             	lea    -0x19(%ebp),%eax
4c4ce4:	50                   	push   %eax
4c4ce5:	e8 9e 2e f4 ff       	call   0x407b88
4c4cea:	ba df d4 b0 00       	mov    $0xb0d4df,%edx
4c4cef:	8b 46 10             	mov    0x10(%esi),%eax
4c4cf2:	e8 8d 32 f6 ff       	call   0x427f84
4c4cf7:	8b 4d f3             	mov    -0xd(%ebp),%ecx
4c4cfa:	83 e9 02             	sub    $0x2,%ecx