423c1a:	e8 cd e4 ff ff       	call   0x4220ec
423c1f:	8b 55 08             	mov    0x8(%ebp),%edx
423c22:	89 02                	mov    %eax,(%edx)
423c24:	33 c0                	xor    %eax,%eax
423c26:	5a                   	pop    %edx
423c27:	59                   	pop    %ecx
423c28:	59                   	pop    %ecx
423c29:	64 89 10             	mov    %edx,%fs:(%eax)
423c2c:	eb 1a                	jmp    0x423c48
423c2e:	e9 b5 fa fd ff       	jmp    0x4036e8
423c33:	8b 45 fc             	mov    -0x4(%ebp),%eax
423c36:	8b 00                	mov    (%eax),%eax
423c38:	50                   	push   %eax
423c39:	e8 1e 26 fe ff       	call   0x40625c
423c3e:	e8 b9 fd fd ff       	call   0x4039fc
423c43:	e8 08 fe fd ff       	call   0x403a50
423c48:	5f                   	pop    %edi
423c49:	5e                   	pop    %esi
423c4a:	5b                   	pop    %ebx
423c4b:	8b e5                	mov    %ebp,%esp
423c4d:	5d                   	pop    %ebp
423c4e:	c2 04 00             	ret    $0x4
423c51:	8d 40 00             	lea    0x0(%eax),%eax
423c54:	53                   	push   %ebx
423c55:	56                   	push   %esi
423c56:	e8 79 f9 fd ff       	call   0x4035d4
423c5b:	8b da                	mov    %edx,%ebx
423c5d:	8b f0                	mov    %eax,%esi
423c5f:	8b 46 0c             	mov    0xc(%esi),%eax
423c62:	e8 e1 f5 fd ff       	call   0x403248
423c67:	8b d3                	mov    %ebx,%edx
423c69:	80 e2 fc             	and    $0xfc,%dl
423c6c:	8b c6                	mov    %esi,%eax
423c6e:	e8 c5 f5 fd ff       	call   0x403238
423c73:	84 db                	test   %bl,%bl
423c75:	7e 07                	jle    0x423c7e
423c77:	8b c6                	mov    %esi,%eax
423c79:	e8 3e f9 fd ff       	call   0x4035bc
423c7e:	5e                   	pop    %esi
423c7f:	5b                   	pop    %ebx
423c80:	c3                   	ret
423c81:	8d 40 00             	lea    0x0(%eax),%eax
423c84:	53                   	push   %ebx
423c85:	8b d8                	mov    %eax,%ebx
423c87:	8b 43 08             	mov    0x8(%ebx),%eax
423c8a:	85 c0                	test   %eax,%eax
423c8c:	74 06                	je     0x423c94
423c8e:	50                   	push   %eax
423c8f:	e8 18 28 fe ff       	call   0x4064ac
423c94:	33 c0                	xor    %eax,%eax
423c96:	89 43 08             	mov    %eax,0x8(%ebx)
423c99:	5b                   	pop    %ebx
423c9a:	c3                   	ret
423c9b:	90                   	nop
423c9c:	53                   	push   %ebx
423c9d:	56                   	push   %esi
423c9e:	57                   	push   %edi
423c9f:	84 d2                	test   %dl,%dl
423ca1:	74 08                	je     0x423cab
423ca3:	83 c4 f0             	add    $0xfffffff0,%esp
423ca6:	e8 c1 f8 fd ff       	call   0x40356c
423cab:	8b da                	mov    %edx,%ebx
423cad:	8b f8                	mov    %eax,%edi
423caf:	33 d2                	xor    %edx,%edx
423cb1:	8b c7                	mov    %edi,%eax
423cb3:	e8 9c ba ff ff       	call   0x41f754
423cb8:	c6 47 21 01          	movb   $0x1,0x21(%edi)
423cbc:	b2 01                	mov    $0x1,%dl
423cbe:	a1 04 c4 41 00       	mov    0x41c404,%eax
423cc3:	e8 50 f5 fd ff       	call   0x403218
423cc8:	8b f0                	mov    %eax,%esi
423cca:	89 77 28             	mov    %esi,0x28(%edi)
423ccd:	8b c6                	mov    %esi,%eax
423ccf:	e8 e0 db ff ff       	call   0x4218b4
423cd4:	8b c7                	mov    %edi,%eax
423cd6:	84 db                	test   %bl,%bl
423cd8:	74 0f                	je     0x423ce9
423cda:	e8 e5 f8 fd ff       	call   0x4035c4
423cdf:	64 8f 05 00 00 00 00 	pop    %fs:0x0
423ce6:	83 c4 0c             	add    $0xc,%esp
423ce9:	8b c7                	mov    %edi,%eax
423ceb:	5f                   	pop    %edi
423cec:	5e                   	pop    %esi
423ced:	5b                   	pop    %ebx
423cee:	c3                   	ret
423cef:	90                   	nop
423cf0:	53                   	push   %ebx
423cf1:	56                   	push   %esi
423cf2:	e8 dd f8 fd ff       	call   0x4035d4
423cf7:	8b da                	mov    %edx,%ebx
423cf9:	8b f0                	mov    %eax,%esi
423cfb:	8b 46 28             	mov    0x28(%esi),%eax
423cfe:	e8 b5 db ff ff       	call   0x4218b8
423d03:	8b d3                	mov    %ebx,%edx
423d05:	80 e2 fc             	and    $0xfc,%dl
423d08:	8b c6                	mov    %esi,%eax
423d0a:	e8 55 06 ff ff       	call   0x414364
423d0f:	84 db                	test   %bl,%bl
423d11:	7e 07                	jle    0x423d1a
423d13:	8b c6                	mov    %esi,%eax
423d15:	e8 a2 f8 fd ff       	call   0x4035bc
423d1a:	5e                   	pop    %esi
423d1b:	5b                   	pop    %ebx
423d1c:	c3                   	ret
423d1d:	8d 40 00             	lea    0x0(%eax),%eax
423d20:	53                   	push   %ebx
423d21:	56                   	push   %esi
423d22:	57                   	push   %edi
423d23:	8b da                	mov    %edx,%ebx
423d25:	8b f0                	mov    %eax,%esi
423d27:	85 db                	test   %ebx,%ebx
423d29:	74 11                	je     0x423d3c
423d2b:	8b c3                	mov    %ebx,%eax
423d2d:	8b 15 60 c4 41 00    	mov    0x41c460,%edx
423d33:	e8 9c f6 fd ff       	call   0x4033d4
423d38:	84 c0                	test   %al,%al
423d3a:	74 34                	je     0x423d70
423d3c:	85 db                	test   %ebx,%ebx
423d3e:	74 1a                	je     0x423d5a
423d40:	8b fb                	mov    %ebx,%edi
423d42:	8b 47 28             	mov    0x28(%edi),%eax
423d45:	e8 6a db ff ff       	call   0x4218b4
423d4a:	8b 46 28             	mov    0x28(%esi),%eax
423d4d:	e8 66 db ff ff       	call   0x4218b8
423d52:	8b 47 28             	mov    0x28(%edi),%eax
423d55:	89 46 28             	mov    %eax,0x28(%esi)
423d58:	eb 0b                	jmp    0x423d65
423d5a:	33 c9                	xor    %ecx,%ecx
423d5c:	33 d2                	xor    %edx,%edx
423d5e:	8b c6                	mov    %esi,%eax
423d60:	e8 93 02 00 00       	call   0x423ff8
423d65:	8b d6                	mov    %esi,%edx
423d67:	8b c6                	mov    %esi,%eax
423d69:	8b 08                	mov    (%eax),%ecx
423d6b:	ff 51 10             	call   *0x10(%ecx)
423d6e:	eb 09                	jmp    0x423d79
423d70:	8b d3                	mov    %ebx,%edx
423d72:	8b c6                	mov    %esi,%eax
423d74:	e8 17 06 ff ff       	call   0x414390
423d79:	5f                   	pop    %edi
423d7a:	5e                   	pop    %esi
423d7b:	5b                   	pop    %ebx
423d7c:	c3                   	ret
423d7d:	8d 40 00             	lea    0x0(%eax),%eax
423d80:	53                   	push   %ebx
423d81:	56                   	push   %esi
423d82:	57                   	push   %edi
423d83:	8b f9                	mov    %ecx,%edi
423d85:	8b f2                	mov    %edx,%esi
423d87:	8b d8                	mov    %eax,%ebx
423d89:	8a 15 bc 3d 42 00    	mov    0x423dbc,%dl
423d8f:	8b c6                	mov    %esi,%eax
423d91:	e8 1a a5 ff ff       	call   0x41e2b0
423d96:	6a 03                	push   $0x3
423d98:	6a 00                	push   $0x0
423d9a:	6a 00                	push   $0x0
423d9c:	6a 00                	push   $0x0
423d9e:	6a 00                	push   $0x0
423da0:	8b c3                	mov    %ebx,%eax
423da2:	e8 31 00 00 00       	call   0x423dd8
423da7:	50                   	push   %eax
423da8:	8b 47 04             	mov    0x4(%edi),%eax
423dab:	50                   	push   %eax
423dac:	8b 07                	mov    (%edi),%eax
423dae:	50                   	push   %eax
423daf:	8b 46 04             	mov    0x4(%esi),%eax
423db2:	50                   	push   %eax
423db3:	e8 34 27 fe ff       	call   0x4064ec
423db8:	5f                   	pop    %edi
423db9:	5e                   	pop    %esi
423dba:	5b                   	pop    %ebx
423dbb:	c3                   	ret
423dbc:	01 00                	add    %eax,(%eax)
423dbe:	00 00                	add    %al,(%eax)
423dc0:	8b 40 28             	mov    0x28(%eax),%eax
423dc3:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
423dc7:	75 06                	jne    0x423dcf
423dc9:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
423dcd:	74 03                	je     0x423dd2
423dcf:	33 c0                	xor    %eax,%eax
423dd1:	c3                   	ret
423dd2:	b0 01                	mov    $0x1,%al
423dd4:	c3                   	ret
423dd5:	8d 40 00             	lea    0x0(%eax),%eax
423dd8:	53                   	push   %ebx
423dd9:	8b d8                	mov    %eax,%ebx
423ddb:	8b c3                	mov    %ebx,%eax
423ddd:	e8 32 00 00 00       	call   0x423e14
423de2:	8b 43 28             	mov    0x28(%ebx),%eax
423de5:	8b 40 08             	mov    0x8(%eax),%eax
423de8:	5b                   	pop    %ebx
423de9:	c3                   	ret
423dea:	8b c0                	mov    %eax,%eax
423dec:	8b 40 28             	mov    0x28(%eax),%eax
423def:	8b 40 14             	mov    0x14(%eax),%eax
423df2:	85 c0                	test   %eax,%eax
423df4:	75 07                	jne    0x423dfd
423df6:	6a 0c                	push   $0xc
423df8:	e8 8f 28 fe ff       	call   0x40668c
423dfd:	c3                   	ret
423dfe:	8b c0                	mov    %eax,%eax
423e00:	8b 40 28             	mov    0x28(%eax),%eax
423e03:	8b 40 10             	mov    0x10(%eax),%eax
423e06:	85 c0                	test   %eax,%eax
423e08:	75 07                	jne    0x423e11
423e0a:	6a 0b                	push   $0xb
423e0c:	e8 7b 28 fe ff       	call   0x40668c
423e11:	c3                   	ret
423e12:	8b c0                	mov    %eax,%eax
423e14:	53                   	push   %ebx
423e15:	56                   	push   %esi
423e16:	83 c4 f4             	add    $0xfffffff4,%esp
423e19:	8b f0                	mov    %eax,%esi
423e1b:	8b 5e 28             	mov    0x28(%esi),%ebx
423e1e:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
423e22:	75 62                	jne    0x423e86
423e24:	8b 43 0c             	mov    0xc(%ebx),%eax
423e27:	85 c0                	test   %eax,%eax
423e29:	74 5b                	je     0x423e86
423e2b:	6a 00                	push   $0x0
423e2d:	6a 00                	push   $0x0
423e2f:	e8 68 23 ff ff       	call   0x41619c
423e34:	8b d4                	mov    %esp,%edx
423e36:	b9 06 00 00 00       	mov    $0x6,%ecx
423e3b:	8b 43 0c             	mov    0xc(%ebx),%eax
423e3e:	e8 65 25 ff ff       	call   0x4163a8
423e43:	66 8b 44 24 02       	mov    0x2(%esp),%ax
423e48:	66 83 e8 01          	sub    $0x1,%ax
423e4c:	72 04                	jb     0x423e52
423e4e:	74 0d                	je     0x423e5d
423e50:	eb 28                	jmp    0x423e7a
423e52:	a1 a4 e8 46 00       	mov    0x46e8a4,%eax
423e57:	89 44 24 08          	mov    %eax,0x8(%esp)
423e5b:	eb 22                	jmp    0x423e7f
423e5d:	6a 06                	push   $0x6
423e5f:	8d 46 2c             	lea    0x2c(%esi),%eax
423e62:	50                   	push   %eax
423e63:	8d 43 10             	lea    0x10(%ebx),%eax
423e66:	50                   	push   %eax
423e67:	0f b7 4c 24 10       	movzwl 0x10(%esp),%ecx
423e6c:	8d 54 24 14          	lea    0x14(%esp),%edx
423e70:	8b 43 0c             	mov    0xc(%ebx),%eax
423e73:	e8 9c b1 ff ff       	call   0x41f014
423e78:	eb 05                	jmp    0x423e7f
423e7a:	e8 41 a6 ff ff       	call   0x41e4c0
423e7f:	8b 44 24 08          	mov    0x8(%esp),%eax
423e83:	89 43 08             	mov    %eax,0x8(%ebx)
423e86:	83 c4 0c             	add    $0xc,%esp
423e89:	5e                   	pop    %esi
423e8a:	5b                   	pop    %ebx
423e8b:	c3                   	ret
423e8c:	55                   	push   %ebp
423e8d:	8b ec                	mov    %esp,%ebp
423e8f:	83 c4 f4             	add    $0xfffffff4,%esp
423e92:	53                   	push   %ebx
423e93:	56                   	push   %esi
423e94:	57                   	push   %edi
423e95:	8b f0                	mov    %eax,%esi
423e97:	8b 5e 28             	mov    0x28(%esi),%ebx
423e9a:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
423e9e:	0f 85 92 00 00 00    	jne    0x423f36
423ea4:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
423ea8:	75 05                	jne    0x423eaf
423eaa:	e8 11 a6 ff ff       	call   0x41e4c0
423eaf:	b2 01                	mov    $0x1,%dl
423eb1:	a1 20 21 41 00       	mov    0x412120,%eax
423eb6:	e8 5d f3 fd ff       	call   0x403218
423ebb:	89 45 fc             	mov    %eax,-0x4(%ebp)
423ebe:	33 c0                	xor    %eax,%eax
423ec0:	55                   	push   %ebp
423ec1:	68 19 3f 42 00       	push   $0x423f19
423ec6:	64 ff 30             	push   %fs:(%eax)
423ec9:	64 89 20             	mov    %esp,%fs:(%eax)
423ecc:	8b c6                	mov    %esi,%eax
423ece:	e8 05 ff ff ff       	call   0x423dd8
423ed3:	3b 05 a4 e8 46 00    	cmp    0x46e8a4,%eax
423ed9:	75 21                	jne    0x423efc
423edb:	8d 45 f6             	lea    -0xa(%ebp),%eax
423ede:	33 c9                	xor    %ecx,%ecx
423ee0:	ba 06 00 00 00       	mov    $0x6,%edx
423ee5:	e8 7a ed fd ff       	call   0x402c64
423eea:	8d 55 f6             	lea    -0xa(%ebp),%edx
423eed:	b9 06 00 00 00       	mov    $0x6,%ecx
423ef2:	8b 45 fc             	mov    -0x4(%ebp),%eax
423ef5:	e8 e6 24 ff ff       	call   0x4163e0
423efa:	eb 13                	jmp    0x423f0f
423efc:	8b c6                	mov    %esi,%eax
423efe:	e8 d5 fe ff ff       	call   0x423dd8
423f03:	8b d0                	mov    %eax,%edx
423f05:	33 c9                	xor    %ecx,%ecx
423f07:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f0a:	e8 49 b6 ff ff       	call   0x41f558
423f0f:	33 c0                	xor    %eax,%eax
423f11:	5a                   	pop    %edx
423f12:	59                   	pop    %ecx
423f13:	59                   	pop    %ecx
423f14:	64 89 10             	mov    %edx,%fs:(%eax)
423f17:	eb 17                	jmp    0x423f30
423f19:	e9 ca f7 fd ff       	jmp    0x4036e8
423f1e:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f21:	e8 22 f3 fd ff       	call   0x403248
423f26:	e8 d1 fa fd ff       	call   0x4039fc
423f2b:	e8 20 fb fd ff       	call   0x403a50
423f30:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f33:	89 43 0c             	mov    %eax,0xc(%ebx)
423f36:	5f                   	pop    %edi
423f37:	5e                   	pop    %esi
423f38:	5b                   	pop    %ebx
423f39:	8b e5                	mov    %ebp,%esp
423f3b:	5d                   	pop    %ebp
423f3c:	c3                   	ret
423f3d:	8d 40 00             	lea    0x0(%eax),%eax
423f40:	55                   	push   %ebp
423f41:	8b ec                	mov    %esp,%ebp
423f43:	83 c4 f4             	add    $0xfffffff4,%esp
423f46:	53                   	push   %ebx
423f47:	56                   	push   %esi
423f48:	57                   	push   %edi
423f49:	8b f2                	mov    %edx,%esi
423f4b:	8b d8                	mov    %eax,%ebx
423f4d:	b2 01                	mov    $0x1,%dl
423f4f:	a1 20 21 41 00       	mov    0x412120,%eax
423f54:	e8 bf f2 fd ff       	call   0x403218
423f59:	89 45 fc             	mov    %eax,-0x4(%ebp)
423f5c:	33 c0                	xor    %eax,%eax
423f5e:	55                   	push   %ebp
423f5f:	68 ce 3f 42 00       	push   $0x423fce
423f64:	64 ff 30             	push   %fs:(%eax)
423f67:	64 89 20             	mov    %esp,%fs:(%eax)
423f6a:	8b c6                	mov    %esi,%eax
423f6c:	8b 10                	mov    (%eax),%edx
423f6e:	ff 12                	call   *(%edx)
423f70:	50                   	push   %eax
423f71:	8b c6                	mov    %esi,%eax
423f73:	e8 04 22 ff ff       	call   0x41617c
423f78:	5a                   	pop    %edx
423f79:	2b d0                	sub    %eax,%edx
423f7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f7e:	8b 08                	mov    (%eax),%ecx
423f80:	ff 51 04             	call   *0x4(%ecx)
423f83:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f86:	8b 10                	mov    (%eax),%edx
423f88:	ff 12                	call   *(%edx)
423f8a:	8b c8                	mov    %eax,%ecx
423f8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
423f8f:	8b 50 04             	mov    0x4(%eax),%edx
423f92:	8b c6                	mov    %esi,%eax
423f94:	e8 0f 24 ff ff       	call   0x4163a8
423f99:	8d 55 f6             	lea    -0xa(%ebp),%edx
423f9c:	b9 06 00 00 00       	mov    $0x6,%ecx