420cc1:	51                   	push   %ecx
420cc2:	8b ce                	mov    %esi,%ecx
420cc4:	e8 d1 06 00 00       	call   0x42139a
420cc9:	8b 46 1c             	mov    0x1c(%esi),%eax
420ccc:	c1 e8 07             	shr    $0x7,%eax
420ccf:	a8 01                	test   $0x1,%al
420cd1:	74 1d                	je     0x420cf0
420cd3:	6a 30                	push   $0x30
420cd5:	5a                   	pop    %edx
420cd6:	39 5e 34             	cmp    %ebx,0x34(%esi)
420cd9:	74 08                	je     0x420ce3
420cdb:	8b 46 30             	mov    0x30(%esi),%eax
420cde:	66 39 10             	cmp    %dx,(%eax)
420ce1:	74 0d                	je     0x420cf0
420ce3:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
420ce7:	8b 4e 30             	mov    0x30(%esi),%ecx
420cea:	66 89 11             	mov    %dx,(%ecx)
420ced:	ff 46 34             	incl   0x34(%esi)
420cf0:	b0 01                	mov    $0x1,%al
420cf2:	5f                   	pop    %edi
420cf3:	5e                   	pop    %esi
420cf4:	5b                   	pop    %ebx
420cf5:	c9                   	leave
420cf6:	c2 04 00             	ret    $0x4
420cf9:	8b ff                	mov    %edi,%edi
420cfb:	55                   	push   %ebp
420cfc:	8b ec                	mov    %esp,%ebp
420cfe:	83 ec 0c             	sub    $0xc,%esp
420d01:	53                   	push   %ebx
420d02:	56                   	push   %esi
420d03:	8b f1                	mov    %ecx,%esi
420d05:	57                   	push   %edi
420d06:	ff 76 28             	push   0x28(%esi)
420d09:	e8 3e 1f 00 00       	call   0x422c4c
420d0e:	59                   	pop    %ecx
420d0f:	8b c8                	mov    %eax,%ecx
420d11:	89 45 f4             	mov    %eax,-0xc(%ebp)
420d14:	6a 00                	push   $0x0
420d16:	5b                   	pop    %ebx
420d17:	83 e9 01             	sub    $0x1,%ecx
420d1a:	0f 84 99 00 00 00    	je     0x420db9
420d20:	83 e9 01             	sub    $0x1,%ecx
420d23:	74 75                	je     0x420d9a
420d25:	49                   	dec    %ecx
420d26:	83 e9 01             	sub    $0x1,%ecx
420d29:	74 46                	je     0x420d71
420d2b:	83 e9 04             	sub    $0x4,%ecx
420d2e:	74 27                	je     0x420d57
420d30:	8b 46 08             	mov    0x8(%esi),%eax
420d33:	83 c0 18             	add    $0x18,%eax
420d36:	c6 40 04 01          	movb   $0x1,0x4(%eax)
420d3a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420d40:	ff 76 08             	push   0x8(%esi)
420d43:	53                   	push   %ebx
420d44:	53                   	push   %ebx
420d45:	53                   	push   %ebx
420d46:	53                   	push   %ebx
420d47:	53                   	push   %ebx
420d48:	e8 b9 eb ff ff       	call   0x41f906
420d4d:	83 c4 18             	add    $0x18,%esp
420d50:	32 c0                	xor    %al,%al
420d52:	e9 28 01 00 00       	jmp    0x420e7f
420d57:	8b 4e 10             	mov    0x10(%esi),%ecx
420d5a:	8b 7e 1c             	mov    0x1c(%esi),%edi
420d5d:	8b c7                	mov    %edi,%eax
420d5f:	c1 e8 04             	shr    $0x4,%eax
420d62:	a8 01                	test   $0x1,%al
420d64:	8d 41 08             	lea    0x8(%ecx),%eax
420d67:	89 46 10             	mov    %eax,0x10(%esi)
420d6a:	8b 01                	mov    (%ecx),%eax
420d6c:	8b 51 04             	mov    0x4(%ecx),%edx
420d6f:	eb 66                	jmp    0x420dd7
420d71:	8b 7e 1c             	mov    0x1c(%esi),%edi
420d74:	8b c7                	mov    %edi,%eax
420d76:	c1 e8 04             	shr    $0x4,%eax
420d79:	a8 01                	test   $0x1,%al
420d7b:	74 0d                	je     0x420d8a
420d7d:	8b 46 10             	mov    0x10(%esi),%eax
420d80:	8d 48 04             	lea    0x4(%eax),%ecx
420d83:	89 4e 10             	mov    %ecx,0x10(%esi)
420d86:	8b 00                	mov    (%eax),%eax
420d88:	eb 4c                	jmp    0x420dd6
420d8a:	8b 4e 10             	mov    0x10(%esi),%ecx
420d8d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
420d90:	8d 41 04             	lea    0x4(%ecx),%eax
420d93:	89 46 10             	mov    %eax,0x10(%esi)
420d96:	8b 01                	mov    (%ecx),%eax
420d98:	eb 40                	jmp    0x420dda
420d9a:	8b 7e 1c             	mov    0x1c(%esi),%edi
420d9d:	8b c7                	mov    %edi,%eax
420d9f:	8b 4e 10             	mov    0x10(%esi),%ecx
420da2:	c1 e8 04             	shr    $0x4,%eax
420da5:	a8 01                	test   $0x1,%al
420da7:	8d 41 04             	lea    0x4(%ecx),%eax
420daa:	89 46 10             	mov    %eax,0x10(%esi)
420dad:	74 05                	je     0x420db4
420daf:	0f bf 01             	movswl (%ecx),%eax
420db2:	eb 22                	jmp    0x420dd6
420db4:	0f b7 01             	movzwl (%ecx),%eax
420db7:	eb 1d                	jmp    0x420dd6
420db9:	8b 7e 1c             	mov    0x1c(%esi),%edi
420dbc:	8b c7                	mov    %edi,%eax
420dbe:	8b 4e 10             	mov    0x10(%esi),%ecx
420dc1:	c1 e8 04             	shr    $0x4,%eax
420dc4:	a8 01                	test   $0x1,%al
420dc6:	8d 41 04             	lea    0x4(%ecx),%eax
420dc9:	89 46 10             	mov    %eax,0x10(%esi)
420dcc:	74 05                	je     0x420dd3
420dce:	0f be 01             	movsbl (%ecx),%eax
420dd1:	eb 03                	jmp    0x420dd6
420dd3:	0f b6 01             	movzbl (%ecx),%eax
420dd6:	99                   	cltd
420dd7:	89 55 f8             	mov    %edx,-0x8(%ebp)
420dda:	8b 55 f8             	mov    -0x8(%ebp),%edx
420ddd:	89 45 fc             	mov    %eax,-0x4(%ebp)
420de0:	8b c7                	mov    %edi,%eax
420de2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420de5:	c1 e8 04             	shr    $0x4,%eax
420de8:	a8 01                	test   $0x1,%al
420dea:	74 16                	je     0x420e02
420dec:	3b d3                	cmp    %ebx,%edx
420dee:	7f 12                	jg     0x420e02
420df0:	7c 04                	jl     0x420df6
420df2:	3b cb                	cmp    %ebx,%ecx
420df4:	73 0c                	jae    0x420e02
420df6:	f7 d9                	neg    %ecx
420df8:	13 d3                	adc    %ebx,%edx
420dfa:	f7 da                	neg    %edx
420dfc:	83 cf 40             	or     $0x40,%edi
420dff:	89 7e 1c             	mov    %edi,0x1c(%esi)
420e02:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
420e06:	89 55 f8             	mov    %edx,-0x8(%ebp)
420e09:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420e0c:	7d 09                	jge    0x420e17
420e0e:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
420e15:	eb 1a                	jmp    0x420e31
420e17:	ff 76 08             	push   0x8(%esi)
420e1a:	83 e7 f7             	and    $0xfffffff7,%edi
420e1d:	8d 4e 3c             	lea    0x3c(%esi),%ecx
420e20:	ff 76 24             	push   0x24(%esi)
420e23:	89 7e 1c             	mov    %edi,0x1c(%esi)
420e26:	e8 2d f2 ff ff       	call   0x420058
420e2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420e2e:	8b 55 f8             	mov    -0x8(%ebp),%edx
420e31:	8b c1                	mov    %ecx,%eax
420e33:	0b c2                	or     %edx,%eax
420e35:	75 04                	jne    0x420e3b
420e37:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
420e3b:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
420e3f:	ff 75 08             	push   0x8(%ebp)
420e42:	88 5e 38             	mov    %bl,0x38(%esi)
420e45:	75 0b                	jne    0x420e52
420e47:	52                   	push   %edx
420e48:	51                   	push   %ecx
420e49:	8b ce                	mov    %esi,%ecx
420e4b:	e8 e6 08 00 00       	call   0x421736
420e50:	eb 08                	jmp    0x420e5a
420e52:	51                   	push   %ecx
420e53:	8b ce                	mov    %esi,%ecx
420e55:	e8 b3 05 00 00       	call   0x42140d
420e5a:	8b 46 1c             	mov    0x1c(%esi),%eax
420e5d:	c1 e8 07             	shr    $0x7,%eax
420e60:	a8 01                	test   $0x1,%al
420e62:	74 19                	je     0x420e7d
420e64:	39 5e 34             	cmp    %ebx,0x34(%esi)
420e67:	74 08                	je     0x420e71
420e69:	8b 46 30             	mov    0x30(%esi),%eax
420e6c:	80 38 30             	cmpb   $0x30,(%eax)
420e6f:	74 0c                	je     0x420e7d
420e71:	ff 4e 30             	decl   0x30(%esi)
420e74:	8b 4e 30             	mov    0x30(%esi),%ecx
420e77:	c6 01 30             	movb   $0x30,(%ecx)
420e7a:	ff 46 34             	incl   0x34(%esi)
420e7d:	b0 01                	mov    $0x1,%al
420e7f:	5f                   	pop    %edi
420e80:	5e                   	pop    %esi
420e81:	5b                   	pop    %ebx
420e82:	c9                   	leave
420e83:	c2 04 00             	ret    $0x4
420e86:	8b ff                	mov    %edi,%edi
420e88:	55                   	push   %ebp
420e89:	8b ec                	mov    %esp,%ebp
420e8b:	83 ec 0c             	sub    $0xc,%esp
420e8e:	53                   	push   %ebx
420e8f:	56                   	push   %esi
420e90:	8b f1                	mov    %ecx,%esi
420e92:	57                   	push   %edi
420e93:	ff 76 28             	push   0x28(%esi)
420e96:	e8 b1 1d 00 00       	call   0x422c4c
420e9b:	59                   	pop    %ecx
420e9c:	8b c8                	mov    %eax,%ecx
420e9e:	89 45 f4             	mov    %eax,-0xc(%ebp)
420ea1:	6a 00                	push   $0x0
420ea3:	5b                   	pop    %ebx
420ea4:	83 e9 01             	sub    $0x1,%ecx
420ea7:	0f 84 99 00 00 00    	je     0x420f46
420ead:	83 e9 01             	sub    $0x1,%ecx
420eb0:	74 75                	je     0x420f27
420eb2:	49                   	dec    %ecx
420eb3:	83 e9 01             	sub    $0x1,%ecx
420eb6:	74 46                	je     0x420efe
420eb8:	83 e9 04             	sub    $0x4,%ecx
420ebb:	74 27                	je     0x420ee4
420ebd:	8b 46 08             	mov    0x8(%esi),%eax
420ec0:	83 c0 18             	add    $0x18,%eax
420ec3:	c6 40 04 01          	movb   $0x1,0x4(%eax)
420ec7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420ecd:	ff 76 08             	push   0x8(%esi)
420ed0:	53                   	push   %ebx
420ed1:	53                   	push   %ebx
420ed2:	53                   	push   %ebx
420ed3:	53                   	push   %ebx
420ed4:	53                   	push   %ebx
420ed5:	e8 2c ea ff ff       	call   0x41f906
420eda:	83 c4 18             	add    $0x18,%esp
420edd:	32 c0                	xor    %al,%al
420edf:	e9 2d 01 00 00       	jmp    0x421011
420ee4:	8b 4e 10             	mov    0x10(%esi),%ecx
420ee7:	8b 7e 1c             	mov    0x1c(%esi),%edi
420eea:	8b c7                	mov    %edi,%eax
420eec:	c1 e8 04             	shr    $0x4,%eax
420eef:	a8 01                	test   $0x1,%al
420ef1:	8d 41 08             	lea    0x8(%ecx),%eax
420ef4:	89 46 10             	mov    %eax,0x10(%esi)
420ef7:	8b 01                	mov    (%ecx),%eax
420ef9:	8b 51 04             	mov    0x4(%ecx),%edx
420efc:	eb 66                	jmp    0x420f64
420efe:	8b 7e 1c             	mov    0x1c(%esi),%edi
420f01:	8b c7                	mov    %edi,%eax
420f03:	c1 e8 04             	shr    $0x4,%eax
420f06:	a8 01                	test   $0x1,%al
420f08:	74 0d                	je     0x420f17
420f0a:	8b 46 10             	mov    0x10(%esi),%eax
420f0d:	8d 48 04             	lea    0x4(%eax),%ecx
420f10:	89 4e 10             	mov    %ecx,0x10(%esi)
420f13:	8b 00                	mov    (%eax),%eax
420f15:	eb 4c                	jmp    0x420f63
420f17:	8b 4e 10             	mov    0x10(%esi),%ecx
420f1a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
420f1d:	8d 41 04             	lea    0x4(%ecx),%eax
420f20:	89 46 10             	mov    %eax,0x10(%esi)
420f23:	8b 01                	mov    (%ecx),%eax
420f25:	eb 40                	jmp    0x420f67
420f27:	8b 7e 1c             	mov    0x1c(%esi),%edi
420f2a:	8b c7                	mov    %edi,%eax
420f2c:	8b 4e 10             	mov    0x10(%esi),%ecx
420f2f:	c1 e8 04             	shr    $0x4,%eax
420f32:	a8 01                	test   $0x1,%al
420f34:	8d 41 04             	lea    0x4(%ecx),%eax
420f37:	89 46 10             	mov    %eax,0x10(%esi)
420f3a:	74 05                	je     0x420f41
420f3c:	0f bf 01             	movswl (%ecx),%eax
420f3f:	eb 22                	jmp    0x420f63
420f41:	0f b7 01             	movzwl (%ecx),%eax
420f44:	eb 1d                	jmp    0x420f63
420f46:	8b 7e 1c             	mov    0x1c(%esi),%edi
420f49:	8b c7                	mov    %edi,%eax
420f4b:	8b 4e 10             	mov    0x10(%esi),%ecx
420f4e:	c1 e8 04             	shr    $0x4,%eax
420f51:	a8 01                	test   $0x1,%al
420f53:	8d 41 04             	lea    0x4(%ecx),%eax
420f56:	89 46 10             	mov    %eax,0x10(%esi)
420f59:	74 05                	je     0x420f60
420f5b:	0f be 01             	movsbl (%ecx),%eax
420f5e:	eb 03                	jmp    0x420f63
420f60:	0f b6 01             	movzbl (%ecx),%eax
420f63:	99                   	cltd
420f64:	89 55 f8             	mov    %edx,-0x8(%ebp)
420f67:	8b 55 f8             	mov    -0x8(%ebp),%edx
420f6a:	89 45 fc             	mov    %eax,-0x4(%ebp)
420f6d:	8b c7                	mov    %edi,%eax
420f6f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420f72:	c1 e8 04             	shr    $0x4,%eax
420f75:	a8 01                	test   $0x1,%al
420f77:	74 16                	je     0x420f8f
420f79:	3b d3                	cmp    %ebx,%edx
420f7b:	7f 12                	jg     0x420f8f
420f7d:	7c 04                	jl     0x420f83
420f7f:	3b cb                	cmp    %ebx,%ecx
420f81:	73 0c                	jae    0x420f8f
420f83:	f7 d9                	neg    %ecx
420f85:	13 d3                	adc    %ebx,%edx
420f87:	f7 da                	neg    %edx
420f89:	83 cf 40             	or     $0x40,%edi
420f8c:	89 7e 1c             	mov    %edi,0x1c(%esi)
420f8f:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
420f93:	89 55 f8             	mov    %edx,-0x8(%ebp)
420f96:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420f99:	7d 09                	jge    0x420fa4
420f9b:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
420fa2:	eb 1a                	jmp    0x420fbe
420fa4:	ff 76 08             	push   0x8(%esi)
420fa7:	83 e7 f7             	and    $0xfffffff7,%edi
420faa:	8d 4e 3c             	lea    0x3c(%esi),%ecx
420fad:	ff 76 24             	push   0x24(%esi)
420fb0:	89 7e 1c             	mov    %edi,0x1c(%esi)
420fb3:	e8 21 f1 ff ff       	call   0x4200d9
420fb8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420fbb:	8b 55 f8             	mov    -0x8(%ebp),%edx
420fbe:	8b c1                	mov    %ecx,%eax
420fc0:	0b c2                	or     %edx,%eax
420fc2:	75 04                	jne    0x420fc8
420fc4:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
420fc8:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
420fcc:	ff 75 08             	push   0x8(%ebp)
420fcf:	c6 46 38 01          	movb   $0x1,0x38(%esi)
420fd3:	75 0b                	jne    0x420fe0
420fd5:	52                   	push   %edx
420fd6:	51                   	push   %ecx
420fd7:	8b ce                	mov    %esi,%ecx
420fd9:	e8 ff 07 00 00       	call   0x4217dd
420fde:	eb 08                	jmp    0x420fe8
420fe0:	51                   	push   %ecx
420fe1:	8b ce                	mov    %esi,%ecx
420fe3:	e8 ac 04 00 00       	call   0x421494
420fe8:	8b 46 1c             	mov    0x1c(%esi),%eax
420feb:	c1 e8 07             	shr    $0x7,%eax
420fee:	a8 01                	test   $0x1,%al
420ff0:	74 1d                	je     0x42100f
420ff2:	6a 30                	push   $0x30
420ff4:	5a                   	pop    %edx
420ff5:	39 5e 34             	cmp    %ebx,0x34(%esi)
420ff8:	74 08                	je     0x421002
420ffa:	8b 46 30             	mov    0x30(%esi),%eax
420ffd:	66 39 10             	cmp    %dx,(%eax)
421000:	74 0d                	je     0x42100f
421002:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
421006:	8b 4e 30             	mov    0x30(%esi),%ecx
421009:	66 89 11             	mov    %dx,(%ecx)
42100c:	ff 46 34             	incl   0x34(%esi)
42100f:	b0 01                	mov    $0x1,%al
421011:	5f                   	pop    %edi
421012:	5e                   	pop    %esi
421013:	5b                   	pop    %ebx
421014:	c9                   	leave
421015:	c2 04 00             	ret    $0x4
421018:	8b ff                	mov    %edi,%edi
42101a:	55                   	push   %ebp
42101b:	8b ec                	mov    %esp,%ebp
42101d:	83 ec 0c             	sub    $0xc,%esp
421020:	53                   	push   %ebx
421021:	56                   	push   %esi
421022:	8b f1                	mov    %ecx,%esi
421024:	57                   	push   %edi
421025:	ff 76 28             	push   0x28(%esi)
421028:	e8 1f 1c 00 00       	call   0x422c4c
42102d:	59                   	pop    %ecx
42102e:	8b c8                	mov    %eax,%ecx
421030:	89 45 f4             	mov    %eax,-0xc(%ebp)
421033:	6a 00                	push   $0x0