4cea18:	8b f2                	mov    %edx,%esi
4cea1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
4cea1d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4cea20:	8b 45 f8             	mov    -0x8(%ebp),%eax
4cea23:	56                   	push   %esi
4cea24:	8b f0                	mov    %eax,%esi
4cea26:	8d 7d e8             	lea    -0x18(%ebp),%edi
4cea29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cea2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cea2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cea2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cea2d:	5e                   	pop    %esi
4cea2e:	53                   	push   %ebx
4cea2f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4cea32:	8b d6                	mov    %esi,%edx
4cea34:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cea37:	8b 38                	mov    (%eax),%edi
4cea39:	ff 57 54             	call   *0x54(%edi)
4cea3c:	ba 3c 00 00 00       	mov    $0x3c,%edx
4cea41:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cea44:	8b 08                	mov    (%eax),%ecx
4cea46:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4cea4c:	8b f8                	mov    %eax,%edi
4cea4e:	8b c7                	mov    %edi,%eax
4cea50:	f7 d8                	neg    %eax
4cea52:	50                   	push   %eax
4cea53:	8b c7                	mov    %edi,%eax
4cea55:	f7 d8                	neg    %eax
4cea57:	50                   	push   %eax
4cea58:	8d 45 e8             	lea    -0x18(%ebp),%eax
4cea5b:	50                   	push   %eax
4cea5c:	e8 27 91 f3 ff       	call   0x407b88
4cea61:	8b 45 08             	mov    0x8(%ebp),%eax
4cea64:	8b 40 04             	mov    0x4(%eax),%eax
4cea67:	85 c0                	test   %eax,%eax
4cea69:	7e 09                	jle    0x4cea74
4cea6b:	8b 55 08             	mov    0x8(%ebp),%edx
4cea6e:	83 e8 02             	sub    $0x2,%eax
4cea71:	29 45 f0             	sub    %eax,-0x10(%ebp)
4cea74:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cea78:	74 39                	je     0x4ceab3
4cea7a:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4cea7e:	75 0f                	jne    0x4cea8f
4cea80:	ba d0 d0 d0 00       	mov    $0xd0d0d0,%edx
4cea85:	8b 46 14             	mov    0x14(%esi),%eax
4cea88:	e8 f7 97 f5 ff       	call   0x428284
4cea8d:	eb 0d                	jmp    0x4cea9c
4cea8f:	ba ff ff ff 00       	mov    $0xffffff,%edx
4cea94:	8b 46 14             	mov    0x14(%esi),%eax
4cea97:	e8 e8 97 f5 ff       	call   0x428284
4cea9c:	8d 55 e8             	lea    -0x18(%ebp),%edx
4cea9f:	8b c6                	mov    %esi,%eax
4ceaa1:	e8 92 9c f5 ff       	call   0x428738
4ceaa6:	ba ff ff ff 00       	mov    $0xffffff,%edx
4ceaab:	8b 46 14             	mov    0x14(%esi),%eax
4ceaae:	e8 d1 97 f5 ff       	call   0x428284
4ceab3:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4ceab7:	75 3d                	jne    0x4ceaf6
4ceab9:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4ceabd:	75 13                	jne    0x4cead2
4ceabf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ceac2:	8b 90 94 00 00 00    	mov    0x94(%eax),%edx
4ceac8:	8b 46 14             	mov    0x14(%esi),%eax
4ceacb:	e8 b4 97 f5 ff       	call   0x428284
4cead0:	eb 0d                	jmp    0x4ceadf
4cead2:	ba ff ff ff 00       	mov    $0xffffff,%edx
4cead7:	8b 46 14             	mov    0x14(%esi),%eax
4ceada:	e8 a5 97 f5 ff       	call   0x428284
4ceadf:	8d 55 e8             	lea    -0x18(%ebp),%edx
4ceae2:	8b c6                	mov    %esi,%eax
4ceae4:	e8 4f 9c f5 ff       	call   0x428738
4ceae9:	ba ff ff ff 00       	mov    $0xffffff,%edx
4ceaee:	8b 46 14             	mov    0x14(%esi),%eax
4ceaf1:	e8 8e 97 f5 ff       	call   0x428284
4ceaf6:	6a ff                	push   $0xffffffff
4ceaf8:	6a ff                	push   $0xffffffff
4ceafa:	8d 45 e8             	lea    -0x18(%ebp),%eax
4ceafd:	50                   	push   %eax
4ceafe:	e8 85 90 f3 ff       	call   0x407b88
4ceb03:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4ceb07:	74 0a                	je     0x4ceb13
4ceb09:	8d 55 e8             	lea    -0x18(%ebp),%edx
4ceb0c:	8b c6                	mov    %esi,%eax
4ceb0e:	e8 e9 9b f5 ff       	call   0x4286fc
4ceb13:	8b 45 08             	mov    0x8(%ebp),%eax
4ceb16:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4ceb1a:	7e 42                	jle    0x4ceb5e
4ceb1c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ceb1f:	56                   	push   %esi
4ceb20:	57                   	push   %edi
4ceb21:	8b f0                	mov    %eax,%esi
4ceb23:	8d 7d e8             	lea    -0x18(%ebp),%edi
4ceb26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ceb27:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ceb28:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ceb29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ceb2a:	5f                   	pop    %edi
4ceb2b:	5e                   	pop    %esi
4ceb2c:	8b c7                	mov    %edi,%eax
4ceb2e:	f7 d8                	neg    %eax
4ceb30:	50                   	push   %eax
4ceb31:	f7 df                	neg    %edi
4ceb33:	57                   	push   %edi
4ceb34:	8d 45 e8             	lea    -0x18(%ebp),%eax
4ceb37:	50                   	push   %eax
4ceb38:	e8 4b 90 f3 ff       	call   0x407b88
4ceb3d:	8b 45 08             	mov    0x8(%ebp),%eax
4ceb40:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ceb43:	2b 50 04             	sub    0x4(%eax),%edx
4ceb46:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ceb49:	53                   	push   %ebx
4ceb4a:	8b 45 08             	mov    0x8(%ebp),%eax
4ceb4d:	83 c0 10             	add    $0x10,%eax
4ceb50:	50                   	push   %eax
4ceb51:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4ceb54:	8b d6                	mov    %esi,%edx
4ceb56:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ceb59:	8b 18                	mov    (%eax),%ebx
4ceb5b:	ff 53 40             	call   *0x40(%ebx)
4ceb5e:	5f                   	pop    %edi
4ceb5f:	5e                   	pop    %esi
4ceb60:	5b                   	pop    %ebx
4ceb61:	8b e5                	mov    %ebp,%esp
4ceb63:	5d                   	pop    %ebp
4ceb64:	c2 08 00             	ret    $0x8
4ceb67:	90                   	nop
4ceb68:	55                   	push   %ebp
4ceb69:	8b ec                	mov    %esp,%ebp
4ceb6b:	83 c4 c8             	add    $0xffffffc8,%esp
4ceb6e:	53                   	push   %ebx
4ceb6f:	56                   	push   %esi
4ceb70:	57                   	push   %edi
4ceb71:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ceb74:	8b fa                	mov    %edx,%edi
4ceb76:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ceb79:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ceb7c:	8b 1b                	mov    (%ebx),%ebx
4ceb7e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ceb81:	03 58 08             	add    0x8(%eax),%ebx
4ceb84:	d1 fb                	sar    $1,%ebx
4ceb86:	79 03                	jns    0x4ceb8b
4ceb88:	83 d3 00             	adc    $0x0,%ebx
4ceb8b:	8b 75 f8             	mov    -0x8(%ebp),%esi
4ceb8e:	8b 76 04             	mov    0x4(%esi),%esi
4ceb91:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ceb94:	03 70 0c             	add    0xc(%eax),%esi
4ceb97:	d1 fe                	sar    $1,%esi
4ceb99:	79 03                	jns    0x4ceb9e
4ceb9b:	83 d6 00             	adc    $0x0,%esi
4ceb9e:	4e                   	dec    %esi
4ceb9f:	8b 55 08             	mov    0x8(%ebp),%edx
4ceba2:	b1 01                	mov    $0x1,%cl
4ceba4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ceba7:	e8 f4 ef ff ff       	call   0x4cdba0
4cebac:	8b d0                	mov    %eax,%edx
4cebae:	8b 47 10             	mov    0x10(%edi),%eax
4cebb1:	e8 ce 93 f5 ff       	call   0x427f84
4cebb6:	8b 47 10             	mov    0x10(%edi),%eax
4cebb9:	e8 be 93 f5 ff       	call   0x427f7c
4cebbe:	8b d0                	mov    %eax,%edx
4cebc0:	8b 47 14             	mov    0x14(%edi),%eax
4cebc3:	e8 bc 96 f5 ff       	call   0x428284
4cebc8:	8b 45 08             	mov    0x8(%ebp),%eax
4cebcb:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
4cebcf:	74 60                	je     0x4cec31
4cebd1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4cebd4:	8d 56 02             	lea    0x2(%esi),%edx
4cebd7:	8b c3                	mov    %ebx,%eax
4cebd9:	e8 6e ba f4 ff       	call   0x41a64c
4cebde:	8b 45 d8             	mov    -0x28(%ebp),%eax
4cebe1:	89 45 e0             	mov    %eax,-0x20(%ebp)
4cebe4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4cebe7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4cebea:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4cebed:	8b d6                	mov    %esi,%edx
4cebef:	83 ea 02             	sub    $0x2,%edx
4cebf2:	8b c3                	mov    %ebx,%eax
4cebf4:	e8 53 ba f4 ff       	call   0x41a64c
4cebf9:	8b 45 d0             	mov    -0x30(%ebp),%eax
4cebfc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4cebff:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4cec02:	89 45 ec             	mov    %eax,-0x14(%ebp)
4cec05:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4cec08:	8b c3                	mov    %ebx,%eax
4cec0a:	83 e8 02             	sub    $0x2,%eax
4cec0d:	8b d6                	mov    %esi,%edx
4cec0f:	e8 38 ba f4 ff       	call   0x41a64c
4cec14:	8b 45 c8             	mov    -0x38(%ebp),%eax
4cec17:	89 45 f0             	mov    %eax,-0x10(%ebp)
4cec1a:	8b 45 cc             	mov    -0x34(%ebp),%eax
4cec1d:	89 45 f4             	mov    %eax,-0xc(%ebp)
4cec20:	8d 55 e0             	lea    -0x20(%ebp),%edx
4cec23:	b9 02 00 00 00       	mov    $0x2,%ecx
4cec28:	8b c7                	mov    %edi,%eax
4cec2a:	e8 d1 9b f5 ff       	call   0x428800
4cec2f:	eb 5c                	jmp    0x4cec8d
4cec31:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4cec34:	8b c3                	mov    %ebx,%eax
4cec36:	83 e8 02             	sub    $0x2,%eax
4cec39:	8b d6                	mov    %esi,%edx
4cec3b:	e8 0c ba f4 ff       	call   0x41a64c
4cec40:	8b 45 d8             	mov    -0x28(%ebp),%eax
4cec43:	89 45 e0             	mov    %eax,-0x20(%ebp)
4cec46:	8b 45 dc             	mov    -0x24(%ebp),%eax
4cec49:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4cec4c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4cec4f:	8d 43 02             	lea    0x2(%ebx),%eax
4cec52:	8b d6                	mov    %esi,%edx
4cec54:	e8 f3 b9 f4 ff       	call   0x41a64c
4cec59:	8b 45 d0             	mov    -0x30(%ebp),%eax
4cec5c:	89 45 e8             	mov    %eax,-0x18(%ebp)
4cec5f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4cec62:	89 45 ec             	mov    %eax,-0x14(%ebp)
4cec65:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4cec68:	8d 56 02             	lea    0x2(%esi),%edx
4cec6b:	8b c3                	mov    %ebx,%eax
4cec6d:	e8 da b9 f4 ff       	call   0x41a64c
4cec72:	8b 45 c8             	mov    -0x38(%ebp),%eax
4cec75:	89 45 f0             	mov    %eax,-0x10(%ebp)
4cec78:	8b 45 cc             	mov    -0x34(%ebp),%eax
4cec7b:	89 45 f4             	mov    %eax,-0xc(%ebp)
4cec7e:	8d 55 e0             	lea    -0x20(%ebp),%edx
4cec81:	b9 02 00 00 00       	mov    $0x2,%ecx
4cec86:	8b c7                	mov    %edi,%eax
4cec88:	e8 73 9b f5 ff       	call   0x428800
4cec8d:	5f                   	pop    %edi
4cec8e:	5e                   	pop    %esi
4cec8f:	5b                   	pop    %ebx
4cec90:	8b e5                	mov    %ebp,%esp
4cec92:	5d                   	pop    %ebp
4cec93:	c2 04 00             	ret    $0x4
4cec96:	8b c0                	mov    %eax,%eax
4cec98:	55                   	push   %ebp
4cec99:	8b ec                	mov    %esp,%ebp
4cec9b:	83 c4 e4             	add    $0xffffffe4,%esp
4cec9e:	53                   	push   %ebx
4cec9f:	56                   	push   %esi
4ceca0:	57                   	push   %edi
4ceca1:	8b f9                	mov    %ecx,%edi
4ceca3:	8b f2                	mov    %edx,%esi
4ceca5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ceca8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4cecab:	56                   	push   %esi
4cecac:	8b f7                	mov    %edi,%esi
4cecae:	8d 7d e7             	lea    -0x19(%ebp),%edi
4cecb1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cecb2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cecb3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cecb4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cecb5:	5e                   	pop    %esi
4cecb6:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cecba:	74 06                	je     0x4cecc2
4cecbc:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4cecc0:	75 10                	jne    0x4cecd2
4cecc2:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cecc6:	75 06                	jne    0x4cecce
4cecc8:	80 7b 0a 01          	cmpb   $0x1,0xa(%ebx)
4ceccc:	74 04                	je     0x4cecd2
4cecce:	33 c0                	xor    %eax,%eax
4cecd0:	eb 02                	jmp    0x4cecd4
4cecd2:	b0 01                	mov    $0x1,%al
4cecd4:	88 45 f7             	mov    %al,-0x9(%ebp)
4cecd7:	8b 03                	mov    (%ebx),%eax
4cecd9:	8b d0                	mov    %eax,%edx
4cecdb:	81 e2 00 10 00 00    	and    $0x1000,%edx
4cece1:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4cece7:	75 0c                	jne    0x4cecf5
4cece9:	25 00 02 00 00       	and    $0x200,%eax
4cecee:	3d 00 02 00 00       	cmp    $0x200,%eax
4cecf3:	74 04                	je     0x4cecf9
4cecf5:	33 c0                	xor    %eax,%eax
4cecf7:	eb 02                	jmp    0x4cecfb
4cecf9:	b0 01                	mov    $0x1,%al
4cecfb:	bf 02 00 00 00       	mov    $0x2,%edi
4ced00:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4ced07:	8a 53 19             	mov    0x19(%ebx),%dl
4ced0a:	80 fa 03             	cmp    $0x3,%dl
4ced0d:	75 04                	jne    0x4ced13
4ced0f:	ff 4d e7             	decl   -0x19(%ebp)
4ced12:	4f                   	dec    %edi
4ced13:	80 fa 02             	cmp    $0x2,%dl
4ced16:	75 03                	jne    0x4ced1b
4ced18:	ff 4d f8             	decl   -0x8(%ebp)
4ced1b:	f6 43 04 01          	testb  $0x1,0x4(%ebx)
4ced1f:	75 0c                	jne    0x4ced2d
4ced21:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4ced28:	bf 01 00 00 00       	mov    $0x1,%edi
4ced2d:	84 c0                	test   %al,%al
4ced2f:	74 71                	je     0x4ceda2
4ced31:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4ced35:	75 6b                	jne    0x4ceda2
4ced37:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4ced3b:	74 4b                	je     0x4ced88
4ced3d:	6a ff                	push   $0xffffffff
4ced3f:	6a ff                	push   $0xffffffff
4ced41:	8d 45 e7             	lea    -0x19(%ebp),%eax
4ced44:	50                   	push   %eax
4ced45:	e8 3e 8e f3 ff       	call   0x407b88
4ced4a:	8b c6                	mov    %esi,%eax
4ced4c:	e8 6f 9f f5 ff       	call   0x428cc0
4ced51:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ced54:	8b 4a 10             	mov    0x10(%edx),%ecx
4ced57:	8d 55 e7             	lea    -0x19(%ebp),%edx
4ced5a:	e8 85 a0 fb ff       	call   0x488de4
4ced5f:	6a 01                	push   $0x1
4ced61:	6a 01                	push   $0x1
4ced63:	8d 45 e7             	lea    -0x19(%ebp),%eax
4ced66:	50                   	push   %eax
4ced67:	e8 1c 8e f3 ff       	call   0x407b88
4ced6c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ced6f:	50                   	push   %eax
4ced70:	68 b0 b0 b0 00       	push   $0xb0b0b0
4ced75:	68 ff ff ff 1f       	push   $0x1fffffff
4ced7a:	8b cf                	mov    %edi,%ecx
4ced7c:	8d 55 e7             	lea    -0x19(%ebp),%edx
4ced7f:	8b c6                	mov    %esi,%eax
4ced81:	e8 da e5 fe ff       	call   0x4bd360
4ced86:	eb 1a                	jmp    0x4ceda2
4ced88:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ced8b:	50                   	push   %eax
4ced8c:	68 c0 c0 c0 00       	push   $0xc0c0c0
4ced91:	68 ff ff ff 1f       	push   $0x1fffffff
4ced96:	8b cf                	mov    %edi,%ecx
4ced98:	8d 55 e7             	lea    -0x19(%ebp),%edx
4ced9b:	8b c6                	mov    %esi,%eax
4ced9d:	e8 be e5 fe ff       	call   0x4bd360
4ceda2:	8b 03                	mov    (%ebx),%eax
4ceda4:	25 02 10 00 00       	and    $0x1002,%eax
4ceda9:	3d 02 10 00 00       	cmp    $0x1002,%eax
4cedae:	75 2f                	jne    0x4ceddf
4cedb0:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4cedb4:	75 06                	jne    0x4cedbc
4cedb6:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4cedba:	74 06                	je     0x4cedc2
4cedbc:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cedc0:	75 0a                	jne    0x4cedcc
4cedc2:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4cedc6:	0f 84 82 01 00 00    	je     0x4cef4e
4cedcc:	6a 01                	push   $0x1
4cedce:	8d 55 e7             	lea    -0x19(%ebp),%edx
4cedd1:	b1 01                	mov    $0x1,%cl
4cedd3:	8b c6                	mov    %esi,%eax
4cedd5:	e8 d6 ef fe ff       	call   0x4bddb0
4cedda:	e9 6f 01 00 00       	jmp    0x4cef4e
4ceddf:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4cede3:	75 0a                	jne    0x4cedef
4cede5:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4cede9:	0f 84 f5 00 00 00    	je     0x4ceee4
4cedef:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cedf3:	0f 84 eb 00 00 00    	je     0x4ceee4